Tool path generation with global interference avoidance for the robotic polishing of blisks

In the robotic polishing process, the tool and the blisk interfere easily because of the narrow operation space and seriously twisted curved surfaces. Algorithms are proposed to detect and avoid collisions with high efficiency and accuracy. First, the curved surface of the blade is discretized into a set of points, and the collision detection between the tool and the blisk is converted into the calculation of distances between the tool and points on blade surface. Then, the tool axial vector is adjusted with the minimum rotation angle to avoid collision, which reduces the impact on surface profile accuracy after changing the tool postures. The machining quality is finally guaranteed by controlling the material removal depth of the polishing process. The proposed method realizes the collision detection and interference avoidance of the blisk polishing effectively, while it also ensures the surface quality of workpiece when adjusting the tool posture. Simulation and experiments are carried out to verify the feasibility and advantages of the proposed method.


Introduction
As the core part of an aeroengine, the surface quality of the blisk affects the service life and efficiency of the engine directly. Therefore, it is necessary to polish the blisk after milling to improve the surface quality. Robots are gradually replacing labor and CNC machine tools in the polishing of the blisk because of its low cost, intelligence, flexibility, and large operating space [1,2]. Due to the complex geometric structure of the blisk, and its characteristics of distortion, deep, and narrow flow channel [3], the tool interferes with the blisk easily during polishing, which makes the trajectory design of the blisk polishing complicated and challenging. The research of non-interference polishing technology for blisk is significant to improve the processing quality and promote the development of advanced manufacturing technology for aviation equipment [4,5].
Generally, the interferences between the tool and blisk are divided into two types: local interference and global interference [6]. Local interference is the interference between the cutting edge and the tool contact point on the machined surface. It occurs when the tool radius is larger than the curvature radius at the contact point of the curved surface. When local interference occurs, the tool removes excessive materials near the contact point, which directly affects the quality of the machined surface. Global interference is the collision between the tool handle and the machining surface or other surfaces in the machining environment, which causes irreversible damage to the blisk and tool. A lot of scholars have conducted in-depth research on local interference, such as Ahmet [7], Lin [8], and Fard [9]. Many methods based on differential geometry and curvature analysis have been successfully applied in detection and correction of local interference for complex surface processing. For global interference, finding the best pose where tools do not collide with the workpiece is a process of repeated inspections and corrections, which requires a large amount of calculation [10]. Therefore, the handling of global interference is much more complicated and difficult than local interference. This article focuses on the research of global interference of the blisk polishing.
In existing studies, different collision detection and avoidance algorithms have been proposed for processing interference problems of curved surface machining. Wang et al. [11] proposed a method of constructing collision-free regions without interference checking. This method searches the critical points between the holder and surface and calculates the corresponding critical tool vectors. Then, the critical tool vectors are mapped to a two-dimensional space and the collision-free regions are constructed. Ilushin et al. [12] proposed a collision detection method that uses space subdivision techniques and ray-tracing algorithms to derive a highly accurate polygon/ surface-tool intersection algorithm. Ahmet et al. [7] proposed a method for determining the detection area and detection point based on the parameter area, and the interference is checked by calculating the maximum inclination of the connection between the tangential contact point and the detection point. Although this method is technically feasible, the calculation is large. Huang et al. [13] constructed a hierarchical OBB bounding box for the tool, which used the separation axis theory to identify the interference point, and realized the collision avoidance by adjusting the parameters of the tool and the tool bounding box vector. However, it does not consider the effect of changing tool posture on the surface quality of the workpiece.
From the above, it can be seen that existing methods of global interference detection and collision avoidance for curved surface do have contribution to check and avoid collision in order to achieve continuous and safe machining. However, existing methods do not consider the influence of the tool posture changes on the surface quality of the blisk. This paper proposes a method for generating a non-interference tool path by changing the tool axial vector to a safe posture with the minimum rotation angle in the plane where the maximum interference is located, which minimizes the impact on the surface quality of the blade after changing the tool postures. In addition, the machining quality is ensured by further adjusting the tool center point to control the material removal depth of the polishing.

Collision detection method
Path planning methods for complex curved surfaces include isoparametric curve method [14], section plane method [15,16], constant scallop-height method [17], and projection method [18]. The collision detection and avoidance methods in this article are not limited to the initial path planning method, i.e., different path planning methods can be selected according to needs. This paper uses the isoparametric method to generate the initial tool path of the blade. Initial tool postures CL f g N n¼1 in the workpiece coordinate system are as follows: CL ¼ p x ; p y ; p z ; n x ; n y ; n z ; t x ; t y ; t z h i ð1Þ where P = [p x , p y , p z ] is the tool position in the workpiece coordinate system, N = [n x , n y , n z ] is the unit normal vector of the tool contact point, and T = [t x , t y , t z ] is the unit vector of the tool axis.
The diagram of blisk polishing is shown in Fig. 1.

Discretization of blade surface
The collision detection between the tool and the blisk is an essential problem of judging whether the two sets of curved  Fig. 3 The tool is projected along the negative Z-axis surfaces intersect. However, the calculation of collision between the surfaces is less effective and more difficult. The polishing tool is a standard cylinder, and if the surface is discretized into a point set, the collision detection between the tool and the blisk is transferred to calculate the distance from the discrete point to the tool axis, which will improve the calculation efficiency. When processing a certain blade surface, the tool will only interfere with two adjacent surfaces of the same flow channel, so only the two surfaces need to be discretized. B-spline surface is adopted to construct the blade surface, which is defined as: In Eq. (2), P i, j (i = 0, 1, ⋯⋯m, j = 0, 1, ⋯⋯n) is the control vertex, N i, k (u) and N j, l (v) are the kth and lth B-spline basis functions defined along the u-direction and v-direction node vector respectively, where u and v are parameters of the surface.
As shown in Fig. 2, by setting Δu = Δv, the blade surface is uniformly discretized into a set of points along the u and v isoparameters. The coordinates of the discrete point F i = [x, y, z] corresponding to parameter (u, v) are obtained by Eq. (2). It should be pointed out that although the uniform parameter method is used to generate the initial tool path here, the proposed collision avoidance is not restricted to a certain tool path generation method. Some more complex algorithms such as the uniform scallop-height method [19] can also be chosen to generate initial tool path.

Simplification of discrete points
Theoretically, the higher resolution the surfaces are discretized, the higher accuracy the collision detection can reach. However, as the discrete resolution increases, the number of discrete points will increase. If collision detection is performed on all discrete points, the calculation load will be heavy. In order to reduce the calculation burden, it is necessary to exclude discrete points that are impossible to interfere with the tool, in order to reduce the number of discrete points for collision detection.
As shown in Fig. 1, the local workpiece coordinate system is established on the polishing blade. The origin of the LCS is the center point of the line connecting the two-blade roots on the surface of the blisk hub. The X-direction and Y-direction of the LCS are the tangent directions at the center point of the connection line, the normal direction of the hub surface passing the center point, respectively. The Z-direction is determined by the right-hand rule based on X-and Y-directions. The tool handle is projected to the surfaces of two blades along the negative and positive directions of the Z-axis in the workpiece coordinate system. Only discrete points located inside the tool handle projection may interfere with the tool.
As shown in Fig. 3, the tool is projected to the surface of the polishing blade along the negative direction of the Z-axis.
In order to judge whether the discrete points are in the projection of the tool handle, temporary coordinate system LCS ′ is created as shown in Fig. 3. The origin of LCS ′ is the tool position point and the coordinate axis directions are the vectors of B, U, and K respectively.
where U is the projected unit vector of the tool axis vector T on the XOY plane of the workpiece coordinate system, and K is the unit vector along the positive Z-axis of the workpiece coordinate system.
The transformation matrix from the workpiece coordinate system to the temporary coordinate system is: By noting F i;LCS 0 as the projection of the discrete point F i on the LCS′, the coordinates of the discrete point in the temporary coordinate system are calculated as: If the position of the discrete point F i;LCS 0 satisfies The point F i falls inside the projected section of the tool handle, where L 1 is the width of the polishing head, L 2 is the  Only the discrete points fall inside the projected section of the tool handle may cause collision. For the points that are not in the projected section of the tool handle, collision could not happen, and they are eliminated in the following collision detection task in order to reduce the calculation burden.

Collision detection
By comparing the shortest distance from the discrete point to the tool axis with the radius of the tool handle, it is judged whether the tool interferes with the machined surface of the blisk. The detection process repeats until all discrete points are traversed.
As shown in Fig. 4, F ′ is the projection of the discrete point F on the tool axis, and the shortest distance L from the discrete point to the tool axis is where α is the angle between PF ! and PF 0 ! , with By noticing R 2 as the radius of the tool handle and ds as the safe distance, if the tool and the blade collide at this tool position. As shown in Fig. 5, the detection process repeats until all discrete points are traversed.

Collision avoidance when the tool interferes with the polishing blade
At the tool location point P where the collision occurs between the tool and the polishing blade, all discrete points in the projected section of the tool handle are traversed to calculate the shortest distance L a between the tool axis and the discrete points that have interference with the tool. By noting the coordinates of the discrete point corresponding to the shortest distance as F a , the projected coordinate F a ′ on the tool axis is where T is unit vector of the tool axis. As shown in Fig. 6, in the plane M where the tool position point P, the discrete point F a and its projection point F a ′ are located, and the tool position point P is used as the fulcrum to rotate the tool until the distance L from the discrete point to the tool axis satisfies the following formula.
where ds is the safe distance between the tool and the blisk. The tool can be adjusted to a safe orientation with the minimum rotation angle θ when rotating the tool in plane M. The minimum rotation angle of the tool axis is calculated by the following formula.
The change of the tool posture has the least impact for the blade surface machining quality when rotating the tool shaft  ) after collision avoidance is: Changing the tool axis vector will change the bonding state of the tool's grinding head and the blade surface, which causes excessive polishing and affect the surface quality of the workpiece. Therefore, further processing is required to meet the machining accuracy requirement. Whether the machining accuracy meets the requirement is checked by calculating the material removal depth h of the blade surface after rotating the tool.  where L 1 is the width of the polishing head, R 1 is the radius of the polishing tool head, h is the material removal depth of the blade's surface after machining, and ε is the error constraint value.
If the material removal depth does not meet the requirement of machining accuracy, the tool needs to move a certain distance along the normal vector of the tool contact point to satisfy the requirement. After that, the tool axis vector remains unchanged, and the new tool position point P ' is calculated by the following formula.
where P ' is the final interference-free tool position, N(n x , n y , n z ) is the normal vector at the tool contact point, and the material removal depth h is the translation distance along the normal vector.
The flow chart of the proposed collision avoidance method in this section is summarized in Fig. 7.

Collision avoidance treatment when the tool interferes with the adjacent blade
If interference occurs between the tool and the adjacent blade, the tool rotation angle is calculated according to Eq. (11) and Eq. (12), and then the tool is lifted according to Eq. (14) and Eq. (15). The lifting direction is opposite to the rotating direction relative to the polishing blade surface. The tool may interfere with the blisk after being lifted. Therefore, it is necessary to perform iterative calculation. The collision avoidance processing operation should be performed iteratively until non-interference occurs between the tool and the adjacent blade after rotating and lifting the tool. The distance between the discrete point F a and the tool axis is where j is the number of collision avoidance cycles, ds is the safe distance between the tool and the blisk, and R 2 is the radius of the tool handle.
The rotation angle of the tool θ is: The follow-up processing is the same as that in Section 3.1; therefore, details of the mathematical calculations are not repeated here.

Simulation
Visual Studio is used to design the simulation environment of the blisk interference-free tool path generation based on the secondary development of NX 12.0. The experiment is divided into three parts, namely initial tool path generation, collision detection, and tool posture correction.
Through the secondary development of NX 12.0, the key information such as the normal vector and curvature of the blade surface is extracted, and the tool path is planned on the surface using the isoparametric method to generate the initial tool path as shown in Fig. 8 [20].
First, interference detection is performed on the initial tool path by using the developed program based on the proposed algorithm in Section 2. As shown in Fig. 9, two interference  If the interference is detected, the minimum adjusting angle of the tool is calculated to adjust the tool to a safe posture by using the developed program based on the proposed method in Section 3. Comparisons are performed with the collision avoidance method proposed by Cai [21], which rotates the tool along the normal direction of the interference point to avoid collision. In the tests, there are 22 tool positions that have interference between tool and the polishing blade on one of the tool paths. The rotation angles of the two methods for collision avoidance are shown in Table 1.
Through the comparison, it can be seen that the rotation angles obtained by the proposed method are smaller, which reduces the impact on blade's surface processing quality after changing the tool postures.
After adjusting the postures of the tool, the bonding state between the surface of the polishing tool head and the surface of the blade is changed, which causes excessive polishing of the machined surface and affect the processing quality. Taking the above collision points as an example, the material removal depth comparison after rotating the tool posture is shown in Fig. 10.
It can be clearly seen from Fig. 10 that rotating the tool posture will cause an over-polish of the blade surface. The maximum material removal depth can reach 0.308 mm, which causes overpolishing and affects the processing quality of the blisk seriously. After lifting the tool using the proposed method in Section 3, the over-polishing is eliminated effectively. The distance between the polishing head and the blade surface is controlled within 0-0.02 mm. The force control mechanism can control the grinding head to fit the blade surface for polishing effectively. Finally, an interference-free tool path that meets the processing requirements is generated. In addition, the tool posture before and after collision avoidance treatment is shown in Fig. 11.
There are seven tool positions that have interference between the tool and the adjacent blade on another tool path. The tool posture before and after collision avoidance is shown in Fig. 12.
The rotation angle and the material removal depth before and after treatment during collision avoidance treatment are shown in Table 2. It can be seen that the material removal depths of generated tool pose satisfy the accuracy requirement after adjusting the tool orientation and position. The force control mechanism can control the grinding head to fit the blade surface during the polishing process.

Experiment verification
Comau robot is used to perform interference-free polishing experiments of the blisk in this paper. As shown in Fig. 13, in view of the great change of curvature at different positions on the blisk, we use the two DOFs force control mechanism to polish the  blisk. It can adjust the contact force direction in real time at different contact points on the surface, so that the direction of the polishing force is consistent with the normal direction of the contact point. For more details of the contact control using the two DOFs force control mechanism, the reader can refer to [22].
In experiments, the polishing tool path is generated by using the proposed non-interference tool path generation method, and actual polishing tests are conducted on the blisk. Part of the initial tool path and the processed interference-free tool path are shown in Fig. 14 and Fig. 15. As shown in Fig. 16, the interference-free polishing of the blisk is effectively realized in the actual machining process.
The blade surface roughness is analyzed to further verify the machining quality of the proposed method. The surface roughness of the blade before and after polishing is shown in Fig. 17. It can be seen that the surface roughness of the blade before polishing is 1.406 μm and the surface roughness of the blade after polishing is 0.358 μm. The effect of polishing is obvious.
In summary, it can be seen that the interference-free tool path generation method of the blisk polishing in this paper does not only achieves collision detection and collision avoidance, but also ensures the machining quality of workpiece surface.   In order to address the problem of the interference in the polishing process of the blisk, this paper proposes an interference-free tool path generation method of the blisk polishing. The main conclusions are as follows: (1) The distance between the discrete points on the surface of the blade and the axis of the tool is used to determine whether the tool and the blisk have collision, which improves the efficiency of collision detection. (2) If the collision is detected, the tool axial vector is adjusted through the minimum rotation angle to avoid collision, which reduces the impact on blade's surface quality after changing the tool postures. (3) The tool posture after collision avoidance is further adjusted in order to control the material removal depth within the preset limitations, which ensures the quality of workpiece surface.
Simulation and experiments verify that the proposed method realizes the collision detection and avoidance of the blisk polishing effectively. The surface quality of the workpiece is also guaranteed after adjusting the tool posture to avoid interference.