MEV Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 Journal of Mechatronics, Electrical Power, and Vehicular Technology e-ISSN: 2088-6985 p-ISSN: 2087-3379 mev.lipi.go.id doi: https://dx.doi.org/10.14203/j.mev.2023.v14.1-10 2088-6985 / 2087-3379 ©2023 National Research and Innovation Agency This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/) MEV is Scopus indexed Journal and accredited as Sinta 1 Journal (https://sinta.kemdikbud.go.id/journals/detail?id=814) How to Cite: N. J. Ramadhan et al., “Five-axis parallel mechanism system (PMS) CNC partial link control system based on modified inverse kinematic of 6-DOF UPS parallel manipulator,” Journal of Mechatronics, Electrical Power, and Vehicular Technology, vol. 14, no. 1, pp. 1-10, July 2023. Five-axis parallel mechanism system (PMS) CNC partial link control system based on modified inverse kinematic of 6-DOF UPS parallel manipulator Nur Jamiludin Ramadhan a, *, Indrawanto b, Hoe Dinh Nguyen c a Department of Manufacturing Automation and Mechatronics Engineering, Bandung Polytechnic for Manufacturing Kanayakan St. No. 21, Dago, Coblong, Bandung, 40135, Indonesia b Faculty of Mechanical and Aerospace Engineering, Bandung Institute of Technology Jalan Ganesha 10, Bandung 40132, Indonesia c Faculty of Vehicle and Energy Engineering, Phenikaa University P. Nguyễn Trác, Yên Nghĩa, Hà Đông, Hà Nội, Vietnam Received 10 March 2023; Revised 4 April 2023; Accepted 2 May 2023; Published online 31 July 2023 Abstract This paper presents a control system algorithm for a five-axis parallel mechanism system (PMS) CNC milling machine based on a 6-DOF Stewart platform parallel manipulator with a universal-prismatic-spherical (UPS) configuration. The control system reads the G-Code commands as standard CNC machine language, then extract data points and interpolates them to generate the robot trajectory patterns as motion references. Then, the control system uses the modified inverse kinematic equation to determine the length of each link to move the end effector to track the trajectory patterns from the previous G- code extraction process. The inverse kinematic equation is modified especially for the five-axis PMS CNC milling machine by including machine-offset and tools-offset parameters so it will be easier for the control system to implement the kinematic equation. As expected, the system simulation results successfully followed the G-Code program moving commands. The average error of the length control system is 0,1 mm, while the average error of the length change rate control system is 1,8 mm/s. The maximum error is 26.9 mm was caused by the system's inability to follow the motion profile in transient. It can be concluded that 6-DOF Stewart platform parallel structures, which provide better performance than serial structures, can be implemented as a new concept for the motion mechanism of five-axis CNC milling machines. The five-axis PMS CNC milling machine also promises better performance than conventional five-axis gantry structures CNC. Copyright ©2023 National Research and Innovation Agency. This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/). Keywords: Stewart platform; parallel manipulator; parallel mechanism structure; machine tools; CNC control system. I. Introduction A robot with a parallel structure has a kinematic configuration with a closed chain type, meanings that each link is connected to the origin [1][2]. This configuration will give a better performance in the value of accuracy, acceleration at high speeds, and high stiffness [3] compared to the serial structure [4][5]. The advantages of the parallel robot make it possible to be implemented as a new concept for the five-axis CNC machine mechanism [6][7]. CNC machines generally use cantilever or gantry structures with some limitations due to their mechanical design [8]. In gantry structures each axis of a CNC machine is driven by one actuator, this structure requires a large power drive system, a highly precise control system, and a sturdy and large mechanical structure. CNC machine with a parallel robot motion mechanism (called parallel mechanism system CNC / PMS CNC in this paper) could minimize some of these losses, this structure could minimize the movement of heavy structures [9][10][11]. Five- axis PMS CNC milling machine only moves motor spindle, in contrast the work pieces and machine table are static. Whereas conventional five-axis gantry structures CNC has to move not only the motor spindle but also the machine table and the * Corresponding Author. Tel: +62-812-2048-3148 E-mail address: nj_ramadhan@polman-bandung.ac.id https://dx.doi.org/10.14203/j.mev.2023.v14.1-10 http://u.lipi.go.id/1436264155 http://u.lipi.go.id/1434164106 https://mev.lipi.go.id/mev https://mev.lipi.go.id/mev https://dx.doi.org/10.14203/j.mev.2023.v14.1-10 https://creativecommons.org/licenses/by-nc-sa/4.0/ https://sinta.kemdikbud.go.id/journals/detail?id=814 https://crossmark.crossref.org/dialog/?doi=10.14203/j.mev.2017.v8.1-10&domain=pdf https://creativecommons.org/licenses/by-nc-sa/4.0/ N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 2 work pieces. This will make five-axis PMS CNC milling machine achieved higher speed and acceleration. It will also have higher accuracy, because the relative error of the actuator is distributed [12][13] and requires fewer static and dynamic components [14][15]. Machine operating costs also become smaller due to lower energy consumption and higher feed speeds compared to conventional structure CNC machines [16]. A limitation to PMS CNC machines is that they are less able to achieve the higher machining tolerances of conventional machine tools due to relative differences in structural rigidity and tool deflection and challenges associated with control algorithms [17][18][19], component miss-alignments and sensor capability [20][21][22]. A widely researched aspect of PMS machine tools is in kinematic and dynamic modeling [23] also in improvements of PMS implementation as machine tools for industrial applications. In the work of Minh-Nha Pham et al. results show that the parameterized finite element model precisely predicts mode shapes and natural frequencies for several poses of the mobile platform. The accurate simulation model will be essential for optimizing the performance of the hexapod for machining tasks [24]. Alesandro Stabile et al. proposes boundary conditions on the isolation properties of parallel manipulators. It was shown that high-frequency performance cannot be achieved by the state-of-the- art all-rotational joint systems and is achiveable by parallel mechanism systems [25]. The study done by Barnfather, J. D et al. investigate how the widely researched robotic machining challenges to achievable tolerance ranges in real-world production and highlights achievable tolerances in low-cost robotic machining and opportunities for improvement, also providing a practical benchmark useful for process selection [26]. Previous research shows that PMS CNC is capable of handling previous machining tasks and is suitable to be implemented as a milling machine in the manufacturing process. However, no research and study implement this machine configuration in real CNC milling machining applications. The work reported in this paper is significantly focused on the development of a control system simulation of a five-axis PMS CNC milling machine based on a 6-DOF (degree of freedom) Stewart platform parallel robot [27] which can read G-Code command file as a standard CNC machine program. The control system reads the G- Code commands then extract data points and interpolates them to generate the robot trajectory patterns as motion references. The control system then uses the modified inverse kinematic equation to determine the length of each link to move the end effector to track the trajectory patterns. System control response is analyzed from the simulation of linear motor actuator model with known parameter values from the previous research [27]. II. Materials and Methods The five-axis PMS CNC milling machine consists of a mechanical system and a motion control system specially engineered for controlling special parallel robot mechanism. The main component of the mechanical system is the Stewart platform 6 UPS parallel robot and the machine frames. Robot motion is simulated in a 3D cartesian space coordinate system to show the ability of the robot to move as the CNC milling machine mechanism. General CNC machines motion control system cannot be used to control five-axis PMS CNC milling machine because of the different mechanism. A special motion control system is engineered to be able to control parallel robot motion and also suitable for use as a CNC machine operation control. The control system reads the G-Code data point and interpolates it to generate robot trajectory as references for robot motion patterns. Then the control system uses an inverse kinematic equation to determine the length and calculate the difference of ink length for each interpolated point derived by time to determine the length change rate of each link. The Cascade PI control method is implemented to control robot link length and link length change rate to move the end effector to track the trajectory. PI control was chosen because of the system’s need to speed up the settling and integral control to reduce the error rise time and the steady-state errors of the system. Derivative components from the controller can create heavy instability and oscillation, so it is set to be very small close to zero or negligible because the milling machine's main control purpose is to reduce the steady-state errors of the system without causing risk of oscillation to ensure the processed work pieces are formed according to the g-code commands and does not have a wavy texture. A. Parallel robot design Stewart platform manipulator used in this study consists of a movable platform that is connected to a base through 6 feet. These legs have kinematics that is identical to the universal-prismatic-spherical (UPS) configuration. The length of the prismatic manipulator will be controlled to perform platform movements. The Stewart platform robot used in this research is previously developed at The Bandung Institute of Technology at Mechanical Engineering Laboratory [27]. The parallel robot is attached upside down on top of the CNC machine frame. Figure 1 shows the 6 DOF Stewart platform robots used in this study. Figure 1. Design of 6-DOF Stewart platform (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 3 Table 1 shows the kinematic specification of the parallel robot and it is illustrated in Figure 2. The kinematic specification is a set of paramater of the parallel robots which specifically distinguish it from the others parallel robot. θp is the angle difference in joint position at parallel robot’s platform, while θb is the angle difference in joint position at the base. Platform is term used to denote a moving part of parallel robot, while base is term used to denote a fixed static part. The parallel robot used in this study has 30° joint position at the platform and 20° joint positions at the base. To determine the position of joints, the angle variables is not enough, radius of joint position is also needed. rp is the radius of joint position at platform and rb is the radius of joint position at the base has to be determined. Real robot actuator is limited in stroke length. There is robot movements limitations according to link’s possible length which is noted by Li notation. B. Inverse kinematics equation Calcutating platform displacement as a function of changes in actuator length is illustrated clearly in Figure 3. The origin coordinate system BXYZ is attached to the center of the base and the origin coordinates TXYZ are located at the center of the moving platform. Points Bi represents the joint position at the base while Ti represents the joint position at the moving platforms. These joints are placed on the base and the moving platform with an angle of separation between the points (T2 and T3, T4 and T5, T1 and T6) denoted by θp as shown in Figure 3(b). In the same way, the angle of separation between points (B1 and B2, B3 and B4, B5 and B6) is Table 1. Kinematic specification Parameter Unit θp 30° θb 20° rp 170 mm rb 350 mm Li 490 – 740 mm (a) (b) Figure 2. Kinematic specification illustration of (a) base; (b) platform (source: personal collection) Figure 3. Stewart platform kinematics diagram: (a) full system; (b) platform only (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 4 denoted by θb. From Figure 3(b), the location of the joints marked with a point Ti on the moving platform can be found in the equation (1). rp is the radius of joint position at the moving platform while rb is the radius of joint position at base platforms. Using the same approach, the location of the point marked with the point (Bi) on the base platform can be obtained from the equation (2). The general equation of each joint platform follow this equations. 𝑇𝑖 = � 𝑇𝑥𝑖 𝑇𝑦𝑖 𝑇𝑧𝑖 � = � 𝑟𝑝 cos(𝜆𝑖) 𝑟𝑝 sin(𝜆𝑖) 0 �� 𝜆𝑖 = 𝑖 𝜋 3 + 𝜃𝑝 2 ; 𝑖 = 1,3,5 𝜆𝑖 = 𝜆𝑖−1 + 𝜃𝑝 ; 𝑖 = 2,4,6 (1) 𝐵𝑖 = � 𝐵𝑥𝑖 𝐵𝑦𝑖 𝐵𝑧𝑖 � = � 𝑟𝑝 cos(Λ𝑖) 𝑟𝑝 sin(Λ𝑖) 0 �� Λ𝑖 = 𝑖 𝜋 3 + 𝜃𝑏 2 ; 𝑖 = 1,3,5 Λ𝑖 = 𝜆𝑖−1 + 𝜃𝑏 ; 𝑖 = 2,4,6 (2) The position of the end-effector can be represented by the position vector, P equation (3) while the orientation is represented by the rotation matrix RBT equation (4). The rotation matrix is determined by the roll, pitch, and yaw angles, namely rotation on the X-axis, noted by RX(α), followed by rotation on the Y-axis, RY(β), and rotation, namely rotation on the Z-axis, RZ(γ). In this way, the rotation matrix of the moving platform corresponding to the base platform coordinate system is obtained. The position vector P represents the displacement vector from the moving platform to the base. So, the rotation matrix and the position vector are described in equation (3) to equation (13), 𝑃 = � 𝑃𝑥 𝑃𝑦 𝑃𝑧 � (3) 𝑅𝑇𝐵 = 𝑅𝑍(𝛾). 𝑅𝑌(𝛽). 𝑅𝑋(𝛼) = � 𝑟11 𝑟12 𝑟13 𝑟21 𝑟22 𝑟23 𝑟31 𝑟32 𝑟33 � (4) 𝑟11 = cos(𝛽) . cos(𝛾) (5) 𝑟12 = sin(𝛼) . cos(𝛽) . cos(𝛾) − cos(𝛼) . sin(𝛾) (6) 𝑟13 = sin(𝛼) . sin(𝛾) + cos(𝛼) . sin(𝛽) . cos(𝛾) (7) 𝑟21 = cos(𝛽) . sin(𝛾) (8) 𝑟22 = cos(𝛼) . cos(𝛽) + sin(𝛼) . sin(𝛽) . sin(𝛾) (9) 𝑟23 = cos(𝛼) . sin(𝛽) . sin(𝛾) − sin(𝛼) . cos(𝛾) (10) 𝑟31 = − sin(𝛽) (11) 𝑟32 = sin(𝛼) . cos(𝛽) (12) 𝑟33 = cos(𝛼) . sin(𝛽) (13) The length of each link matrix noted by notation Li can be determined by equation (14), 𝐿𝑖 = 𝑅𝑋𝑌𝑍. 𝑇𝑖 + 𝑃 − 𝐵𝑖 (14) Because the robot base is attached to the top of the machine frame, it is simpler to define the machine offset parameter equal to the distance of the machine origin position to the robot base (noted by notation M). Then, because of the spindle and cutting tool attached to the platform, the end- effector position and orientation will be moved to the end point of the cutting tool. The equation is then modified by adding the cutting tool offset (noted by notation C) parameter to the previous equation. The equation to determine the matrix of link’s length Li is modified as shown in equation (15). Remember that Li is vector in the cartexian space and cannot be used for actuator control system set point. It is needed to determine the magnitude length of each link by simply calculate each link using equation (16), 𝐿𝑖 = 𝑅𝑋𝑌𝑍. 𝑇𝑖 + 𝑃 + 𝑅𝑋𝑌𝑍. 𝐶 − 𝐵𝑖 − 𝑀 (15) 𝑙𝑖 = ‖𝐿𝑖‖ (16) C. Partial Link Control Method By considering the characteristics of the component used in the control system, it can be seen that both the linear potentiometer sensor component and the linear actuator component have linear characteristics. The application of conventional control algorithms is very suitable to be applied to systems with linear characteristics, considering the ease of application. The control system design is depicted in the main control system block diagram shown in Figure 4. The block diagram of the control system applies to controlling the movement of each linear actuator simultaneously. Each actuator is controlled by the same control algorithm but gets a different input motion profile depending on the position set-point and speed set-point that must be achieved. Figure 5 shows the control system block diagram for each Figure 4. Main control system block diagram (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 5 actuator. DC Motor Mathematical model can be written with equation (17), �̇� 𝑉 = 𝐾𝑡 (𝐽𝑚.𝐿𝑎)𝑠2+(𝐿𝑎.𝐵𝑚+𝑅𝑎.𝐽𝑚)𝑠+(𝐾𝑡.𝐾𝑣+𝐵𝑚.𝑅𝑎) . 𝑟𝑏𝑠 (17) System identification is carried out on the system output by performing Inverse Laplace calculations on the system's mathematical model so that the parameter values are obtained [27]. DC Motor armature resistivity is noted by Ra is equal to 2.78 Ω, it’s inductance is noted by La is equal to 7.48 mH. DC Motor mechanical properties such as friction, inertia and ball-screw radius are respectively noted as Bm, , Jm and rbs, are equal to 24.8 x 10 -3 , 1.067 x 10-3 kg.m2, and 1.18 x 10-3 m. Motor torque constant and motor velocity constant are respectively noted as Kt and Kv both are equals to 0.896. D. Machine control application The machine control application algorithm is divided into the G-Code Point Interpolation algorithm and the Control System algorithm. In general, the algorithm can be depicted in the flow chart in Figure 6. The machine control application program starts by reading G-code file which is standard file for CNC command. G-code is the most widely used computer numerical control (CNC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools, as well as from a 3D- printing slicer app. G-code instructions are provided to a machine controller (industrial computer) that tells the motors where to move, how fast to move, and what path to follow. Data from G-code file will be parsed and extracted as set-point coordinate and machine control variables that will be evaluated to determine interpolation algorithm type used for calculating and generating interpolated points refer to set-point coordinate. G-code reader application program is operated from user interface by the operator. Any interpolated point will be displayed in a user-friendly 3D graph to show the machine motion simulation. The G-Code reader application user interface algorithm is shown in Figure 7. The G-Code Interpolation program will extract data from the G-Code command and evaluate the validity before execution. This process is done in an execution loop function in the application software while user interface function is opened and machine run condition is executed by the operator from the application software interface. The G-code extraction loop algorithm is shown in Figure 8. The G-Code Interpolation program can be run on any computer to validate the G-Code program and interpolate to machine movements. Regarding the process of G-Code validation, there are several algorithms including the calculation of modified inverse kinematic and actuator limiter algorithms for avoiding each actuator that exceeds the maximum length and maximum speed limit capability. The validity evaluation algorithm is shown in Figure 9. After the inverse kinematic formula is modified with the addition of machine offset and tool offset parameters according to machine conditions, then Figure 5. Partial link control system block diagram (source: personal collection) Figure 6. PMS CNC control system algorithm (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 6 the area that can be reached by the PMS CNC machine can be determined and called workspace area. In this research, the workspace area is not defined by the forward kinematic calculations, and forward kinematics will be done in further research. The workspace area on this PMS CNC machine is determined by iterating the inverse kinematic calculation with the position input value constantly changing from the minimum value to the maximum value on each axis of motion. The input point that produces the length value of each actuator that is within the range of the actuator's capability, which is between 490 mm to 740 mm will be included in the workspace area data set. Workspace area data set is a two dimension array representing all reachable points in the x, y, and z-axis. To produce the desired robot movement, the six linear actuators must move simultaneously with different length change rate set-points until the length set-point of each actuator is reached according to the kinematics calculation results in the same period. To avoid the movement chaos caused by the actuator limitation, a set-point limit for the allowable length change rate is made. If the result of translating G-Code calculation and inverse kinematics produces one or more set-point that exceeds the limit of the actuator's capability, then the G-Code will not be validated. III. Results and Discussions In this chapter, we discuss the result of the five- axis PMS CNC control system simulation to follow a simple G-Code containing linear movements which follow straight line trajectories and corner movements, both generate a 150 mm square-shaped trajectory. Based on the G-Code program used for testing (illustration shown in Figure 10), the machine will move rapidly from the origin position (0, 0, 500) to point (0, 0, 200), then the machine will move rapidly from point (0, 0, 200) to point (-75, -75, 200), then the linear interpolation movement to the point (-75, 75, 200), then linear interpolation movement to the point (75, 75, 200), then to the point (75, -75, 200), then to the point (-75, -75, 200), Figure 7. G-Code reader user interface algorithm (source: personal collection) Figure 8. G-Code extraction loop algorithm (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 7 after that it moves rapidly to the point (0, 0, 200), the last move back to the initial point (0, 0, 500). For each step, there will be a start position and finish position which is acquired from G-Code data extraction, trajectory line from the start position to the finish position is linear pah but will become a non-linear set-point motion at the actuator. To minimize the complexity of non-linear control system calculation, while still ensuring the motion follow the trajectory linear path, the system will interpolate the linear trajectory linear path to generate points that become new starting and finish points with higher resolution. Figure 11 shows the system response and error of the control system for linear actuator 1. Figure 11(a) show that to follow the desired simple square trajectory, the linear actuator 1 has to lengthen from it’s initial length 500 mm become 560 mm gradually. After that it will lengthen again to reach 590 mm length, 605 mm and so on. It will follow some certain length in motion profile which is generated by interpolation and inverse kinematic algorithm. Figure 11(b) shows the control error value calculated from the difference between desired length with actual length read from the sensor. The error is relatively large because of the actuator 1 inability to move faster to follows the motion profile set-point. It's length change rate is slow compared to the length set-point change rate in the desired motion profile. The average of the actuator 1 length error is 0.8 mm. Figure 12 shows the system response and the error of the control system for linear actuator 2. Figure 12(a) shows similar graph with Figure 11(a). It shows linear actuator 2 lengthens from it’s initial length 500 mm to become 560 mm gradually. After that it will shorten to reach 525 mm length, and then lengthen again to reach 570 mm and so on. Similar with previous actuator, it also follow certain length set-point in motion profile specified for linear actuator 2 which is generated by interpolation and inverse kinematic algorithm. Figure 12(b) shows the control error value calculated from the difference between desired length with actual length read from the sensor of linear actuator 2. It is similar to actuator 1 that the error is relatively large because of the actuator 2 inability to move faster to follow the desired length change rate. The average of the actuator 2 length error is -0.7 mm. Figure 9. G-Code extraction and validation algorithm (source: personal collection) Figure 10. Testing step illustration (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 8 Figure 11. Actuator 1: (a) control response of linear; (b) control error (source: personal collection) Figure 12. Actuator 2: (a) control response; (b) control error (source: personal collection) N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 9 It is similar to the previous actuator, error is relatively large for actuator 3, actuator 4, actuator 5, and actuator 6 because of the actuators inability to move faster to follow the desired length change rate. The average of the actuator 3, actuator 4, actuator 5, and actuator 6 length error respectively is -0.7 mm, 0.9 mm, 0.7 mm, and -0.3 mm. All the actuator responses shows the same phenomenon, all linear actuator successfully follow the desired length in steady-state condition at the end, but the system response at transient condition is poor. This is happens because the desired length change rate for all actuators is relatively the same while the actuator specification for all actuators especially the length change rate is limited and could not follow the length change rate in desired motion profile. IV. Conclusion Th is study successfully implements a simulation of five-axis PMS CNC milling machine configuration in real CNC milling machining applications by reading and extracting G-code command as machine motion control set-point. The average actuator length error for Linear Actuator 1, Linear Actuator 2, Linear Actuator 3, Linear Actuator 4, Linear Actuator 5, and Linear Actuator 6 in a row is 0.8 mm, -0.7 mm, -0.7 mm, 0.9 mm, 0.7 mm, -0.3 mm. The average length control system error = 0,1 mm, while the average length change rate control system = 1,8 mm/s. The result is quite good but still can cause large errors in real-world coordinates. The smallest error is obtained when the system is in a steady- state. However, in transient state the largest error reaches 26.9 mm. The root cause of the error is the system's inability to follow the motion profile. The length change rate response of all actuator is slow compared to the length set-point change rate in desired motion profile. It can be concludes that 6- DOF Stewart platform parallel robot structures which provide better performance than serial robot structures can be implemented as a new concept for the motion mechanism of five-axis CNC milling machines which is commonly used only for pick and place applications. The five-axis PMS CNC milling machine also promises better performance than conventional five-axis gantry structures CNC. A lot of work is needed to improve machine performance. Begin with the mechanical aspect by ensuring machine components are installed properly to minimize backlash, as well as the robot structure, is measured with high accuracy so that the accuracy of kinematic calculations increases. Other aspects are improvements and development of linear and circular interpolation algorithms, research and exploration of a method to produce an optimal motion profile that is suitable for the system and actuator specification is also needed, There is also a need for research of the control algorithms that is not limited to conventional control but also explorable for non-linear control system based on the dynamics of the robot. System testing also needs to be carried out in 3D coordinate space with a more complicated G-Code program that can represent the movement of the five-axis CNC machine. Acknowledgements This research was done in the Manufacturing Laboratory, Department of Mechanical and Aerospace Engineering, Bandung Institute of Technology. This research was supported by the Department of Manufacturing Automation and Mechatronics Engineering, Bandung Polytechnic for Manufacturing. This paper would not have been possible without the exceptional support of my wife Muntaha Habibatu Rahma and my colleagues at Bandung Institute of Technology, Ahshonat Khoirunnisa, Reka Ardhi Prayoga, and Indra Agung, also support from Mr. Ahmad Iskandar and Mr. Hafidz. Declarations Author contribution N.J. Ramadhan: Writing -Original Draft, Writing - Review & Editing, Conceptualization, Formal analysis, Investigation, Resources, Visualization. Indrawanto: Conceptualization, Formal analysis, Investigation, Supervision. H.D. Nguyen: Writing -Review & Editing, Resources, Visualization, Supervision. Funding statement This research did not receive any specific grant from funding agencies in the public, commercial, or not-for- profit sectors. Competing interest The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper. Additional information Reprints and permission: information is available at https://mev.lipi.go.id/. Publisher’s Note: National Research and Innovation Agency (BRIN) remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. References [1] Ratiu, M. & Anton, D. M., “A brief overview of parallel robots and parallel kinematic machines,” Materials Science and Engineering. 898. 012007, 2020. [2] Yi, J., Qingqing, H., Zhaoen, D. et al., “Structural design and kinematic analysis of a welding robot for liquefied natural gas membrane tank automatic welding,” Int J Adv Manuf Technol, 122, 461–474, 2022. [3] Nzue, R., Brethé, J., et al. Comparison of serial and parallel robot repeatability based on different performance criteria,” Mechanism and Machine Theory, 61, 136-155, 2013. [4] Nguyen Vu, L., & Kuo, C., “An analytical stiffness method for spring-articulated planar serial or quasi-serial manipulators under gravity and an arbitrary load,” Mechanism and Machine Theory, 137, 108-126, 2019. [5] Ramadhan, N. J., Lilansa, N., Rifa'i, A., & Nguyen Dinh, H., “Pattern recognition based movement control and gripping forces control system on arm robot model using LabVIEW,” Journal of Mechatronics, Electrical Power, and Vehicular Technology, 13(1), 1-14, 2022. [6] Darvekar, S., Koteswara Rao, A., & Shankar Ganesh, S., “Machining capability of a 2-D of parallel kinematic machine tool and conventional CNC milling machine,” Materials Today: Proceedings, 45, 3213-3218, 2021. [7] Stepanenko, O., Bonev Ilian, A., & Zlatanov, D., “A new 4-DOF fully parallel robot with decoupled rotation for five-axis https://mev.lipi.go.id/ https://doi.org/10.1088/1757-899X/898/1/012007 https://doi.org/10.1088/1757-899X/898/1/012007 https://doi.org/10.1088/1757-899X/898/1/012007 https://doi.org/10.1007/s00170-022-09861-2 https://doi.org/10.1007/s00170-022-09861-2 https://doi.org/10.1007/s00170-022-09861-2 https://doi.org/10.1007/s00170-022-09861-2 https://doi.org/10.1016/j.mechmachtheory.2012.10.004 https://doi.org/10.1016/j.mechmachtheory.2012.10.004 https://doi.org/10.1016/j.mechmachtheory.2012.10.004 https://doi.org/10.1016/j.mechmachtheory.2019.03.015 https://doi.org/10.1016/j.mechmachtheory.2019.03.015 https://doi.org/10.1016/j.mechmachtheory.2019.03.015 https://doi.org/10.1016/j.mechmachtheory.2019.03.015 https://doi.org/10.14203/j.mev.2022.v13.1-14 https://doi.org/10.14203/j.mev.2022.v13.1-14 https://doi.org/10.14203/j.mev.2022.v13.1-14 https://doi.org/10.14203/j.mev.2022.v13.1-14 https://doi.org/10.14203/j.mev.2022.v13.1-14 https://doi.org/10.1016/j.matpr.2020.12.376 https://doi.org/10.1016/j.matpr.2020.12.376 https://doi.org/10.1016/j.matpr.2020.12.376 https://doi.org/10.1016/j.matpr.2020.12.376 https://doi.org/10.1115/1.4042849 https://doi.org/10.1115/1.4042849 N.J. Ramadhan et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 14 (2023) 1-10 10 micromachining applications,” ASME. J. Mechanisms Robotics, June 2019; 11(3): 031010, 2019. [8] Fu, R., Jin, Y., et al., “Review on structure-based errors of parallel kinematic machines in comparison with traditional nc machines,” Springer Comm Comp Inf Sci, 923, 2018. [9] Verl, A., Valente, A., Melkote, S., Brecher, C., Ozturk, E., & Tunc, L. T.,” Robots in machining. CIRP Annals, 68(2), 799-822, 2019. [10] Wang, W., Wang, N., & Wu, X., “Kinematics and dynamics analysis of a six-degree of freedom parallel manipulator,” International Journal of Advanced Robotic Systems, 2022. [11] Zhao, Y., & Gao, F., “ Inverse dynamics of the 6-dof out-parallel manipulator by means of the principle of virtual work”, Robotica, 27(2), 259-268, 2009. [12] Cao, W., Ding, H., & Zhu, W., “Stiffness modeling of overconstrained parallel mechanisms under considering gravity and external payloads,” Mechanism and Machine Theory, 135, 1-16, 2019. [13] Yang, D., Xie, F. & Liu, X., “Velocity constraints based approach for online trajectory planning of high-speed parallel robots,” Chin. J. Mech. Eng., 35, 127, 2022. [14] Lin, J., Qi, C., Gao, F., Yue, Y., Hu, Y., & Wei, B., “Modeling and verification for a 3-DOF flexure-based planar parallel micro- manipulator,” ASME. J. Mechanisms Robotics, 2022. [15] Chen, G., Rui, X., Abbas, L. K., Wang, G., Yang, F., & Zhu, W., “A novel method for the dynamic modeling of Stewart parallel mechanism,” Mechanism and Machine Theory, 126, 397-412, 2018. [16] Brinker, J., Corves, B., & Takeda, Y., “Kinematic performance evaluation of high-speed Delta parallel robots based on motion/force transmission indices,” Mechanism and Machine Theory, 125, 111-125, 2018. [17] Velasco, J., Barambones, Ó., Calvo, I., Venegas, P., & Napole, C. M., “Validation of a Stewart platform inspection system with an artificial neural network controller,” Precision Engineering, 74, 369-381, 2022. [18] Xi, F., Moosavian, A., et al., “Analysis and control of an actuation-redundant parallel mechanism requiring synchronization,” ASME. J. Mech. Rob., 12(4), 044501, 2020. [19] Xu, L., Chai, X., et al., “Design and experimental investigation of a new 2R1T Overconstrained Parallel Kinematic Machine with Actuation Redundancy,” ASME J. Mech. Rob., 11(3), 031016, 2019. [20] Silva, D., Garrido, J., & Riveiro, E., “Stewart platform motion control automation with industrial resources to perform cycloidal and oceanic wave trajectories. machines,” 10(8), 711, 2022. [21] Jin, X., Jung, J., Ko, S., Choi, E., Park, J.-O., & Kim, C.-S., “Geometric parameter calibration for a cable-driven parallel robot based on a single one-dimensional laser distance sensor measurement and experimental modeling, Sensors, 18(7), 2392, 2018. [22] Bilal, D. K., Unel, M., Tunc, L. T., & Gonul, B., “Development of a vision based pose estimation system for robotic machining and improving its accuracy using LSTM neural networks and sparse regression,” Robotics and Computer-Integrated Manufacturing, 74, 102262, 2022. [23] Danaei, B., Arian, A., Masouleh, M.T., Kalhor, A., “Kinematic and dynamic modeling and base inertial parameters determination of the quadrupteron parallel manipulator,” Computational Kinematics, Mechanisms and Machine Science, vol 50. Springer, Cham, 2018. [24] Pham, M., Champliaud, H., Liu, Z., & Bonev, I. A., “Parameterized finite element modeling and experimental modal testing for vibration analysis of an industrial hexapod for machining,” Mechanism and Machine Theory, 167, 104502, 2022. [25] Stabile, A., Yotov, V. V., Aglietti, G. S., De Francesco, P., & Richardson, G., “Effect of boundary conditions on a high- performance isolation hexapod platform,” Mechanism and Machine Theory, 177, 105020, 2022. [26] Barnfather, J.D., Goodfellow, M.J. & Abram, T., “Achievable tolerances in robotic feature machining operations using a low-cost hexapod,” Int J Adv Manuf Technol, 95, 1421–1436, 2018. [27] Indrawanto & Anindito, S., “Design and control of the Stewart platform robot,” Third Asia International Conference on Modelling & Simulation, 475-480, 2009. https://doi.org/10.1115/1.4042849 https://doi.org/10.1115/1.4042849 https://doi.org/10.1007/978-981-13-2396-6_23 https://doi.org/10.1007/978-981-13-2396-6_23 https://doi.org/10.1007/978-981-13-2396-6_23 https://doi.org/10.1016/j.cirp.2019.05.009 https://doi.org/10.1016/j.cirp.2019.05.009 https://doi.org/10.1177/17298806221132077 https://doi.org/10.1177/17298806221132077 https://doi.org/10.1177/17298806221132077 https://doi.org/10.1017/S0263574708004657 https://doi.org/10.1017/S0263574708004657 https://doi.org/10.1017/S0263574708004657 https://doi.org/10.1016/j.mechmachtheory.2018.12.031 https://doi.org/10.1016/j.mechmachtheory.2018.12.031 https://doi.org/10.1016/j.mechmachtheory.2018.12.031 https://doi.org/10.1016/j.mechmachtheory.2018.12.031 https://doi.org/10.1186/s10033-022-00800-6 https://doi.org/10.1186/s10033-022-00800-6 https://doi.org/10.1186/s10033-022-00800-6 https://doi.org/10.1115/1.4055165 https://doi.org/10.1115/1.4055165 https://doi.org/10.1115/1.4055165 https://doi.org/10.1016/j.mechmachtheory.2018.04.024 https://doi.org/10.1016/j.mechmachtheory.2018.04.024 https://doi.org/10.1016/j.mechmachtheory.2018.04.024 https://doi.org/10.1016/j.mechmachtheory.2018.04.024 https://doi.org/10.1016/j.mechmachtheory.2017.11.029 https://doi.org/10.1016/j.mechmachtheory.2017.11.029 https://doi.org/10.1016/j.mechmachtheory.2017.11.029 https://doi.org/10.1016/j.mechmachtheory.2017.11.029 https://doi.org/10.1016/j.precisioneng.2022.01.002 https://doi.org/10.1016/j.precisioneng.2022.01.002 https://doi.org/10.1016/j.precisioneng.2022.01.002 https://doi.org/10.1016/j.precisioneng.2022.01.002 https://doi.org/10.1115/1.4045653 https://doi.org/10.1115/1.4045653 https://doi.org/10.1115/1.4045653 https://dx.doi.org/10.1115/1.4042628 https://dx.doi.org/10.1115/1.4042628 https://dx.doi.org/10.1115/1.4042628 https://dx.doi.org/10.1115/1.4042628 https://doi.org/10.3390/machines10080711 https://doi.org/10.3390/machines10080711 https://doi.org/10.3390/machines10080711 https://doi.org/10.3390/machines10080711 https://doi.org/10.3390%2Fs18072392 https://doi.org/10.3390%2Fs18072392 https://doi.org/10.3390%2Fs18072392 https://doi.org/10.3390%2Fs18072392 https://doi.org/10.3390%2Fs18072392 https://doi.org/10.1016/j.rcim.2021.102262 https://doi.org/10.1016/j.rcim.2021.102262 https://doi.org/10.1016/j.rcim.2021.102262 https://doi.org/10.1016/j.rcim.2021.102262 https://doi.org/10.1016/j.rcim.2021.102262 https://doi.org/10.1007/978-3-319-60867-9_28 https://doi.org/10.1007/978-3-319-60867-9_28 https://doi.org/10.1007/978-3-319-60867-9_28 https://doi.org/10.1007/978-3-319-60867-9_28 https://doi.org/10.1007/978-3-319-60867-9_28 https://doi.org/10.1016/j.mechmachtheory.2021.104502 https://doi.org/10.1016/j.mechmachtheory.2021.104502 https://doi.org/10.1016/j.mechmachtheory.2021.104502 https://doi.org/10.1016/j.mechmachtheory.2021.104502 https://doi.org/10.1016/j.mechmachtheory.2021.104502 https://doi.org/10.1016/j.mechmachtheory.2022.105020 https://doi.org/10.1016/j.mechmachtheory.2022.105020 https://doi.org/10.1016/j.mechmachtheory.2022.105020 https://doi.org/10.1016/j.mechmachtheory.2022.105020 https://doi.org/10.1007/s00170-017-1266-1 https://doi.org/10.1007/s00170-017-1266-1 https://doi.org/10.1007/s00170-017-1266-1 https://doi.org/10.1007/s00170-017-1266-1 https://doi.org/10.1109/AMS.2009.53 https://doi.org/10.1109/AMS.2009.53 https://doi.org/10.1109/AMS.2009.53 Introduction II. Materials and Methods A. Parallel robot design B. Inverse kinematics equation C. Partial Link Control Method D. Machine control application III. Results and Discussions IV. Conclusion Acknowledgements Declarations Author contribution Funding statement Competing interest Additional information References