# Robot Control Using Alternative Trajectories Based on Inverse Errors in the Workspace

Authors: Quoc Khanh Duong; Thanh Trung Trang; Thanh Long Pham
Journal: Journal of Robotics
 (2021)

---

## Abstract

It is easy to realize that most robots do not move to the desired endpoint (Tool Center Point (TCP)) using high-resolution noncontact instrumentation because of manufacturing and assembly errors, transmission system errors, and mechanical wear. This paper presents a robot calibration solution by changing the endpoint trajectories while maintaining the robot’s control system and device usages. Two independent systems to measure the endpoint positions, the robot encoder and a noncontact measuring system with a high-resolution camera, are used to determine the endpoint errors. A new trajectory based on the measured errors will be built to replace the original trajectory. The results show that the proposed method can significantly reduce errors; moreover, this is a low-cost solution and easy to apply in practice and calibration can be done cyclically. The only requirement for this method is a noncontact measuring device with high-resolution and located independently with the robot in calibration.


---

## Body

## 1. Introduction

Actuators, particularly robots, will have kinetic errors after a long working time. Over the years, researchers have proposed various methods to employ software interference to overcome this problem.Ali et al. [1] used an IMU and a position sensor which are closely tied to the robot tool to automatically measure the robot position during the working time. Ultrasonic triangulation sensors used for the position tracking had increased processing speed and reduced the computational power, allowing the robot to react faster. The kinematics can be identified by EKF (Extended Kalman Filter) after estimating the robot positions. Although this method can reduce parameter errors, constant adjustment of the robot joint to achieve the target point is necessary. Therefore, it is time-consuming and the manipulator accuracy depends on the feedback errors. Wang et al. [2] calibrated a 5500 kg 8-DOF (degree of freedom) engineering robot based on joint angle division and an artificial neural network (ANN). To reduce the influence of alignment errors on positioning accuracy, the joint angle workspace is divided into several local regions and each region has its own set of DH parameters. ANN model will compensate for the remaining errors instead of the complex model of nongeometric errors. The results showed that the average position errors were reduced from 17 cm to 4.5 cm after compensation. Wu et al. [3] used a new industry-oriented performance measure to evaluate the calibration plan quality through the manipulator positioning accuracy after geometrical error compensation and studied the industrial requirements related to the prescribed manufacturing task. It is proved that the suggested performance evaluation can be shown as the weighted trace of the associated covariance matrix, in which the weighting coefficients are determined by the corresponding test position. Advanced partial position measurement method is the basis for a dedicated algorithm for geometric parameter determination, using only direct position measurements from an external device for many reference endpoints. The user can enhance the basic parameter recognition accuracy and avoid further calculations of the end-effector orientation components, which may lead to inconsistencies in the relevant identification equations. The manipulator’s geometric parameters have been determined with an accuracy of 0.15 mm and 0.01° for linearity and angle (on average), respectively. These findings achieved a manipulator positioning accuracy of 0.17 mm, which is 5.5 times better than uncalibrated robots. Moreover, some researchers examined the robot’s TCP-attached camera and used the “virtual closed kinematic chain” closed-loop method recommended in [4–7], using joint angle measurements in the robot control software, and it can also be known as self-calibration. In addition, Hans and Beno [8] presented a Computer Vision 3D Model-based method to track every position of a six-DOF robot in real time through a combination of textured model projection and optical stream. Hsiao et al. [9] used a robot hand with tactile sensors to localize the object on a table and finally reached the targeted position. Quet al. [10] showed a closed-loop tracking system based on a laser sensor to reduce the robot’s approximation error to less than 0.2 mm and ±1” during the drilling process for aircraft-assisted robot assembly. Nevertheless, these methods have restrictions, as their requirements are complex steps, such as camera calibration, angle detection, and laser alignment. Laser-based methods require a broad and open-sided space, and the laser beam is easily sheltered during manipulation. These actions are difficult, time-consuming, and impossible for several applications. Du and Zhang [11–13] used an IMU rigidly attached to the TPC to evaluate the robot position in real time. To reduce the influence of noise and increase accuracy, a method linking FQA (Factored Quaternion Algorithm) and KF (Kalman Filter) was proposed to find out the orientation of the IMU. Ultimately, an EKF (Extended Kalman Filter) is applied to examine the differential errors of each kinematic parameter. The mean approximation error is reduced by about 0.51 mm. The significant benefit of this method is that the system captures images without making more movement. After the robot executes a command, it stops and the system simultaneously collects static measurement data from the IMU. Liu et al. [14] developed a method to improve robot control accuracy, which uses a multiple-sensor combination measuring system (MCMS), including a visual sensor, an angle sensor, and a series robot. The visual sensor measured the manipulator position in real time, and the angle sensor was attached closely to the manipulator to determine its orientation. Two data consolidation techniques, the Kalman Filter (KF) and multisensor optimal information fusion algorithm (MOIFA), were used to combine the manipulator’s position and orientation. The test results showed that the highest accuracy of the photogrammetry system was located at the center of the FOV, which was at the range of 1 × 0.8 × 1∼2 × 0.8 × 1 m. The robot manipulator’s position error was less than 1 mm after calibration. Švaco et al. [15] used a noncontact stereo vision system attached to robot Kuka KR 6 R900 to define calibration points represented as spheres in the workspace. Each robot configuration gives different sphere center coordinates. The position error was reduced from 3.63 mm to 1.29 mm after calibration. The accuracy around the calibration points has been improved with a tolerance of 0.74 mm using optimizing offset values of the original robot kinematic model. However, the calibrated parameters could not be imported directly to the robot controller and a new kinematic solver was required to handle the new model definition. Furthermore, this tolerance was only a simulated result from MATLAB and still needed to be confirmed in real experiments. Barati et al. [16] used five different algorithms (least squares, genetic algorithms, particle swarm optimization algorithm, QPSO, and Sa-PSO) to identify and calibrate the 3 DOF manipulators’ positioning errors caused by inaccuracy of the geometrical parameters. The advantages of this method were that only an encoder was needed to measure the joint angle and a graduated plate with an accuracy of ±10μm was used to determine the endpoint’s position. The results showed that 87% of the positioning errors had been compensated. However, some sources of errors such as thermal errors, joint transducer errors, and steady state errors in the joint positions were not included in the calibration model.In this paper, we introduce a new method to calibrate the robot’s accuracy by a noncontact measuring device with a suitable resolution to the required accuracy. The measured TCP errors will be converted backward to find a replacement point to reduce the kinetic error. This technique is easily and cheaply applied in industry, which makes it perfect for calibration in robot maintenance cycles.


## 2. Coordinate Transformation in the Workspace

### 2.1. Coordinate Transformation between Two Endpoints

P1 is the desired position that TCP needs to achieve according to the technological requirement. Because of actuator errors, the actual position received is P2. Both data are represented in the same O0 coordinate system which is attached to the first link of the investigated robot. The relationship between the two data is given by equation (1):(1)T.p1=p2.Here,T is the general transformation matrix that can comprise the orientation of TCP at the survey point and may not depend on technological requirements.If only position compensation is required and the orientation compensation requirement at work point is neglected,(2)T=100±dx010±dy001±dz0001.In this case, it is necessary to compensate for both the position and orientation of the work point:(3)T=nxsxax±dxnysyay±dynzszaz±dz0001.


### 2.2. Convert the Measured Data by Camera

The data received by the camera are converted to represent in theO0 frame by an axis a transition matrix C determined by the camera itself. Equation (1) is extended by one more step:(4)T.C.p1=C.p2.


## 2.1. Coordinate Transformation between Two Endpoints

P1 is the desired position that TCP needs to achieve according to the technological requirement. Because of actuator errors, the actual position received is P2. Both data are represented in the same O0 coordinate system which is attached to the first link of the investigated robot. The relationship between the two data is given by equation (1):(1)T.p1=p2.Here,T is the general transformation matrix that can comprise the orientation of TCP at the survey point and may not depend on technological requirements.If only position compensation is required and the orientation compensation requirement at work point is neglected,(2)T=100±dx010±dy001±dz0001.In this case, it is necessary to compensate for both the position and orientation of the work point:(3)T=nxsxax±dxnysyay±dynzszaz±dz0001.


## 2.2. Convert the Measured Data by Camera

The data received by the camera are converted to represent in theO0 frame by an axis a transition matrix C determined by the camera itself. Equation (1) is extended by one more step:(4)T.C.p1=C.p2.


## 3. The Basic of Alternative Matrix

### 3.1. Reversing One Point of the Real and Alternative Trajectory

ConsiderP1 and P2 as shown in Figure 1, where P1 is the desired position of TCP and P2 is the actual position of TCP.Figure 1
(a) Relationship between desired positionP1 and control deviation P2. (b) Transformation matric T from P1 to P2. (c) Inversely convert T−1 from P1 to P3 to initiate alternative trajectory.
(a)(b)(c)Althoughdx,dy is quite small, it is possible to accurately determine the general transition (3) between them, which consists of a translational and a rotating motion. Assuming that the matrix T according to (4) is determined correctly, the following inverse relationship can be established:(5)p1=T−1.p2.Actually, the camera only showsP2 and does not show P1. P1 is determined according to (5) or provided by the encoders of the robot. If the displacement dx,dy is assumed to be small enough, the transformation from P1 to P3 is similar to the transformation from P1 to P2 because they are quite close to each other in the workspace; P3 is then determined by (6):(6)p3=T−1.p1.IfP3 is considered as an alternative point for the desired point P1, the above transition rule (4) gives the target, which is very close to P1:(7)p1≃T.p3.If a sequence of appropriate key points is created, the set ofP3 that forms the alternate trajectory is the set of interpolated P1. It should be noted that the use of the Ti transformation is suitable for the neighborhood of point Pi. Thus, to complete the trajectory, a corresponding set of transitions T1,T2,…Ti, the data completed in the robot calibration step when applying the alternative trajectory method, is needed.


### 3.2. Reversing All Actual Trajectories into an Alternative Trajectory

P1i is the set of key points of the desired trajectory, which is given in advance. P2i is the set of actual points that the camera measures in the test run. These data are combined to determine the parameters of Ti as follows:(8)dx=p2x−p1x,dy=p2y−p1y,dz=p2z−p1z.If only considering the displacement between two survey points, the matrixTi has the following form:(9)Ti=100p2x−p1x010p2y−p1y001p2z−p1z0001.The automatic conversion is determined entirely by the measurement results and a data processor performed at each measurement point given by (9). As shown in Figure 1, any nominal destination point in the test run will provide two pieces of information (9), which are as follows:(i)
PointP1, displayed on the robot control screen, is measured by the encoders attached to the joints of the robot.(ii)
PointP2 is recorded by the camera and automatically converted the frame according to (4).The alternative trajectory equation is expressed in a full form as in (10) instead of converting each point in (6):(10)p3i=Ti−1.p1i,i=1÷n.Note that (10) is the trajectory equation in the workspace. The conversion to the trajectory equation in the joint space still follows the normal sequence when controlling the robot. The whole algorithm is shown in Figure 2.Figure 2
Principle of alternative trajectory formation.If a trajectory substitution is performed, more than once, the points with the smallest error in each compensation are selected to regroup to form the alternative trajectory. In other words, if we callPij the point with the number of i at j trajectory displacement, the trajectory error of this point is denoted by eij and these errors are less than the given value ε, which means(11)eij≤ε;i=1÷n,j=1÷m.Therefore, to choose the key point of the alternative trajectory, the following statistics are required:(12)Preplacei=Mini=1÷nj=1÷mpij.


## 3.1. Reversing One Point of the Real and Alternative Trajectory

ConsiderP1 and P2 as shown in Figure 1, where P1 is the desired position of TCP and P2 is the actual position of TCP.Figure 1
(a) Relationship between desired positionP1 and control deviation P2. (b) Transformation matric T from P1 to P2. (c) Inversely convert T−1 from P1 to P3 to initiate alternative trajectory.
(a)(b)(c)Althoughdx,dy is quite small, it is possible to accurately determine the general transition (3) between them, which consists of a translational and a rotating motion. Assuming that the matrix T according to (4) is determined correctly, the following inverse relationship can be established:(5)p1=T−1.p2.Actually, the camera only showsP2 and does not show P1. P1 is determined according to (5) or provided by the encoders of the robot. If the displacement dx,dy is assumed to be small enough, the transformation from P1 to P3 is similar to the transformation from P1 to P2 because they are quite close to each other in the workspace; P3 is then determined by (6):(6)p3=T−1.p1.IfP3 is considered as an alternative point for the desired point P1, the above transition rule (4) gives the target, which is very close to P1:(7)p1≃T.p3.If a sequence of appropriate key points is created, the set ofP3 that forms the alternate trajectory is the set of interpolated P1. It should be noted that the use of the Ti transformation is suitable for the neighborhood of point Pi. Thus, to complete the trajectory, a corresponding set of transitions T1,T2,…Ti, the data completed in the robot calibration step when applying the alternative trajectory method, is needed.


## 3.2. Reversing All Actual Trajectories into an Alternative Trajectory

P1i is the set of key points of the desired trajectory, which is given in advance. P2i is the set of actual points that the camera measures in the test run. These data are combined to determine the parameters of Ti as follows:(8)dx=p2x−p1x,dy=p2y−p1y,dz=p2z−p1z.If only considering the displacement between two survey points, the matrixTi has the following form:(9)Ti=100p2x−p1x010p2y−p1y001p2z−p1z0001.The automatic conversion is determined entirely by the measurement results and a data processor performed at each measurement point given by (9). As shown in Figure 1, any nominal destination point in the test run will provide two pieces of information (9), which are as follows:(i)
PointP1, displayed on the robot control screen, is measured by the encoders attached to the joints of the robot.(ii)
PointP2 is recorded by the camera and automatically converted the frame according to (4).The alternative trajectory equation is expressed in a full form as in (10) instead of converting each point in (6):(10)p3i=Ti−1.p1i,i=1÷n.Note that (10) is the trajectory equation in the workspace. The conversion to the trajectory equation in the joint space still follows the normal sequence when controlling the robot. The whole algorithm is shown in Figure 2.Figure 2
Principle of alternative trajectory formation.If a trajectory substitution is performed, more than once, the points with the smallest error in each compensation are selected to regroup to form the alternative trajectory. In other words, if we callPij the point with the number of i at j trajectory displacement, the trajectory error of this point is denoted by eij and these errors are less than the given value ε, which means(11)eij≤ε;i=1÷n,j=1÷m.Therefore, to choose the key point of the alternative trajectory, the following statistics are required:(12)Preplacei=Mini=1÷nj=1÷mpij.


## 4. Case Study

In this study, we use the Collaborative 6 DOF robot and Leica camera in combination with AT960-MR probe as shown in Figure3 to measure the errors of survey points. Errors are obtained by comparing the two data of the robot and the camera after being referred to the robot’s original representation. Then, these errors are used to form the alternative trajectory. The change of trajectory is verified by the camera. The experiment was conducted at the School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou, Guangdong, China.Figure 3
Experimental layout and front view of Leica measuring equipment.
(a)(b)The measuring device used in the experiment is the Swiss Leica laser absolute coordinate measuring device; the probe used in the experiment is the AT960-MR [17]. The measuring equipment parameters are shown in Table 1, as follows.Table 1
Description of measuring equipment characteristics used in the experiment.
Accuracy∗Ux,y,z = ±15 µm + 6 µm/m∗All accuracies are specified as maximum permissible errors (MPE) and calculated per ASME B89.4.19-2006 and draft ISO10360-10 using precision Leica 1.5 red ring reflectors up to 60 m distance unless otherwise notedEnvironmental working conditionsdust/water operating temperatureIP54 (IEC 60529)0°C to + 40°CData output rate1 000 points/secAngle accuracydistance accuracy AIFM dynamic lock on± 15µm + 6 µm/m± 0.5 µm/m±10 µmOrient to gravity (OTG)Uz(OTG) = ± 15 µm + 8 µm/mLeica T-Mac∗position accuracy typical rotation accuracy rotation accuracy of timestamp±15µm + 6 µm/m± 0.01 degree ∗∗<5 microsecondsLeica T-scan 5Ux,y,z = ± 60 µm ∗210 000 points/sec∗Additional T-probe uncertainty to be added according to ISO/IEC Guide 98-3:2008 to the existing Leica absolute tracker AT960 “Ux,y,z” uncertainty for a complete “Ux,y,z” uncertainty up to 25 m distanceLeica T-probeUx,y,z = ±35 µmLaser safetyClass 2IEC 60825-1 (2014-05) “safety of laser products” EN 60825-1 (2007-10) “safety of laser products”∗All accuracies are stated in maximum permissible error (MPE). Typical results are half of MPE. ∗∗Typical accuracy.The DH’s parameters and the table of the experimental robot are shown in Figure4 and Table 2 as follows.Figure 4
Robot’s dynamic diagram and DH parameter table.Table 2
DH table of experimental robots.
Jointαi (degree)a (mm)d (mm)qi (degree)1−0.318−7.3788169.7586q1289.8912−0.9163179.4213q23−0.0217505.54510.4213q34−0.1666439.71390.4213q45−89.85110.8422160.4283q5689.9531−0.8371103.4869q6After the camera calibration is completed, two measurement channels with the same original frameO0 are established. The relationship between the coordinate of O0 attached to the first link of the robot and the Oc coordinate of the camera is shown in Table 3.Table 3
The relationship between theO0 coordinate of the robot and the Oc coordinate of the camera.
Parameter valuex (mm)y (mm)z (mm)Rx (degree)Ry (degree)Rz (degree)−466.564977.5747−127.71280.8936−0.34279.7938The coordinate system ofOTCP (i.e., coordinate system of AT960-MR probe installed in the coordinate system of the last link) and the O6 coordinate system are shown in Table 4.Table 4
The probe coordinates in the last link of robot.
Parameter valuex (mm)y (mm)z (mm)Rx (degree)Ry (degree)Rz (degree)7.5984−15.8128107.815290.15731.1997−61.0056RPY matrix is used to describe the orientation between two frames; the axis transition matrix between these two frames is as follows:(13)OTCP=T.Oc,where OTCP is the coordinates of TCP shown in the O0 frame of the robot; OC is the coordinates of TCP seen by the camera in the camera’s frame of reference; T is the axis transition matrix describing the correlated position between the camera and the experimental robot; in this case, T has the following form: (14)T=0.6316990.3342970.699401550.23340.6979310.147472−0.70091−449.973−0.337380.930947−0.1401381.18230001.Performing the trajectory replacement three times in a row, we have the errors after each time as shown in Table5.Table 5
Error without alternative trajectory and error after changing the trajectory three times.
PThe first compensationThe second compensationThe third compensationUncompensatedx (mm)y (mm)z (mm)Δ1x (mm)y (mm)z (mm)Δ2x (mm)y (mm)z (mm)Δ310.1518−0.4110−0.37560.57710.12230.0821−0.04930.1553−0.1223−0.08210.04930.15530.458520.3480−0.27770.23830.50500.15810.1385−0.08180.2255−0.1581−0.13850.08180.22550.435330.03030.0120−0.06270.07070.13700.1404−0.15090.2475−0.1370−0.14040.15090.24750.293440.1030−0.13860.13190.21730.0192−0.0013−0.14730.1486−0.01920.00130.14730.14860.28895−0.11890.0235−0.09510.15410.01450.1431−0.25210.2902−0.0145−0.14310.25210.29020.29756−0.18280.0311−0.14400.23480.04690.09510.02540.1091−0.0469−0.0951−0.02540.10910.284670.1553−0.00730.13170.20380.09060.0824−0.12080.1720−0.0906−0.08240.12080.17200.33118−0.0172−0.0215−0.07600.08080.04580.07640.08680.1243−0.0458−0.0764−0.08680.12430.49249−0.1161−0.0435−0.23410.26490.05560.08810.01680.1056−0.0556−0.0881−0.01680.10560.2400100.0974−0.10820.10330.17850.10590.1435−0.28770.3385−0.1059−0.14350.28770.33850.2189110.1026−0.0392−0.10580.15250.08720.11180.01800.1429−0.0872−0.1118−0.01800.14290.2514120.00950.0351−0.10420.1104−0.02940.1604−0.11380.19890.0294−0.16040.11380.19891.0255130.1131−0.08930.12520.19090.09620.01510.04050.1055−0.0962−0.0151−0.04050.10550.205014−0.0070−0.0854−0.02320.08880.11250.06150.33290.3568−0.1125−0.0615−0.33290.35680.226615−0.0977−0.0141−0.12100.15610.17510.1584−0.10970.2603−0.1751−0.15840.10970.26030.4230160.0875−0.00860.09830.13190.00620.0357−0.20570.2089−0.0062−0.03570.20570.20890.211617−0.0675−0.0468−0.06490.10470.00100.0834−0.30460.3158−0.0010−0.08340.30460.31580.194918−0.1280−0.0506−0.08790.1633−0.04270.06480.19520.21010.0427−0.0648−0.19520.21010.2314190.02700.1064−0.17130.20350.03040.0810−0.21950.2359−0.0304−0.08100.21950.23590.528220−0.06480.0595−0.19770.2164−0.0219−0.0319−0.01480.04140.02190.03190.01480.04140.365621−0.01540.0685−0.13560.1527−0.0397−0.0066−0.01120.04170.03970.00660.01120.04170.2020220.0044−0.12170.09510.15450.03370.0217−0.22360.2271−0.0337−0.02170.22360.22710.433623−0.1697−0.0996−0.15720.2519−0.1719−0.1713−0.08040.25570.17190.17130.08040.25570.485724−0.2146−0.1706−0.33900.4360−0.1922−0.1737−0.14390.29640.12220.13370.12390.21950.263025−0.0088−0.00840.13410.1347−0.0414−0.0442−0.17070.18110.04140.04420.17070.18110.612126−0.0410−0.1141−0.20720.24010.14600.15090.22600.3085−0.1460−0.1509−0.22600.30850.608627−0.1332−0.1220−0.15280.2366−0.04490.00220.48390.48600.0449−0.0022−0.48390.48600.2955280.09250.00710.06510.11330.16230.1948−0.25480.3595−0.1623−0.19480.25480.35950.405629−0.0319−0.0072−0.14780.15140.09730.10270.06080.1540−0.0973−0.1027−0.06080.15400.709530−0.1795−0.0560−0.02000.1891−0.2734−0.22470.10030.36780.27340.2247−0.10030.36780.3451310.15840.12820.16350.26130.3996−0.1232−0.06050.4226−0.39960.12320.06050.42260.4137320.0375−0.0364−0.00110.0523−0.3075−0.3034−0.19460.47370.30750.30340.19460.47370.4515330.0432−0.0338−0.20120.2085−0.1053−0.00660.30990.32730.10530.0066−0.30990.32730.3010340.3517−0.20760.03350.4098−0.2208−0.2495−0.00120.33310.20770.15950.00120.26190.3529350.09500.1144−0.12890.1968−0.1840−0.0758−0.42320.46770.18400.07580.42320.46770.239036−0.02050.00450.04640.0509−0.0794−0.0874−0.16980.20680.07940.08740.16980.20680.224137−0.06750.1108−0.12360.17920.1619−0.07550.37770.4178−0.16190.0755−0.37770.41780.252238−0.11490.0118−0.02190.11760.0247−0.0087−0.05240.0586−0.02470.00870.05240.05861.017239−0.2430−0.1785−0.10440.3191−0.3428−0.2457−0.19770.46580.34280.24570.19770.46580.519740−0.1160−0.2245−0.32280.4099−0.2329−0.19100.06580.30830.12330.1091−0.06580.17730.262241−0.2142−0.1800−0.17880.3321−0.1521−0.1592−0.02460.22150.15210.15920.02460.22150.436742−0.0474−0.22980.11030.2592−0.1859−0.2505−0.04430.31500.18590.25050.04430.31500.441843−0.1429−0.18910.10400.2588−0.2054−0.26380.04460.33730.20540.2638−0.04460.33730.385744−0.1813−0.18120.02410.2574−0.0999−0.1073−0.25400.29330.09990.10730.25400.29330.4038450.73370.11830.22060.7752−0.2390−0.25290.07310.35550.23900.2529−0.07310.35550.9020The results for the lowest error of the three times compensations are combined to form the alternative trajectory, as shown in Figure5.Figure 5
Graph of position error after changing the trajectory three times. The green line denotes the set of points when the trajectory is unchanged. The orange line denotes the set of points with the best error after changing the trajectory three times.Figure5 shows that, with mean error Δ = 0.39 (mm), it is necessary to change the trajectory three times. The best results of the three attempts will give the last alternative trajectory with the error graph of the orange line (the lowest) in Figure 5. Statistical-based calculations show that, after three compensations, the best trajectory obtained from the three-compensation data reduces the average error from 0.39 (mm) to 0.16 (mm), which means that the accuracy increased 58% compared to the original trajectory. When changing the trajectory, the error of all points will decrease sharply, and no single point has a higher or unchanged error.


## 5. Conclusions

There are several ways to calibrate robots. If their motion errors can be measured, the method proposed in this paper is of particular value for many reasons. First, the trajectory is changed without any software or hardware interference. Second, this is a way to maintain the habit of using robots. It does not affect production as calibration takes place in a certain cycle. Third, the alternative trajectory can be done after one or more replacements, but it only needs to change once and the error is reduced to the necessary level. When measuring specific errors in the math model during robot calibration, measuring device (camera) data will be used until the next calibration. Therefore, this approach interferes with the robot’s operating technology to adjust its accuracy and at the same time does not interfere with the robot’s hardware and software which will not cause any unwanted technical problems and takes a long time to change to a new trajectory. This approach will be more acceptable in mass production with different robot systems and the calibration only takes place during equipment maintenance.Experiments performed on the 6 degrees of freedom collaborative robot showed a 58% increase in the robot’s trajectory control accuracy, which proves that the method is highly feasible. In reality, this approach will be more accepted in terms of mass production such as welding robots, autoassembly, and electronic circuit board assembly with different robot systems, and calibration only takes place during equipment maintenance.Future work will focus on some issues following. Besides the effect of robot error compensation, this method can be applied to machine tools and multiaxis CNC machining centers, especially machining centers that use parallel robot structures and require precision machining. Additionally, this method is only implemented offline, for example, measuring errors and calculating parameters for compensation; therefore, more work can be done to approve the online capacity of the method in performing error compensation in real time. To further improve the control accuracy, especially for the curve trajectories, the analytic geometry method proposed by Pavol Božek et al. [18] can be used to calculate the alternative trajectories of robotics or integrating inertial sensors into the robot joints [19] to obtain more accurate data.



---

*Source: 9995787-2021-08-16.xml*