 Research
 Open Access
 Published:
An optimization technique for identifying robot manipulator parameters under uncertainty
SpringerPlus volume 5, Article number: 1771 (2016)
Abstract
Robot manipulators enable largescale factory automation of simple and repeated tasks. Each manipulation is the result of the robot design and the command inputs provided by the operator. In this study, we focus on the accuracy improvement of practical robot manipulation under uncertainty, resulting in pathspecific error values. Existing techniques for reducing the errors use highprecision sensors and measurements to obtain the values of a manipulator to provide feedback control. Instead of compensating errors in operation, this study designs a calibration table to obtain the error value for a designated path. This error is then used to adjust important parameters in the kinematic closed chain models of a manipulators via optimization. The proposed method reduces the cost and the dependence on the calibration process. Experimental results show that the overall accuracy of the manipulator is improved. The proposed method can also be extended to develop the optimal robotic manipulation planning and reliability assessment in the future.
Background
Robot manipulators can perform simple and repeated tasks, such as pick and place (Wallen 2008), to enable highly intelligent and highly accurate operations (Smith et al. 2012). An increasing number of companies are using robot manipulators to support the manufacturing process. With the rapid development of automation technology, there is a great demand for the highprecision robot manipulators. However, since robots are a complex systems, there are several uncertainty factors that affect the positioning error of a manipulator.
Robot accuracy is affected by several factors, such as the environmental, parameters, measurement, computational, and application (Karan and Vukobratovic 1994). These factors can be classified as kinematic, structural, or dynamics errors (Conrad et al. 2000), and geometric or nongeometric factors (Caenen and Angue 1990; Jang et al. 2001), such as link deformation (Hsueh 2012), assembly error, joint clearance (Lai 2014), and gear backlash and wear (Mukras et al. 2010). Therefore, there are 14 performance criteria (Table 1) defined in ISO 9283, which describes methods and environmental conditions for testing the accuracy, repeatability, and performance of robots.
Existing methods and standards for identifying the accuracy of robots have practical limit. In practice, some manufacturers only present one or two performance criteria, such as path repeatability and pose repeatability, omitting robot accuracy. Therefore, the robot information found in a product manual is incomplete and unable to use in comparisons (Slamani et al. 2012). Althought the testing space of an industrial serial robot in ISO 9283 could be the main operation space, robot manufactures do not state how they calculate their repeatability (Mousavi et al. 2015). Due to the effects of various uncertainties, the performance criteria changes when a robot’s workspace is out of the testing space from the manufacturer (Hsueh 2012). That is, robot accuracy and whether the workspace is out of testing space used by the manufacturer are unknown.
Although the true accuracy of a robot may be unknown, most robots are calibrated before usage. Calibration methods can be divided into two categories. In the first category (Roth et al. 1987; Mooring et al. 1991), there are two calibration levels. In Level 1, the joint sensor signal is calibrated to match the actual joint displacement. In Level 2, the kinematic model is calibrated. Specifically, the DenavitHartenberg (DH) (Denavit 1955) model is calibrated. Nongeometric calibration mainly deals with nongeometric factors that influence robot accuracy. The second category (Elatta et al. 2004) divides calibration methods into kinematicmodelbased and nonkinematic calibrations. Generally, a calibration process entails four steps: modeling, measurement, identification, and compensation (Karan and Vukobratovic 1994).

Step 1: Modeling Among the many methods used to describe the kinematics of a robotic system, the DH model is commonly used. DH parameters are modeled and error terms for each parameter are considered.

Step 2: Measurement The accuracy and resolution of measurement devices influence the accuracy of robotic systems. Camera systems, laser trackers, and vision systems are commonly used for measurement.

Step 3: Identification In this step, the goal is to find the error terms modeled in the first step. Linear least squares and nonlinear least squares methods are frequently applied for this purpose.

Step 4: Compensation In this step, the error terms found in the previous step are added to the original kinematic (DH) model to improve the accuracy of robot arms.
Instead of calibrating for a specific task, the present study proposes obtaining robotic parameters via a calibration table. We design the calibration table and a dualarm system to improve the accuracy of a manipulator using an optimization method to adjust DH parameters. The proposed procedure has three steps in Fig. 1. First, real data are obtained during operation via a Vicon camera system, the calibration table, and encoders. These data are the robot’s real positions and joint angles obtained at the calibration points. Then, the summation of errors between all ideal positions and real positions is calculated. Second, calibration is conducted via optimization. An optimization framework that uses deviations of DH parameters as the design variables is then formulated to minimize the position errors. Third, the compensation is applied and verified. The robot arm is controlled to move to the verification points, which are different from the calibration points, with optimized DH parameters. Then, the position of real points is captured using the Vicon camera system and the errors are determined by comparing ideal and real positions. Finally, the accuracy improvement is assessed.
The rest of this paper is organized as follows. “The modeling and experiment setup of a 3DOF serial robot” section describes the model and system of the robot arm. “Proposed research method for accuracy improvement and DH parameter calibration” section describes the proposed method. “Results” presents the results of verification. Finally, “Conclusions” summarizes the main results and contributions of this paper.
The modeling and experiment setup of a 3DOF serial robot
The robot arm used in this paper is a 3DOF (degrees of freedom) serial robot with three revolute joints (Chou 2014). We design the calibration table and use Vicon camera system to obtain real data during operation. The Vicon camera system is also used to capture the endeffector position during verification. To assess the accuracy of a robot arm, the kinematic model of the robot is needed. In this research, the DH transformation matrix method, which is widely used to describe the kinematics of robots, is applied to construct the model of the robot system. In addition, there are many uncertainties in the actual robot. Therefore, in order to model uncertainties, a deviation matrix for DH parameters is constructed.
Description of robot system
System overview
The robot system consists of two PUMAstyle arms since they are commonly used in production lines and their workspaces are similar to those of human arms. Each arm has three DOFs. The left and right arms have symmetrical structures. For the context of this research, we use the right arm for testing, calibration, and the final measurement of the results. The left arm is prepared for the next stage research to form a closedloop chain for additional measurement in the future. Therefore within the contexts of this paper, the left arm can temporary be omitted. The motor for the third DOF is installed close to the arm base to decrease inertia. Its torque is transmitted to the joint by a pulleyandbelt system. The motors of the three joints are brushed DC motors because of the requirement of high torque.
Accuracy measurement
The T20S motion capture system (Vicon Motion Systems Ltd.) was used to measure the accuracy of our system. This system uses passive optical motion capture technology. Based on our experiments, the resolution of the system has a standard deviation of \(\pm 0.28\) mm with a 95 % confidence interval. Reflective markers are tracked by cameras to get their positions. For our robotarm system, several markers were placed on the base and endeffector so that their positions could be tracked by the cameras. The location and orientation of the calibration table relative to the robot arm can also be determined using the motion capture system.
Calibration table
The calibration table is shown in Fig. 2a. It comprises the calibration board, tilting mechanisms, and aluminum extrusion. The calibration board can be tilted in roll and pitch directions via the tilting mechanisms. Our proposed method to calibrate DH parameters is to form a closeloop robot using a calibration table. Through the known position of the calibration table, we could backcalculating the actual location/position of the robot in our experiment. In addition, we investigate the result of calibration on different trajectories via a tilting mechanism in the calibration table with 3 degreeoffreedom. Through the adjustment of the tilting angle, the calibration board on the calibration table can rotate in pitch and roll direction, creating calibration trajectories in different spaces.

Calibration board Figure 2b shows a topview photograph of the calibration board. There are 33 calibration points on the board, which has a cylindrical cavity. These calibration points form a circular path and a straight path.

Tilting mechanism The purpose of the tilting mechanism is to increase the number of DOFs of the calibration board. It allows calibration trajectories to be in threedimensional space. Figure 2c, d shows the tilting mechanism. To increase the number of DOFs while retaining sufficient stiffness of the calibration table, a 3DOF ball joint with high stiffness was used in the tilting mechanism. The calibration board can tilt in roll and pitch directions. A wing nut on the ball joint slider is used to fix the ball joint slider and aluminum extrusion (see Fig. 2c, d). Therefore, the calibration broad rotates in roll and pitch direction via the tilting mechanism.
Modeling of the robot system
Frame of the robot arm
Frames were attached to each joint to describe its position and geometric relationship with neighbors. For a link of the robot arm, one end of it is the i joint and the other is the \(i+1\) joint (Fig. 3). The rules used to define frames are as follows:

1.
\(z_{i1}\) should coincide with the i axis. Either direction is allowable.

2.
\(x_{i1}\) should be perpendicular to \(z_{i1}\) and \(z_{i}\). When \(i1\) and i are parallel, the origin location for \(i1\) is arbitrary.

3.
Define \(y_i\) using the righthand rule.
Uncertainty model of 3DOF serial robot arm
This research focuses on 3DOF serial robot arm. Its ideal DH parameters are shown in Fig. 4 and Table 2.
An ideal robot arm can be described as Eq. (1), where f is the robot system, d, \(\theta\), L, and \(\alpha\) are the DH parameters of the robot arm, and Y is its position information.
In reality, the robot arm is described as Eq. (2), where \(\Delta d\), \(\Delta \theta\), \(\Delta L\), and \(\Delta \alpha\) are its real parameters, and \(\Delta Y\) is its real position information.
Due to uncertainty factors, the DH parameters of the robot arm usually differ from the real ones, which leads to positioning errors of the robot. The uncertainty factors of each parameter are discussed below:

d, L: d and L are affected by the geometric error of each link and result in variations \(\delta d\) and \(\delta L\), and thus real \(d_i\) and \(L_i\) are represented as \(d_i+\delta d_i\) and \(L_i+\delta L_i\), respectively.

\(\theta\), \(\alpha\): The machining and assembly errors of joints cause variations \(\delta \theta\) and \(\delta \alpha\), and thus \(\theta _i+\delta \theta _i\) and \(\alpha _i+\delta \alpha _i\) are the real \(\theta _i\) and \(\alpha _i\), respectively.
The uncertainties in the DH parameters are summarized in Table 3.
Robot control and trajectory planning
Robot control
The robot was on position control mode and the block diagram is showed in the Fig. 5. User input waypoints into robot system and a trajectory is generated in Cartesian space. Then, angle information is obtained by inverse kinematics. Then, the angle information is changed to encoder position and serves as setpoint for robot arm. Therefore, robot arm can be controlled to move and compensated by PID controller.
Trajectory planning
User input waypoints into robot arm and a trajectory is generated. The trajectory is planned by cubic spline method in Cartesian space. Four condition, initial and final positions and initial and final velocities, are given to solve this function. Initial and final position are the ith and \((i+1)\)th waypoints. Initial velocity is the desired velocity of ith section and final one is the desired velocity of \((i+1)\)th section. The trajectory function is Eq. (3).
Comparison of actual model and ideal model
There are many uncertainties in an actual robot, such as those due to geometric tolerance, joint clearance, and backlash. We used various trajectories to compare the robot’s ideal model and actual model. The results are shown in Figs. 6 and 7. These figures show that the actual robot has a trajectory error of almost 3 cm and that the trend of error varies with trajectory. Consequently, we discuss an optimization technique for adjusting the DH parameters for various trajectories.
Proposed research method for accuracy improvement and DH parameter calibration
Even though the kinematics of the system can be described by the DH model, in practice, the robot arm is affected by uncertainty factors and the true DH parameters may be different from the ideal ones. If we are able to get the positions and joint angles of the robot arm as it is controlled to any position, we can calculate its DH parameters. Based on this concept, we design a calibration mechanism as the robot’s end effector. This end effector are manually placed on the calibration point to obtain its real position. We then measure the angles of joints through the camera system and encoders. A table is designed and made for robot arm calibration. In order to reduce the effects of uncertainty factors, an optimization method is applied to iteratively obtain new DH parameters. This method improves the accuracy of the robot system. The flow chart of the optimization technique for serial manipulator robot parameter calibration and accuracy improvement is shown in Fig. 8.
Obtaining experiment data during operation
Figure 1 shows a selfbuilt robot system. The calibration table is placed in front of the robot arms. The cavities on the table are defined as calibration points. Before the experiment, we have to get the positions of the cavities using computeraided design. However, because there is error caused by tolerance and assembly error for the calibration table, we used the Vicon camera system to capture the positions of the cavities. When the experiment starts, the robot arm is moved to the calibration points and the angles of every joint are recorded by encoders. The real positions and joint angles are thus obtained.
The calibration table can be directly fixed to the base of the dualarm system, as shown in Fig. 9a. It can rotate in roll and pitch directions, as shown in Fig. 9b, c. Rotation in the roll direction is under 20°, because this is the maximum rotation angle of the ball joint. Rotation in the pitch direction is more than 20° because the ball joint can rotate 360 degrees in this direction. In this paper, the experiment was conducted at 11.7° in the roll direction and 11.8° in the pitch direction.
Calibration via optimization
Optimization formulation
The optimization procedure is shown in Fig. 8. The real positions and angles are known and the ideal positions can be calculated using forward kinematics. The differences between the real and ideal positions are positioning errors of the robot arm and the sum of error at each position is considered as a objective function. Either absolute deviation or squares of the deviations can be used. In this work we use absolute value ensure the scale of the objective function matches its physical meaning in our experiments. New DH transformation matrix is calculated by changing the DH parameters. Using the new DH transformation matrix, we calculate the ideal position of the real angle through forward kinematic. The error between real and ideal position is then minimized in our optimization formulation. The function of the optimization method is shown in Eq. (4).
where E is the objective function of the optimization method and the summation of errors between all the ideal positions and real positions. \(X_j\) and \(X'_j\) are the real and ideal positions, respectively. i and j are the numbers of each joint and calibration point, respectively. N and k are the sums of joint and calibration points, respectively. \(\mathbf{DH'}\) is the new DH parameters optimized in the calibration process. \(d_i\), \(L_i\), and \(\alpha _i\) are the initial DH parameters. \(\theta _i\) is the joint angle of each calibration point. The design variables \(\delta d_i\), \(\delta \theta _i\), \(\delta L_i\), and \(\delta \alpha _i\) are the deviations of DH parameters and \(e_d=0.005\) m, \(e_\theta\) = \(2^{\circ }\), \(e_L=0.005\) m, and \(e_\alpha\) = \(2^{\circ }\) are constraints of these parameter deviations, respectively. Finally, a is the average accuracy of calibration points. This research uses the MATLAB function fmincon to determine the optimized DH parameters with constraints.
Results
A table was designed for calibrating the robot arm, and new DH parameters were obtained using the optimization process. The original DH parameters of the robot system were replaced by the new ones. A few positions were chosen to verify the accuracy of the system with new parameters. The robot arm was controlled to move to the chosen positions and the real positions were captured by the Vicon camera system. The errors were determined by comparing the ideal and real positions. The positions used to verify the robot system’s accuracy are different from the calibration points. The results are shown in Table 4 and the DH parameters are listed in Table 5.
Table 4 shows the magnitude of improvement in the normal, roll, and pitch directions. These three directions can improve robot accuracy. Improvement in the normal direction is the best. Another comparison is shown in Table 6 and Fig. 10. We used a trajectory that is different from the verification trajectory which composed of points 1–6. The normal and roll directions still improve accuracy from 32.1 % to as much as 53.0 %, but the pitch direction has no effect. The cause of this difference is backlash. We found that the influence of motor backlash is excessively large with our robot’s structure operating pitch calibration. A different structure of the robot should be adjusted by the other direction.
Conclusions
Robot accuracy was improved in this research. A calibration mechanism and procedure were designed for calibrating manipulators. The robot arm is moved to calibration points and its positions and angles are recorded. The errors can be obtained by comparing the ideal and real positions. Then, new DH parameters are iteratively obtained using an optimization method. To verify the results, the robot arm was moved to specific positions and its motion was captured by a camera system to determine improvement in accuracy. Robot initial average error is 26.850 mm and the average error(improvement) after calibration are 16.436(38.789 %), 19.099(28.866 %), and 22.207(17.292 %) via optimization in normal, roll, and pitch direction, respectively. The result shows that robot accuracy was enhanced at any workspace which can be chosen by user. If the error of the calibration table is small enough to be ignored, this calibration process can be conducted without a camera system. Many unknown factors affect robot errors. The robot system was very complicated and thus difficult to analyze. Although robot accuracy was improved, only geometric errors were considered. In the future, more uncertainty factors will be studied to make the robot arm more accurate.
References
Caenen JL, Angue JC (1990) Identification of geometric and nongeometric parameters of robots. In: Proceedings of 1990 IEEE international conference onrobotics and automation, vol 2, pp 1032–1037, May
Chou CK, Yang WT, Lin PC (2014) Dualarm object manipulation by a hybrid controller with kalmanfilterbased inputs fusion. In: 2014 CACS international automatic control conference (CACS), pp 308–313, Nov
Conrad KL, Shiakolas PS, Yih T (2000) Robotic calibration issues: Accuracy, repeatability and calibration. In: Proceedings of the 8th Mediterranean conference on control and automation (MED2000), Rio
Denavit J (1955) A kinematic notation for lowerpair mechanisms based on matrices. Trans ASME J Appl Mech 22:215–221
Elatta AY, Li PG, Fan LZ, Yu D, Luo F (2004) An overview of robot calibration. Inf Technol 3:74–78
Hsueh YC (2012) Impacts of tolerance and stiffness on the accuracy of manipulators with payload. Master’s thesis, National Cheng Kung University
ISO 9283 (1998) Manipulating industrial robots—performance criteria and related test methods. International Standards Organization
Jang JH, Kim SH, Kwak YK (2001) Calibration of geometric and nongeometric errors of an industrial robot. Robotica 19:311–321
Karan B, Vukobratovic M (1994) Calibration and accuracy of manipulation robot modelan overview. Mech Mach Theory 29(3):479–500
Lai MC (2014) Multiobjective optimal path planning for robot manipulators with joint clearance. Master’s thesis, National Cheng Kung University
Mooring B, Driels M, Roth Z (1991) Fundamentals of manipulator calibration. Wiley, New York
Mousavi A, Akbarzadeh A, Shariatee M, Alimardani S (2015) Repeatability analysis of a scara robot with planetary gearbox. In: 2015 3rd RSI international conference on robotics and mechatronics (ICROM), pp 640–644, Oct
Mukras S, Kim NH, Mauntler NA, Schmitz TL, Sawyer WG (2010) Analysis of planar multibody systems with revolute joint wear. Wear 268(56):643–652
Roth ZS, Mooring B, Ravani B (1987) An overview of robot calibration. IEEE J Robot Autom 3:377–385
Slamani M, Nubiola A, Bonev I (2012) Assessment of the positioning performance of an industrial robot. Ind Robot 39(1):57–68
Smith C, Karayiannidis Y, Nalpantidis L, Gratal X, Qi P, Dimarogonas DV, Kragic D (2012) Dual arm manipulation—a survey. Robot Autonom Syst 60(10):1340–1353
Wallén J (2008) The history of the industrial robot. Technical report 2853, Linköping University, Automatic Control
Authors' contributions
KLL: Constructing optimization equation, writing calibration program and composition of paper. WTY: Concluding control program of robot arm, design of calibration table, and the conduction experimental results. KYC: Corresponding author, oversee optimization equation and calibration program. PCL: Oversee control program of robot arm, design of calibration table, and the conduction experimental results. All authors read and approved the final manuscript.
Acknowledgements
This work was supported by the Ministry of Science and Technology of Taiwan under grant MOST 1032622E002033CC3. The author would like to thank MOST and NEXCOM for their support of this research.
Competing interests
The authors declare that they have no competing interests.
Author information
Appendix
Appendix
Denavit–Hartenberg transformation matrix
The DH transformation matrix is commonly used to transform coordinates from one frame to another. The convention of affixing frames was given in “Frame of the robot arm” section. In this subsection, we will construct a transformation matrix from frame \(i1\) to frame i. There are four steps:

Step 1. Frame \(i1\) is translated along \(z_{i1}\) by a distance \(d_i\), and its origin \(O_{i1}\) coincides with \(H_{i1}\). The transformation matrix of this step is:
$$\begin{aligned} T(z,d) = \begin{bmatrix}{\begin{matrix} 1&{}0&{}0&{}0 \\ 0&{}1&{}0&{}0 \\ 0&{}0&{}1&{}d_i \\ 0&{}0&{}0&{}1 \\ \end{matrix}}\end{bmatrix} \end{aligned}$$(5) 
Step 2. Frame \(i1\) is rotated about \(z_{i1}\) by angle \(\theta _i\), and the \(x_{i1}\) axis will coincide with \(x_i\). The transformation matrix of this step is:
$$\begin{aligned} T(z,\theta ) = \begin{bmatrix}{\begin{matrix} \cos \theta _i&{}\sin \theta _i&{}0&{}0 \\ \sin \theta _i&{}\cos \theta _i&{}0&{}0 \\ 0&{}0&{}1&{}0 \\ 0&{}0&{}0&{}1 \\ \end{matrix}}\end{bmatrix} \end{aligned}$$(6) 
Step 3. Frame \(i1\) is translated along \(x_i\) by a distance \(L_i\), and then origin \(O_{i1}\) will coincide with \(O_i\). The corresponding transformation matrix is:
$$\begin{aligned} T(x,L) = \begin{bmatrix}{\begin{matrix} 1&{}0&{}0&{}L_i \\ 0&{}1&{}0&{}0 \\ 0&{}0&{}1&{}0 \\ 0&{}0&{}0&{}1 \\ \end{matrix}}\end{bmatrix} \end{aligned}$$(7) 
Step 4. Frame \(i1\) is rotated about \(z_{i1}\) by an angle \(\alpha _i\), and then frame \(i1\) coincide with frame i completely. The transformation matrix is:
$$\begin{aligned} T(x,\alpha ) = \begin{bmatrix}{\begin{matrix} 1&{}0&{}0&{}0 \\ 0&{}\cos \alpha _i&{}\sin \alpha _i&{}0 \\ 0&{}\sin \alpha _i&{}\cos \alpha _i&{}0 \\ 0&{}0&{}0&{}1 \\ \end{matrix}}\end{bmatrix} \end{aligned}$$(8)
Using steps 1 to 4, the four subcomponents of the transformation matrix from frame \(i1\) to frame i are obtained. Postmultiplying each matrix yields:
This equation can be expanded to:
This is called the DH transformation matrix. The superscript i−1 and the subscript i represent the transformation from frame \(i1\) to frame i, respectively.
Definition of DH parameters
The DH transformation matrix includes four parameters, namely \(d_i\), \(\theta _i\), \(L_i\), \(\alpha _i\). The convention of the parameters is described as follows.

1.
\(d_i\): the distance of the line that is common perpendicular to \(x_{i1}\) and \(x_i\). \(d_i = \overline{H_{i1}O_{i1}}\). If \(d_i\) direction is along \(z_{i1}\), \(d_i\) is positive and vice versa.

2.
\(\theta _i\): the angle between \(x_{i1}\) and \(x_i\).

3.
\(L_i\): the offset between two neighboring joints and the line that is common perpendicular to \(z_{i1}\) and \(z_i\).

4.
\(\alpha _i\): the angle between \(z_{i1}\) and \(z_i\).
For a serial robot arm only with only rotational joints, these four parameters are sufficient to describe its kinematics.
Forward kinematic method
From the obtained joint angles, the position of the system can be calculated using forward kinematics, as mentioned in “The modeling and experiment setup of a 3DOF serial robot” section.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Li, K., Yang, W., Chan, K. et al. An optimization technique for identifying robot manipulator parameters under uncertainty. SpringerPlus 5, 1771 (2016) doi:10.1186/s4006401634175
Received
Accepted
Published
DOI
Keywords
 Robot manipulator
 Uncertainties
 Geometric tolerance
 Optimization
 Trajectory planning