Vladimir KVRGIĆ, Miroslav VASIĆ, Vladimir ČARAPIĆ, Jelena VIDAKOVIĆ, Velimir KOMADINIĆ
Lola Institute, Kneza Višeslava 70a, Belgrade,Serbia
, , , ,
Abstract:Turning, 5-axis milling, drilling and boring in only one setup is very useful, which is possible on 5-axis turning centres. In this paper,we present the solution for forward and inverse kinematics of this type of machine with two linear and three rotational axes. The solution allows for programming the machine motion as if the machining were performed on a 5-axis gantry milling machine.With given control algorithm we facilitated machine programming, because tool positions and orientations required for programming are determined disregarding the workpiece swivelling during machining and current positions and orientations taken by the tool during machining relative to the workpiece.
Key words: Vertical five-axis turning center, programming, control algorithm
1Name of the author, title, company, address and e-mail.
2Name of the author, title, company, address and e-mail.
- INTRODUCTION
Currently, the precision and productivity that users demand from the 5-axis machining of complex work piece surfaces is gradually increasing. To satisfy these requirements, different structures of 5-axis machines were developed. The aim of this paper is focused on the development of a multifunctional vertical 5-axis turning centre that allows for turning and 5-axis milling and drilling and threading at the displaced work table centre and at various angles. To provide the possibility for the machine to perform more types of machining in a single setup, time can be saved by relocating the work piece from one machine to another. This significantly increases the machining productivity and accuracy.
With regard to the vertical lathes, the best 5-axis milling and drilling performances on these machines are achieved by placing a rotary turning table on the Y-axis slider, which has an overall travel that is longer than the maximum diameter of turning [1]. Here, the work table becomes the axis of auxiliary motion (Cy swivelling axis). For 5-axis machining, the machine has turning, milling and drilling units, with the possibility of accepting a single-axis head with a Bt axis. In this way, the vertical lathe becomes a vertical 5-axis gantry milling machine with X, Y, Z, Bt and Cy axes. Using such a machine presents great possibilities. One drawback, however, is the complicated, long and heavy base of the Y-axis slider. In addition, these machines are very expensive. They also require a large workshop space.
Moreover, there are also lathes with the Cy axis and a small Y axis (up to 200 mm), which are placed on the ram and carry an angular head along the Bt axis. These machines cannot achieve 5-axis milling across the entire work table.
The present paper deals with the development of a vertical 5-axis turning centre, where the work table becomes the Cy axis. The swivelling of this axis, with a cutting tool motion along the X axis according to the corresponding law, produces motion corresponding to the motion along the Y axis. The turning, drilling and milling units can accept the replaceable 2-axis angular head. In this way, a machine with 2 linear and 3 rotational axes can be obtained. This is a machine with Cy, X, Z, Bt and Ct axes. The working mechanism of this machine is illustrated in Fig. 1.
Fig. 1. 3D model of the vertical 5-axis turning centre
The forward and inverse kinematics for different kinds of 5-axis milling machines have been presented and discussed in many papers, such as in [2] or [3]. Kinematic chain design and the utility of different kinds of 5-axis machines are discussed in [4]. In this work, the forward and inverse kinematics have been solved for the vertical lathe with 2 linear and 3 rotational axes, which, for the 5-axis milling, should realise the motion accomplished by 3 linear and 2 rotational axes. Consequently, the given control algorithm enables programming tool locations in milling or drilling as if it were machining on a 5-axis gantry milling machine. This has been done for a machine with an angular head, with axes that do not intersect, as shown in Fig. 2.
Fig. 2. Two-axis angular head with non-intersecting axes
The angular head increases the machining possibilities and helps to avoid some singular positions of the machine work table. The control algorithm for the work table axis, Cy, and the angular head axis, Ct, has been given, eliminating a number of their singular positions. All of the above have additionally made solving the forward and inverse kinematics more complex.
- COORDINATE FRAMES OF MACHINE COMPONENTS AND MATRICES DETERMINING THEIR RELATIONS
This section defines the coordinate frames for the components of a vertical 5-axis turning centre and the matrices determining their relations. The machine components, their links and their coordinate frames are denoted using the Denavit-Hartenberg convention (D-H) [5, 6]. The machine is viewed as a system with two entities performing a cooperative motion; one entity comprises a swivelling work table with a work piece, and the other is a serial mechanism with four links carrying the cutting tool. The machine base is denoted by 0, the serial components are denoted by 1 for the X axis, 2 for the Z axis, 3 for the Ct axis and 4 for the Bt axis, and the work table axis (Cy) is denoted by 5. The first two serial links are translational, and the other two are rotational; therefore, the corresponding axis variables are d1=dx, d2=dz, θ3=θCt and θ4=θBt. The angle of the work-table rotation is denoted by θ5=θc. This angle is the fifth axis variable. The adopted convention specifies that the angle θ3 is positive when the component’s 3 rotation is in the negative mathematical direction, and the angles θ4 and θc are positive when the component’s 4 rotation and the rotating table are in the positive mathematical direction. The thermal dilatation along the X and Y axes are denoted by δxc and δyc. Fig. 3 shows the frames for machine components.
Fig. 3. Coordinate frames of the vertical 5-axis turning centre components
Parameters D-H of the machine components are given in Tab. 1.
Table 1. D-H parameters of vertical 5-axis turning centre components
Link /1-X
/2-Z
/3-Ct
/4-Bt
/5-Cy
Variable / d1 / d2 / (-)θ3= θCt / θ4 / Ca [mm] / 0 / 0 / a3 / 0 / δxc
ay [mm] / 0 / 0 / 0 / 0 / δyc
d [mm] / d1c / 0 / 0 / 0 / 0
α [º] / α1=-90 / 0 / α3=90 / α4=-90 / 0
θ[º] / θ1a=90 / 0 / θ3a=90 / 0 / 0
The homogenous matrix that transforms the coordinates of a point from frame xnynzn to frame xmymzm is denoted by nTm. This matrix, which describes the relation between one link and the next, is called Ai=A(i-1,i) [6]. The following homogenous matrices for the relation between the coordinate frames of the machine links are defined to derive the kinematic equations for the machine. By using the convenient shorthand notation,and , the transformation matrices defined above are written as follows:
/ (1)/ (2)
/ (3)
/ (4)
/ (5)
2.1.Forward kinematics
Forward kinematics are used to calculate the tool position and orientation, X, Y, Z, Bt and Ct, with respect to the machine axis variables, d1, d2, θ3, θ4 and θc. It is obvious from Fig. 3 that the component 4 position and orientation relative to the machine base is given by the equation:
/ (6)The tool location relative to the rotating work piece is determined by the matrix:
/ (7)Here, 4Tt is tool position matrix relative to the component 4, lt is the length and rt is the radius of the tool (Fig. 3). By using the tool orientation matrix, [noa], and Eq. (7), the tool orientation angles can be determined.
2.2.Inverse kinematics
Inverse kinematics are used to determine the axes variables d1, d2, θ3, θ4 and θc by using the desired cutter location, X, Y, Z, -ax5, -ay5 and -az5, given in the CL data file, or using X, Y, Z, Ct and Bt given in G code. The control unit, during machining in each interpolation period, determines the tool locations and corresponding positions of the machine axes.
The given control algorithm eliminates some of the singular positions of the rotating table and the head axis, Ct.
By virtue of the tool position and the orientation relative to the rotating table and given by the matrix, Tt, Eq. (7), we will determine the machine components positions. The position of component 4, with respect to the rotating table, is defined by the expression:
/ (8)If we program the machine using G code, we could, using parameters X, Y, Z, Ct and Bt, calculate the matrix, T5. If we program the machine by a CAM system, we could first calculate Ct and Btthen calculate the matrix, T5.
By multiplying both sides of Eq. (6) by matrix Ac on the left side, we obtain:
/ (9)In Eq. (9), we calculate the terms of matrix T5 by Eq. (8). Multiplying Eq. (9) consecutively by , then by and lastly by on the left side, we obtain:
/ (10)From the previous equations one can easily calculate axes variables d1, d2, θ3, θ4 and θc.
- ALGORITHM FOR CALCULATION OF THE TABLE ROTATION ANGLE θc
The X axis feed will be limited so that the cutting tool moves from the table centre to the maximum positive value. To achieve this, and also taking into consideration that the value of X5 can be negative, the table swivelling angle θc should be in the minimum range of [-180º,180º]. To reduce the additional positioning of the table and the angular head during milling, the table swivelling angle θc will be adopted in the range of [-360º+θc90,360º+θc90]. Hence, it is necessary to extend the range of angle θc, from [-90º,90º] to [-360º+θc90,360º+θc90]. To achieve this, but also to avoid the uncontrolled work table swivelling in singular positions by approximately ±180º or ±360º, this paper proposes a novel algorithm for calculating angle θc. It consists of three steps, presented below.
Step 1. Step 1 involves the calculations of angle θc. The range of angle θc obtained here is [-180º,180º]. Let angle θc be denoted by θcprev for the previous interpolation period. The angle θc increment for the next interpolation period will be:
/ (11)Step 2. In Step 2, we check if the value of angle θc, calculated in Step 1 for a single interpolation period, changes by approximately or . The procedure, presented below, makes this changing impossible and, if necessary, extends the range of the angle θc from [-180º,180º] to [-360º,360º]. For calculation of angle θc in the next interpolation step, the value will be assigned as .
Step 3. In Step 3, angle θc is determined for the case of . First, by using expression (9), the value of angle θc90 is calculated. Using this and the value of angle θc obtained in Step 2, the range of angle θc is extended from [-90º,90º] to [-360º+θc90,360º+θc90].
The difference between angle θc90, obtained by expression (9), and angle θc as calculated in Step 2 will be denoted by:
/ (12)- PROGRAMMING OF THE 5-AXIS VERTICAL TURNING CENTRE
The programming of the 5-axis milling, drilling and boring operations on the vertical turning centre are performed by a CAM system or by G code [1] in the machine base coordinates x0y0z0 (Fig. 3) as if it were machining on a 5-axis gantry milling machine, where the work piece is fixed.This is possible because the solutions for the forward and inverse kinematics proposed in this work allow for the tool locations relative to the swivelling work piece to be identical to the tool locations relative to the fixed work piece. This will essentially facilitate machine programming. Using G code, the tool direction is given in the X, Y, and Z coordinates, and the tool orientation is given in Euler or RPY angles or by the tool direction vector, which points from the tool tip towards the tool holder. If we define the approach vector as a=ax5i+ay5j+az5k, which lies in the zt direction from which the tool approaches the work piece (Fig. 3), the tool direction vector components will be -ax5, -ay5 and -az5. Here, i, j and k are unit vectors along the x0, y0 and z0 machine base coordinates. Using a CAM system, the output is the tool-path, which is defined by the cutter locations, X, Y, Z, -ax5, -ay5 and - az5, which define the tool positions and the tool direction vectors with respect to the work piece coordinate system, given in the CL data file [2, 3, 5]. The tool-path between two CL points is a straight line relative to the work piece.
The following step after the tool-path generation is post-processing, where the program is translated to a specified machine and control unit [2]. The postprocessor converts the CL motion commands from the CL data file to the motion commands of the NC program (in G code).
Finally, the tool-path is converted into a sequence of consecutive positions of machine axes that will produce the desired tool locations (inverse kinematics). The controller used in this work calculates the path interpolation and the inverse kinematics in real-time [7].
- CONCLUSION
It has been shown that, on a 5-axis turning centre with 2 linear and 3 rotational axes, in addition to the turning, it is possible to achieve 5-axis milling, drilling and boring identical to that of a milling machine with 3 linear and 2 rotational axes. A control algorithm to achieve this was presented. Using this algorithm, machine programming is possible in the same way that it is done for a 5-axis milling machine, which essentially simplifies writing themachining program or taking over the CL data file from CAM systems developed for the milling machines.
Forward and inverse kinematics, based on the D-H formulation, has been solved for the case of utilising the 2-axis angular head with non-intersecting axes.The proposed control algorithm was tested on the off-line programming system of the controller developed at the Lola Institute. This controller was obtained by extending the Lola-Industrial Robot Language [7] with the commands for a machine tool by integrating the new solutions for the forward and inverse kinematics of a vertical 5-axis turning centre in it and by adapting its trajectory planner to novel tool-motion commands.
The control algorithm for the angular head with intersecting axes is simplified. Also, this algorithm extends the table swivelling angle range to approximately ±360º. Thus, additional positioning of the work table and the angular head during machining is decreased.
ACKNOWLEDGEMENTS
This research is supported by the Ministry of Science and Technological Development of Serbia under the project: Research and development of the new generation of vertical 5-axis turning centre (2008-2010), no. 14026.
REFERENCES
[1]López de Lacalle, L.N., Lamikiz, A. (2008) Machine Tools for High Performance Machining, Springer Verlag, ISBN: 978-1-84800-379-8
[2]Lee, R.S., She, C.H., (1997) Developing a postprocessor for three types of five-axis machine tools, Int J Adv Manuf Technol, 13(9) 658–665
[3]Sørby, K., (2007) Inverse kinematics of five-axis machines near singular configurations, Int J of Machine Tools & Manufacture, 47 299–306
[4]Bohez, E.L.J., (2002) Five-axis milling machine tool kinematic chain design and analysis, Int J of Machine Tools and Manufacture. 42 505–520
[5]Lee, R.S., Lin, Y.H. (2010) Development of universal environment for constructing 5-axis virtual machine tool based on modified D–H notation and OpenGL, Robotics and Computer-Integrated Manufacturing, 26 253–262
[6]Paul, R.P., (1984) Robot manipulators: Mathematics, Programming and Control, The MIT Press, Cambridge MA
[7]Pavlović, M., Kvrgić, V., Velašević, D., (1994) L-IRL: High Level Programming Language for Robots, In Proc of the European Robotics and Intelligent Systems Conference, Malaga, Spain