## 2 Literature Review  
Several researchers have taken different approaches to dynamic error compensation, in which the robot position is continually updated. The dynamic and near-realtime error compensation model was proposed by Nanyang Technological University, Singapore, and their experiment shows that they achieved the accuracy up to 25.5 \(\upmu\)m for high-speed CMMs (coordinate measuring machines) [4]. They used a laser interferometer, which was directly attached to the CNC machine controller. The error was compensated for CMMs in this research. Research by the Physikalisch-Technische Bundesanstalt, Germany, proposed a digital filter at the end of the sensor (for sensor-based error compensation), which was an accelerometer that helps to boost the speed and enable realtime error compensation [5]. The technique was used to filter at the accelerometer end, and to provide the filtered data for further calculation. The resultant algorithm could be useful for realtime calculations, but further filtering was required. The same technique can be used for the calibration calculation to boost the speed and optimise the data. Research in the Department of Mechanical Engineering and Applied Mechanics, The University of Michigan, was carried out on the realtime error compensation technique for CNC machines [5; 6]. The main focus was to test the techniques of multiple regression analysis (MRA) and artificial neural network (ANN) for the error compensation based upon analysing the geometric and thermal errors. In realtime, they were able to achieve (an improved performance of) 7.2 \(\upmu\)m thermal distortions from 92.4 \(\upmu\)m. For the ANN technique, a large number of data were needed to train the artificial neural networks; only then was it able to work correctly. Both of the techniques proved successful in an environment in which resources were not accessed through the network. The CNC machine has been discussed as it needs error correction as well and research groups have performed work on it to provide realtime error correction for CNC machines [4]. The CNC machine measurements provide the X, Y and Z position, which needs to be corrected along with the orientations. Robot position applies a similar concept in terms of end-effector, which has its X, Y and Z position and the rotations around X, Y and Z. Their axis may differ from application to application, but the general principle is almost the same. The robots and CNCs are controlled by a controller and both require programming. The robots can move their arm in their working envelope and in different orientations can reach the position; however, CNC machines may have no more than 2 or 3 DoF. CNC machines are mostly used where a heavy machining operation is required and each CNC machine is designed to perform only one specific task, such as drilling, turning, milling, etc., whereas robots can perform multiple tasks with various different end-effector tools. Hence, CNC machines are not as flexible as robots. Both robots and CNCs can be controlled from their controllers by using a computer. Research has been carried out at the University of Bath in the Department of Mechanical Engineering on the subject of realtime error compensation for a small three-axis machine tool using a laser tracker [7]. A 35 \(\upmu\)m accuracy was achieved on the three-axis machine tool from 1.4 mm, which is 40 times reduction in the error. The error compensation system was deployed on the computer, which was also responsible for the collection of data from the laser tracker (FARO ION, Lake Mary, FL, USA) and the computer was directly attached to the three-axis machine tool. No control system or algorithm was specified in the research paper. They used a simple feedback loop to ensure the realtime performance feedback, but the figures for the time in which the improved accuracy were achieved are missing from the described work. The model-based error compensation for five-axes CNC machines was proposed, which achieve 2 ms sampling time for position control [8].