Abstract
The pose accuracy is important performance index of industrial robot. In order to improve the pose accuracy, it is necessary to compensate the kinematic parameters of the robot. A novel approach for kinematic parameter compensation of robot based on the parameter solving of the ruled surface model is developed by establishing a model containing link error and kinematic pair error. The fitting axis of each joint is obtained by fitting the discrete points. Then, the fitting axes of the adjacent joints is used to identify the link errors and the link errors are compensated. This approach has been tested and verified on the LR7-710 robot. The test results show that the position error of the arc trajectory is reduced from 0.4580 to 0.0801 mm.
Introduction
Path planning is the key issue for robots. 1 The primary problem is to improve the pose accuracy of robot. Generally, link error and kinematic pair error play a major role in the pose accuracy. As a result, the robot has a high repetitive positioning accuracy, but a low absolute positioning accuracy.2,3 In order to improve the absolute positioning accuracy, it is necessary to compensate the kinematic parameters.4–8
A kinematic model must first be established for compensation. The most commonly used kinematic model are DH model. 9 However, the DH model is discontinuous when the axes of two adjacent kinematic pairs are parallel. In this case, the modified DH model proposed to eliminate discontinuity by adding a parameter. 10 Due to the additional parameter, the parameters identification complexity of model also increases. Stone and Sanderson apply Monte Carlo simulation techniques to gain relationship between manufacturing errors and robot positioning errors, and propose S-Model to eliminate errors due to manufacturing. 11 To solve the singularities of DH between consecutive parallel joints, Zhuang et al. propose a six-parameter CPC model to make it closer to the DH model. 12 Due to the constraints of joint twists, the traditional methods based on the POE are not minimal. Yang et al. propose a minimal kinematic model for serial robot calibration using POE formula, whose parameters are completely independent and minimal. 13 In these models, they do not consider the effect of kinematic pair error on link error. Since the link is installed on the kinematic pair, the kinematic pair error will be transmitted through the link. And the link error ultimately affects the accuracy of robot.
The actual trajectory of the end link can be obtained by measurement. And the measurement obtains the six kinematic parameters of the end link. It contains three translations and three rotations.14–17 As the number of joints increases, the equations for parameter identification will also increase, which will increase the difficulty of identification. In order to reduce the difficulty of parameter identification, many scholars put forward a variety of identification methods.18,19 Renders et al. propose a new technique for the calibration of robots base on a maximum likelihood approach for the identification of geometrical errors. 20 But this approach does not take into account the non-geometrical errors. Since robot motion involves error and noise, the classic methods are not stable. So, Ohtsuki et al. propose a method to absorb an error of real and virtual angles by three kinds of learning trees on the identification of robot parameters. 21 Yu et al. propose a Bayesian method to acquire the motion intention in a human-robot and neural networks are used to compensate the uncertainties. And the experiment shows that the approach is feasible. 22 To improve the absolute positioning accuracy of robot. Luo et al. propose the pre-identification of the kinematic parameter deviations of robot was achieved by using the Levenberg-Marquardt algorithm. 23 However, due to large number of parameters, these approaches may result in non-homogeneity and low convergence.
To further improve the identification accuracy and efficiency, a new error model of robot including link errors and kinematic pair errors is presented in this paper. In this model, the direction of the kinematic trajectory is represented by the spherical image of the ruled surface. The position of the kinematic trajectory is represented by the waistline parameter of the ruled surface. The kinematic parameter compensation based on this model can overcome the low convergence and non-homogeneity of the common methods.
The end trajectory error of 6R serial robot
Due to the geometric shape error and the size error of the mating surface of the robot parts, the kinematic pair error is universal. For revolute pairs, the center line of the rotating shaft has a deviation in rotation. And the link is installed on a revolute pair, and the error of the revolute pair will affect the trajectory of the end link. For 6R serial robots, the end trajectory error is the superposition of the errors of six joints.
The vector equation of the kinematic trajectory on a revolute pair
As shown in Figure 1, in the real mechanism, the error of the real motion axis of kinematic pair

Actual motion of the revolute pair.
Where
Where letters c and s stand for cosine and sine.
When the link
The DH parameter expression of equation (4) is as follows:
Where
In equation (3), where
The discrete trajectory of the link
Where
Kinematics model of 6R serial robot
As shown in Figure 2, the motion coordinate

Kinematics model of 6R serial robot.
The vector equation from coordinate frame
Since the error of the kinematic pair is much smaller than the error of the link, the error described by the equation (1) can be approximately described as the link rotating around the ideal axis
Where
The method of the kinematic parameter identification for robot
Equations (3)–(5) indicate that the revolute pair error will cause a position error at the end point of the link. The parameters of the axis can be obtained by fitting the motion trajectory. The distance between two adjacent axes is the real rod length. After the real rod length is obtained, the kinematic parameters of the robot are compensated by inverse solution of the equation (9) to obtain higher trajectory accuracy.
The identification process of kinematic parameters
A measuring tool with three tapered points is fixed on the end of the robot, as shown in Figure 3. And the coordinates of the three tapered points are used to fit the coordinates of the end points.

The measuring tool.
The measurement of the tapered point at the end link
In order to obtain more accurate tapered point coordinates, four measurements are made for each tapered point. Then, the sphere fitting is performed on the four coordinates, and the fitting sphere center is used to represent the real coordinates of the tapered point. The calculation process is as follows:
Where the
Matrixes
Where (
The calculation of the center point at the end link
The coordinates
Where
According to the kinematic geometry, three non-collinear points on a link can be used to determine the discrete motion of the link.
23
So, the tapered points
The discrete motion can be calculated as follows:
Where atan2 stand for the double parameters arctangent function. Variables
The motion trajectory of a single joint
When the robot rotates with a single joint, the motion trajectory formed by the end of the robot in space can be represented by a discrete spherical image

Spherical image circle fitting.
The linear trajectory parameters of the real rotary motion are presented as discrete parameter sets
The vector equation of the axis fitting of the kinematic pair
The fitting axis is divided into two steps: axis direction fitting and axis position fitting.
The axis direction fitting function is expressed as follows:
Where
The axis position fitting function is expressed as follows:
Where

Striction circle fitting.
The kinematic parameter identification of adjacent axes
The vector equation of the axis
Where
The equations in discrete form of the fitting axes of the six joints during the measurement process can be expressed as follows:
Where equation (23) is the discrete form of equation (22). The {
The distance
Where
The identification approach and example verification
The approach based on the parameter solving of the ruled surface model is used to identify the kinematic parameters of the robot. The real rod length is determined by the identified kinematic parameters, and the robot is compensated for verification.
The LR7-710 robot is used to verify the proposed approach, as shown in Figure 6. The discrete motions of the end link generated by revolute pairs are measured, respectively. During the measurement, each joint is controlled individually, which means that when one joint is measured, the others are kept in the original positions. For each joint, 8 discrete positions are chosen to determine the position and orientation of the axis. And the process is as follows:
Step 1: Calculate the coordinates
Step2: Calculate the center point
Step 3: Calculate the position and orientation of the axis
In this step, ideally, since the axis of rotation of the sixth joint is parallel to the central axis. Therefore, the position and orientation of the first five axes and the position and orientation of the sixth axis are calculated independently.

The environment of experiment.
The kinematic parameters of the end link.
The position vectors
The position and orientation of the first five axes.
The first five axes are shown in the following Figure 7 and Figure 8:

The fitting axes: (a) the axis of the 1st joint, (b) the axis of the 2nd joint, (c) the axis of the 3rd joint, (d) the axis of the 4th joint, and (e) the axis of the 5th joint.

The first five axes.
The position and orientation of the sixth axis is calculated based on the parameter solving of the ruled surface model. The position
And the ruled surface formed by the 6th joint is shown in Figure 9:
Step 4: Calculate the kinematic parameters.

The ruled surface formed by the 6th joint.
As shown in Figure 2,
The value of real and nominal rod length.
Step 5: Compensate errors by inverse solution of kinematic equation
The identified parameters are used to compensate these errors by inverse solution of the equation (9). After errors compensation is completed, the trajectory error can be calculated before and after compensation by controlling the robot to walk the arc trajectory, as shown in Figure 10:

The trajectory error before and after compensation.
The results show the trajectory errors are decreased enormously with compensation.
Conclusions
A new approach for kinematic parameter compensation of robot based on the parameter solving of the ruled surface model is developed by establishing a model containing kinematic pair error and link error. The results are summarized as follows.
A model containing kinematic pair error and link error is established. The model provides a basis for the identification of robot parameters.
A new approach for identification of robot rod length error is proposed. This approach mainly solves from the geometrical aspect. This approach calculates the real axis by fitting the single-joint motion trajectory.
Take the LR7-710 robot as an example, using the identification approach proposed in this paper to complete the identification of the rod length error. And the effectiveness of the approach is verified by controlling the robot to walk the arc trajectory. The position error of the arc trajectory is reduced from 0.4580 to 0.0801 mm.
Footnotes
Appendix
|
|
|
|
|||
|---|---|---|---|---|---|
| t = 1 | u = 1 | −857.5720 | −44.6127 | 53.6306 | |
| u = 2 | −839.9890 | −55.8295 | 90.1933 | ||
| u = 3 | −863.0250 | −91.0522 | 89.8241 | ||
| t = 2 | u = 1 | −750.0800 | 49.5447 | 52.8692 | |
| u = 2 | −739.0850 | 31.8720 | 89.7792 | ||
| u = 3 | −774.8380 | 9.6199 | 89.3125 | ||
| t = 3 | u = 1 | −612.6530 | 89.4458 | 52.9660 | |
| u = 2 | −610.4090 | 68.7020 | 89.8726 | ||
| u = 3 | −652.3630 | 63.6710 | 89.2991 | ||
| t = 4 | u = 1 | −471.2500 | 67.3520 | 53.7936 | |
| u = 2 | −478.1720 | 47.5932 | 90.6596 | ||
| u = 3 | −518.3300 | 60.7437 | 89.8561 | ||
| t = 5 | u = 1 | −352.3000 | −12.2771 | 54.9670 | |
| u = 2 | −367.3310 | −27.1245 | 92.0486 | ||
| u = 3 | −398.0430 | 1.5029 | 90.9363 | ||
| t = 6 | u = 1 | −278.6190 | −135.1170 | 56.9553 | |
| u = 2 | −298.6140 | −142.4710 | 93.5731 | ||
| u = 3 | −314.1880 | −102.9600 | 92.6423 | ||
| t = 7 | u = 1 | −263.5930 | −277.3110 | 58.2771 | |
| u = 2 | −284.8920 | −275.7480 | 95.0089 | ||
| u = 3 | −282.5500 | −233.4870 | 94.2769 | ||
| t = 8 | u = 1 | −309.8200 | −412.8430 | 59.2910 | |
| u = 2 | −328.6410 | −402.3040 | 95.8501 | ||
| u = 3 | −308.7340 | −365.0350 | 95.1201 | ||
|
|
|
|
|||
|
|
t = 1 | u = 1 | −525.1930 | −157.0530 | 145.2330 |
| u = 2 | −542.7490 | −189.3240 | 166.7720 | ||
| u = 3 | −579.9410 | −169.2040 | 166.1382 | ||
| t = 2 | u = 1 | −487.8710 | −86.3724 | 128.1789 | |
| u = 2 | −503.4490 | −114.7030 | 155.7297 | ||
| u = 3 | −540.8970 | −94.7370 | 154.8674 | ||
| t = 3 | u = 1 | −452.3230 | −19.3801 | 97.6352 | |
| u = 2 | −465.4520 | −43.0827 | 130.2884 | ||
| u = 3 | −502.6520 | −23.0897 | 129.4786 | ||
| t = 4 | u = 1 | −419.6380 | 41.6432 | 54.2746 | |
| u = 2 | −429.9790 | 23.3903 | 91.1499 | ||
| u = 3 | −467.1850 | 43.4445 | 90.4715 | ||
| t = 5 | u = 1 | −390.8990 | 95.2479 | −0.3858 | |
| u = 2 | −398.1500 | 82.8792 | 39.5739 | ||
| u = 3 | −435.4780 | 102.7227 | 38.6191 | ||
| t = 6 | u = 1 | −367.1600 | 139.1662 | −64.6725 | |
| u = 2 | −371.0780 | 133.1195 | −22.8543 | ||
| u = 3 | −408.4560 | 152.8681 | −23.7862 | ||
| t = 7 | u = 1 | −348.7520 | 172.8124 | −136.7460 | |
| u = 2 | −349.3140 | 173.3094 | −94.3974 | ||
| u = 3 | −386.6910 | 192.9621 | −95.2596 | ||
| t = 8 | u = 1 | −336.5210 | 194.9635 | −214.3100 | |
| u = 2 | −333.5590 | 201.9527 | −172.5080 | ||
| u = 3 | −371.0380 | 221.4946 | −173.4960 | ||
|
|
|
|
|||
|
|
t = 1 | u = 1 | −633.7070 | −269.7980 | 414.7037 |
| u = 2 | −596.4290 | −289.6960 | 414.8337 | ||
| u = 3 | −616.1710 | −326.4200 | 407.8531 | ||
| t = 2 | u = 1 | −598.2680 | −201.7730 | 395.6979 | |
| u = 2 | −560.6120 | −221.6140 | 395.9264 | ||
| u = 3 | −580.8070 | −258.8530 | 396.3278 | ||
| t = 3 | u = 1 | −564.3820 | −137.9100 | 363.3552 | |
| u = 2 | −527.0080 | −157.7950 | 363.9291 | ||
| u = 3 | −546.8710 | −194.2580 | 371.4830 | ||
| t = 4 | u = 1 | −533.5970 | −79.8493 | 319.3413 | |
| u = 2 | −496.2030 | −99.8187 | 319.7867 | ||
| u = 3 | −515.2260 | −134.5520 | 334.5681 | ||
| t = 5 | u = 1 | −506.3380 | −29.5173 | 264.7364 | |
| u = 2 | −469.1220 | −49.3769 | 265.0454 | ||
| u = 3 | −486.9000 | −81.2760 | 286.4824 | ||
| t = 6 | u = 1 | −484.4660 | 11.6163 | 200.3734 | |
| u = 2 | −447.0380 | −8.3377 | 200.9524 | ||
| u = 3 | −462.7470 | −36.3544 | 228.5566 | ||
| t = 7 | u = 1 | −467.6610 | 42.2451 | 129.8564 | |
| u = 2 | −430.2720 | 22.3069 | 130.3756 | ||
| u = 3 | −443.5600 | −1.0727 | 162.9524 | ||
| t = 8 | u = 1 | −456.9040 | 61.0471 | 53.4998 | |
| u = 2 | −419.4610 | 41.1228 | 54.0618 | ||
| u = 3 | −429.9510 | 23.1889 | 90.8549 | ||
|
|
|
|
|||
|
|
t = 1 | u = 1 | −456.9170 | 59.8709 | −27.3218 |
| u = 2 | −466.2440 | 40.4702 | −63.8847 | ||
| u = 3 | −428.6050 | 21.1112 | −62.8041 | ||
| t = 2 | u = 1 | −477.0580 | 70.7247 | −0.5513 | |
| u = 2 | −509.4640 | 63.5625 | −26.8235 | ||
| u = 3 | −482.4150 | 49.4210 | −56.0614 | ||
| t = 3 | u = 1 | −474.6200 | 69.5038 | 34.5304 | |
| u = 2 | −517.0000 | 67.8976 | 33.8617 | ||
| u = 3 | −516.1140 | 67.5068 | −8.4096 | ||
| t = 4 | u = 1 | −450.8030 | 57.5205 | 57.1468 | |
| u = 2 | −484.0430 | 51.1248 | 82.7538 | ||
| u = 3 | −509.8440 | 64.7972 | 52.2790 | ||
| t = 5 | u = 1 | −419.7730 | 41.2771 | 54.2790 | |
| u = 2 | −430.0810 | 23.0578 | 91.1594 | ||
| u = 3 | −467.4120 | 42.9093 | 90.2235 | ||
| t = 6 | u = 1 | −399.6660 | 30.6010 | 27.4995 | |
| u = 2 | −386.8580 | 0.1105 | 53.9585 | ||
| u = 3 | −413.5950 | 14.7468 | 83.2929 | ||
| t = 7 | u = 1 | −402.2140 | 31.6113 | −7.4564 | |
| u = 2 | −379.5480 | −4.3138 | −6.6379 | ||
| u = 3 | −379.9880 | −3.3367 | 35.6030 | ||
| t = 8 | u = 1 | −426.0820 | 43.8777 | −30.1130 | |
| u = 2 | −412.6040 | 12.5857 | −55.5971 | ||
| u = 3 | −386.1210 | −0.3970 | −24.8570 | ||
|
|
|
|
|||
|
|
t = 1 | u = 1 | −481.7770 | −75.4349 | 132.2426 |
| u = 2 | −500.5100 | −110.7490 | 118.0382 | ||
| u = 3 | −537.6610 | −90.6565 | 117.8686 | ||
| t = 2 | u = 1 | −457.8650 | −29.7009 | 129.5267 | |
| u = 2 | −477.8150 | −66.9610 | 133.5183 | ||
| u = 3 | −514.9350 | −46.8062 | 133.1527 | ||
| t = 3 | u = 1 | −436.4590 | 10.6171 | 105.1331 | |
| u = 2 | −453.7600 | −21.5465 | 126.7757 | ||
| u = 3 | −491.1270 | −1.5023 | 126.0058 | ||
| t = 4 | u = 1 | −421.6680 | 37.9337 | 63.8310 | |
| u = 2 | −433.3580 | 16.9092 | 98.8024 | ||
| u = 3 | −470.6640 | 36.8013 | 97.8913 | ||
| t = 5 | u = 1 | −416.1480 | 47.2219 | 13.3632 | |
| u = 2 | −420.0800 | 41.2228 | 55.1852 | ||
| u = 3 | −457.4570 | 60.9247 | 54.2401 | ||
| t = 6 | u = 1 | −421.1040 | 36.5898 | −36.8510 | |
| u = 2 | −416.5340 | 46.8122 | 4.1131 | ||
| u = 3 | −454.0320 | 66.2940 | 3.1350 | ||
| t = 7 | u = 1 | −435.5910 | 8.2449 | −77.5144 | |
| u = 2 | −423.4080 | 32.8284 | −45.1699 | ||
| u = 3 | −461.0070 | 52.0840 | −45.9814 | ||
| t = 8 | u = 1 | −456.7000 | −32.5338 | −101.0010 | |
| u = 2 | −439.2200 | 1.8608 | −83.1583 | ||
| u = 3 | −476.9670 | 20.9420 | −83.8225 | ||
|
|
|
|
|||
|
|
t = 1 | u = 1 | −417.0480 | 44.3973 | −7.1106 |
| u = 2 | −417.6130 | 44.9306 | 35.3408 | ||
| u = 3 | −455.0670 | 64.4764 | 34.3456 | ||
| t = 2 | u = 1 | −409.6930 | 40.7120 | 14.1488 | |
| u = 2 | −436.7020 | 54.9111 | 43.6558 | ||
| u = 3 | −462.6300 | 68.2703 | 13.0911 | ||
| t = 3 | u = 1 | −417.8250 | 45.1042 | 34.9885 | |
| u = 2 | −455.4560 | 64.6650 | 34.3279 | ||
| u = 3 | −454.7750 | 63.9444 | −7.8880 | ||
| t = 4 | u = 1 | −436.6730 | 55.0314 | 43.3169 | |
| u = 2 | −462.9920 | 68.4159 | 12.8209 | ||
| u = 3 | −435.9350 | 54.1231 | −16.3933 | ||
| t = 5 | u = 1 | −455.2330 | 64.6326 | 34.1300 | |
| u = 2 | −454.8140 | 63.9919 | −8.3024 | ||
| u = 3 | −417.3200 | 44.5111 | −7.3783 | ||
| t = 6 | u = 1 | −462.6630 | 68.3396 | 12.8210 | |
| u = 2 | −435.7290 | 54.0576 | −16.6991 | ||
| u = 3 | −409.7430 | 40.6925 | 13.8265 | ||
| t = 7 | u = 1 | −454.5680 | 63.9419 | −8.0938 | |
| u = 2 | −416.9760 | 44.2803 | −7.4067 | ||
| u = 3 | −417.6710 | 44.9920 | 34.8344 | ||
| t = 8 | u = 1 | −435.6510 | 54.1025 | −16.4364 | |
| u = 2 | −409.5390 | 40.4270 | 13.9208 | ||
| u = 3 | −436.4600 | 54.8563 | 43.2214 |
Handling Editor: Chenhui Liang
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: The authors acknowledge with appreciation the financial support from National Natural Science Foundation of China (Grant No. 52065028).
