Abstract
This paper describes a technique for the position error estimations and compensations of the modeless robots and manipulators calibration process based on a shallow neural network fitting function method. Unlike traditional model-based robots calibrations, the modeless robots calibrations do not need to perform any modeling and identification processes. Only two processes, measurements and compensations, are necessary for this kind of robots calibrations. By using the shallow neural network fitting technique, the accuracy of the position error compensation can be greatly improved, which is confirmed by the simulation results given in this paper. Also the comparisons among the popular traditional interpolation methods, such as bilinear and fuzzy interpolations, and this shallow neural network technique, are made via simulation studies. The simulation results show that more accurate compensation result can be achieved using the shallow neural network fitting technique compared with the bilinear and fuzzy interpolation methods.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
The prerequisite requirement of the robotic modeless calibration is the successful self-calibration of the camera [1, 2] or other measurement device, such as laser tracking system [3]. Both internal and external parameters of the camera need to be calibrated accurately [4, 5]. Then the modeless robot calibration is divided into two steps [6].
The first step is to measure the position errors for all grid points on a standard calibration board, which is installed on the robot’s workspace. A calibrated camera is used to find 4 neighboring position errors. This process can be considered as a measurement process, which is shown in Fig. 1.
At each grid point, a calibrated camera is used to check the position errors of the end-effector of the robot. In Fig. 1, the desired position of the grid point 0 is (x0, y0), and the actual position of the robot end-effector is \( \left( {x^{\prime}_{\text{0}} ,y^{\prime}_{0} } \right) \). The position errors for this grid point are \( e_{x} = x_{0} - x^{\prime}_{0} \), and \( e_{y} = y_{0} - y^{\prime}_{0} \). The robot will be moved to all these grid points on the standard calibration board, and all position errors on these grid points will be measured and stored in the memory for future usage.
In the second step, the robot’s end-effector is moved to a target position that is located in the range of the workspace. The target position error could be found by an interpolation technique using the stored 4-neighboring grid position errors around the target position, which were obtained from the first step. Finally, the target position could be compensated with the interpolation results to obtain more accurate positions.
Triantafilis and Suzana et al. reported approaches of using fuzzy interpolation methods to estimate the soil layer and geographical distributions for GIS database [7, 8]. Song et al. described a fuzzy logic methodology for 4-dimensional (4D) systems with optimal global performance using enhanced cell state space [9]. The most popular interpolation techniques applied in the position compensations of the modeless robotic calibration include the bilinear interpolation and fuzzy interpolation methods; both methods can achieve satisfactory interpolation results for general calibration process [2, 10]. The bilinear interpolation technique assumes that the error of the target position is located on the surface that is constructed by the position errors of 4-neighboring grid points around the target position [9]. The fuzzy interpolation method assumes that the workspace can be divided into a group of smaller cells, and the target positions can be obtained by interpolating position errors on 4 neighboring grid points in cells via fuzzy inference system [10]. Consequently, the target point’s errors are estimated according to the equations of the error surface or fuzzy inference techniques. Since the actual position errors are randomly distributed, and it is impossible to pinpoint a position on the error surface at any given moment, the traditional interpolation technique is unable to provide an accurate estimation of the position errors. Fuzzy error interpolation technique utilizes the fuzzy inference system to estimate the position errors, which is consistent with the random distributed nature of position errors. The position errors can be considered as a fuzzy set at any given moment of the time. The fuzzification process takes into account of a range of error rather only a crisp error value. Therefore, the fuzzy error interpolation technique has the fundamentals to improve error estimation results.
However, more and more robots calibration techniques developed by using artificial neural network (ANN) are reported in recent years [11,12,13,14,15,16,17,18].
This study describes a technique for the position error estimations and compensations of the modeless robots and manipulators calibration process based on a shallow neural network (SNN) fitting function method. A feedforward neural network or called shallow neural network fitting technique is utilized to estimate the position errors based on errors on the 4 neighboring grind points. With this method, the calibration accuracy can be significantly improved and the calibration process can also be greatly simplified. A comparison among three different error interpolation methods, bilinear, fuzzy interpolation and SNN, are performed, and the simulation results indicate that the SNN method outperforms the other methods.
This paper is organized in 4 sections. After this introduction section, the principle of the fuzzy interpolation technique is provided in Sects. 2. A simulation is given in Sect. 3 to illustrate the effectiveness of the SNN technique. Section 4 presents the conclusion.
2 Fuzzy Error Interpolation Method
2.1 Overview of the Fuzzy Interpolation System
Figure 2 shows the definition of the fuzzy error interpolation inference system.
Each square that is defined by 4 grid points is called a cell; and each cell is divided into 4 equal smaller cells, which are NW, NE, SW and SE, respectively (Fig. 2a). The position error at each grid point is defined as P1, P2, P3 and P4.
For the fuzzy inference system, we apply the fuzzy error interpolation method in two dimensions separately, so the inputs to the fuzzy inference system are ex and ey and the outputs are eex and eey (Fig. 2b). The control rules are shown in Fig. 2c, and will be discussed following the discussion of membership functions.
2.2 Membership Functions
In this study, the distance between two neighboring grid points on the standard calibration board is 20Â mm in both x and y directions, which is a standard value for a mid-size calibration workspace. The calibration board includes a total of 20 by 20 cells, which is equivalent to a 400 by 400Â mm space.
The input membership functions for both x and y directions and the predefined output membership functions are shown in Fig. 3. The predefined output membership functions are used as a default one, and the final output membership function will be obtained by shifting the default one by the actual error values on the grid points.
The gaussian-bell waveforms are selected as the shape of the membership functions for both inputs (Fig. 3a) in x and y directions. The ranges of inputs are between −10 mm and 10 mm (20 mm intervals). Zhuang and Wu reported a histogram method to estimate the optimal membership function distribution [19]. However in our case, a gaussian-bell shape is selected due to the fact that most errors in real world match this distribution. We use W and E to represent the location of inputs in x direction, N and S to represent the location of inputs in y direction.
Figure 3b shows an example of the output membership functions, which are related to the simulated random errors at neighboring grid points. Each Pxi and Pyi correspond to the position error at the ith grid point in x and y directions, respectively. During the design stage, all output membership functions are initialized to a gaussian waveform with a mean of 0 and a range between –0.5 and 0.5 mm, which is a typical error range for this workspace in robotic calibration (Fig. 3c). These output membership functions will be determined based on the errors of the neighboring grid points around the target in the workspace as mentioned above. For example, during the compensation process if the input position in the x direction is in the NW area of a cell, the associated output membership function should be modified based on the position error in the NW grid point P1. This modification is equivalent to shifting the Px1 Gaussian waveform (Fig. 3b) and allowing the center of that waveform to be located at x0 = the position error value of the P1 in the x direction. A similar modification should be performed for the position error in the y direction. It can be seen from Fig. 3b that for the position compensation process, the performance loss would be significant if the default membership function is utilized, which is shown in Fig. 3c.
2.3 Control Rules
The control rules shown in Fig. 2c can be interpreted as follows after the output membership functions are determined:
Each Pi should be considered as a combination of two error components, Pxi and Pyi, which are corresponding to errors in both x and y directions. The error on NW grid point should take more weight if the target position (input) is located inside the NW area on a cell. Similar conclusion can be derived for errors on SW, NE and SE grid points.
2.4 Fuzzy Inference System
The fuzzy inference system implemented in this study is an on-line one. This means that output of the fuzzy system is not obtained from the pre-defined lookup table, but from a real time fuzzy inference calculation that utilizes the pre-defined input membership functions and the real time position errors. The input error variables can be expressed as a label set L(E), where E is a linguistic input variable:
Assume that ui is the membership function, Ui the universe of discourse and m the number of contributions, the traditional output of the fuzzy inference system can be represented as [21]:
where u is the current crisp output of the fuzzy inference system. Equation (3) is obtained by using the Center-Of-Gravity method (COG). In this study, both ui and Ui in the output membership functions are randomly distributed variables and the actual values of these variables depend upon the position errors of four neighboring grid points around the target position. These relationships can be expressed as:
where \( F_{i} \) and \( Q_{i} \) are randomly distributed functions. Substituting (4) and (5) into (3), we obtain:
In (6), both \( F_{i} \) and \( Q_{i} \) will not be determined until the fuzzy error interpolation technique is applied in an actual compensation process, which means that this fuzzy inference system is an on-line process.
3 Simulation Results
Extensive simulation study has been performed to illustrate the effectiveness of the proposed SNN technique in comparison to bilinear and fuzzy interpolation methods. The uniform distributed random error is used for the simulation study due to its popularity. We estimate the valid workspace of the robot to be 400 × 400 mm. We choose the size of each cell to be 20 × 20 mm after taking into consideration the repeatability of the robot. Consequently, the workspace consists of 20 cells in each direction. In our simulation, we simulate actual position based on in this format:
where (xi, yi) is the nominal position, and A is the amplitude of the uniformly distributed noise in the interval (−0.5, 0.5) for the random component.
We implemented MATLAB® Neural Network Toolbox® to perform these simulation studies [20]. Figure 4 shows the training, validation and testing process of this fitting SNN. The Levenberg-Marquardt algorithm is used for this training.
After the first epoch training process, the mean square error (MSE) is reduced below 0.01, and the best validation result is in the first epoch (0.0096). The testing result is also good with all errors being about 0.01. Figure 5 shows a comparisons in mean error, maximum error and STD values among bilinear, fuzzy interpolation and SNN technique in the histograms.
It can be seen that both mean errors and maximum errors of SNN are much smaller than those of fuzzy interpolation and bilinear methods. For the uniform distributed error, the mean error of the SNN method is approximately 60% to 70% smaller compared with those of bilinear and fuzzy interpolation methods. The maximum errors of the SNN technique is about 40% to 50% smaller than those of bilinear and fuzzy interpolation techniques.
The simulated results show the effectiveness of the SNN fitting method in reducing the position errors in the modeless robot compensation process.
4 Conclusion and Summary
A shallow neural network fitting method is presented in this paper. The compensated position errors in a modeless robot calibration can be greatly reduced by the proposed technique. Simulation results demonstrate the effectiveness of the proposed shallow neural network (SNN) fitting method. One typical error model, uniform distributed error, is utilized for comparison and simulation study purpose. This SNN technique is ideal for the modeless robot position compensation, especially the high accuracy (<10 μm) robot calibration process.
References
Mooring, B.W., Roth, Z.S., Driels, M.R.: Fundamentals of Manipulator Calibration. Wiley, New York (1991)
Penna, M.A.: Camera calibration: a quick and easy way to determine the scale factor. IEEE Trans. Pattern Anal. Mach. Intell. 13, 1240–1245 (1991)
Bai, Y.: Design and implementation of a control system for a laser tracking measurement system. Ph.D. Dissertation, Florida Atlantic University (2000)
Weng, J., et al.: Camera calibration with distortion models and accuracy evaluation. IEEE Trans. Pattern Anal. Mach. Intell. 14, 965–980 (1992)
Du, F., Brady, M.: Self calibration of the intrinsic parameters of cameras for active vision systems. In: Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, New York, NY, June 1993, pp. 477–482 (1993)
Zhuang, H., Roth, Z.S.: Camera-Aided Robot Calibration. CRC Press Inc., Boca Raton (1996)
Triantafilis, J., Ward, W.T., Odeh, I.O.A., McBratney, A.B.: Creation and interpolation of continuous soil layer classes in the lower Namoi Valley. Soil Sci. Soc. Am. J. 65(2), 403–414 (2001)
Suzana, D., Marceau, J.D., Claude, M.: Space, time, and dynamics modeling in historical GIS databases: a fuzzy logic approach. Environ. Plan. 28(4), 545–563 (2001)
Song, F., Smith, S.M., Rizk, C.G.: A fuzzy logic controller design methodology for 4D system with optimal global performance using enhanced cell state space based best estimate directed search method. In: IEEE International Conference on Systems, Man and Cybernetics (1999)
Bai, Y.: On the comparison of model-based and modeless robotic calibration based on a fuzzy interpolation method. Int. J. Adv. Manuf. Technol. 31(11–12), 1243–1250 (2007)
Xu, W.L., Wurst, K.H., Watanabe, T., Yang, S.Q.: Calibrating a modular robotic joint using neural network approach. In: Proceedings of 1994 IEEE International Conference on Neural Networks (ICNN 1994), Orlando, FL, USA, pp. 2720a–2725 (1994)
Wu, H., Tizzano, W., Andersen, T.T., Andersen, N.A., Ravn, O.: Hand-eye calibration and inverse kinematics of robot arm using neural network. In: Kim, J.-H., Matson, E.T., Myung, H., Xu, P., Karray, F. (eds.) Robot Intelligence Technology and Applications 2. AISC, vol. 274, pp. 581–591. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-05582-4_50
Wells, G., Venaille, C., Torras, C.: Vision-based robot positioning using neural networks. Image Vis. Comput. 14(10), 715–732 (1996)
Nguyen, H.N., Zhou, J., Kang, H.J.: A calibration method for enhancing robot accuracy through integration of an extended Kalman filter algorithm and an artificial neural network. Neurocomputing 151(3), 996–1005 (2015)
Xu, W., Dongsheng, L., Mingming, W.: Complete calibration of industrial robot with limited parameters and neural network. In: 2016 IEEE International Symposium on Robotics and Intelligent Sensors (IRIS), Tokyo, Japan, 17–20 December 2016, pp. 103–108 (2016)
Zouaoui, R., Mekki, H.: 2D visual servoïng of wheeled mobile robot by neural networks. In: 2013 International Conference on Individual and Collective Behaviors in Robotics (ICBR), Sousse, Tunisia, pp. 130–133 (2013)
Tao, P.Y., Yang, G.: Calibration of industry robots with consideration of loading effects using Product-Of-Exponential (POE) and Gaussian Process (GP). In: 2016 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2016, pp. 4380–4385 (2016)
Luo, R.C., Wang, H., Kuo, M.: Low cost solution for calibration in absolute accuracy of an industrial robot for iCPS applications. In: 2018 IEEE Industrial Cyber-Physical Systems (ICPS), St. Petersburg, Russia, 15–18 May 2018, pp. 428–433 (2018)
Zhuang, H., Wu, X.: Membership function modification of fuzzy logic controllers with histogram equalization. IEEE Trans. Syst. Man. Cybern. Part B Cybern. 31(1), 125–132 (2001)
Kartalopoulos, S.V.: Understanding Neural Networks and Fuzzy Logic. IEEE Press, New York (1996)
Gulley, N., Jang, J.S.R.: Fuzzy Logic Toolbox User Guide. The MathWorks Inc., Natick (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 IFIP International Federation for Information Processing
About this paper
Cite this paper
Bai, Y., Wang, D. (2019). Using Shallow Neural Network Fitting Technique to Improve Calibration Accuracy of Modeless Robots. In: MacIntyre, J., Maglogiannis, I., Iliadis, L., Pimenidis, E. (eds) Artificial Intelligence Applications and Innovations. AIAI 2019. IFIP Advances in Information and Communication Technology, vol 559. Springer, Cham. https://doi.org/10.1007/978-3-030-19823-7_52
Download citation
DOI: https://doi.org/10.1007/978-3-030-19823-7_52
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-19822-0
Online ISBN: 978-3-030-19823-7
eBook Packages: Computer ScienceComputer Science (R0)