Real-time measurement and compensation based on iGPS for industrial robotic pose accuracy

In order to satisfy the requirements of industrial robotic pose accuracy in the operation process, measurement and compensation methods based on iGPS (indoor Global Positioning System) are proposed. An iGPS measuring network is established by solving transformation relations between robotic coordinates and iGPS coordinate, setting up measuring field and calibrating external parameters of transmitters. According to the measured values of iGPS, pose accuracies are calculated, and robotic poses are compensated by modifying command pose and secondary motion fine-tuning respectively. Experiments are designed to verify the measurement and compensation methods. The robotic poses of pre and post compensation are depicted based on 30 successive motion cycles. The pose accuracies are calculated and the effects of the two compensation methods are compared. Experimental results show that the robotic pose accuracies are greatly improved by using the proposed methods, and the real-time compensation method of secondary motion fine-tuning has better compensation effect, which proves the feasibility and effectiveness of the real-time measurement and compensation method based on iGPS.


Introduction
Huge amounts of drilling and connecting need to be done in the process of aircraft assembly.The pose accuracy of drilling and connecting should satisfy the customized quality requirements.Manual manipulation is difficult to guarantee the operation quality and efficiency.Therefore, it is urgent to use automatic equipment to perform accurate efficient digital assembly and flexible assembly.Due to the characters of large workspace, significant flexibility and strong adaptability, industrial robots are more and more widely used in aircraft digital and flexible assembly.
The serial multi-link mechanism of industrial robot leads to its poor initial pose accuracy (only reach millimeter scale accuracy) [1], which cannot meet sub-millimeter or even higher accuracy requirements of critical processes such as aircraft panel drilling, components trimming and connecting [2].Due to the low robotic stiffness, working load will lead to elastic deformation of joints and rods.The thermal effect caused by temperature variation after long-time running will be intensified, and therefore it is more difficult to retain the pose accuracy.These determinants seriously restrict the application of robots in the aviation manufacturing field.Therefore, improving the pose accuracy of industrial robots is of great significance for upgrading processing quality and expanding application scope.
The compensation methods of robotic pose accuracy comprise off-line compensation methods and online compensation methods [3].The off-line compensation methods comprise parameters calibration methods and error mapping methods.The online compensation methods utilize the measured data of external measuring equipment.The calibration methods improve the accuracy of kinematic model by Currently the researches of robotic pose accuracy compensation mainly focus on off-line compensation methods such as parameters calibration and error mapping.The researches of iGPS mainly concentrate on establishments of iGPS measuring field, number of transmitters and layout optimization, etc.However, there are few studies on measurement and compensation of robotic pose accuracy based on iGPS.Andrew R. Normand et al validated the feasibility of using iGPS as an external position measurement system for real-time feedback and control to solve the problem of achieving absolute accuracy in the positioning and movement of cooperating robots.The predicted accuracy achievable for the robots when being compensated was determined to be at least within 0.3 mm [14].G. Mosqueira et al applied iGPS to robotic alignment of fuselage barrels.They evaluated the performance of iGPS as a feedback source for the adaptive robot control of an industrial robot using laser radar measurements as comparison.Their results demonstrated that by the iGPS-supported closed loop control the average positioning accuracy and orientation accuracy of the robot have been increased from 4.53 mm and 0.211° to 0.38 mm and 0.011° respectively [15].However, in their experiment average convergence time was 20s per pose and waiting period between the poses was 45s, which led to poor real-time performance with unsatisfied positioning accuracy.Lukas Stadelmann et al integrated iGPS with IMU to provide static and dynamic correction of robotic end effector pose.They reduced the average error down to 0.10 mm for the static correction and the path error below 0.5 mm for the dynamic correction [16].Inspired by these studies, a real-time measurement method of robotic pose accuracy based on 6-DOF sensor is proposed.An iGPS measuring network with 4 transmitters is established.Position accuracies and orientation accuracies are calculated according to the robotic poses of various locations, and two compensation methods are used to compensate the robotic poses.The feasibility of the methods is verified by experiments.

Introduction to iGPS
iGPS is composed of infrared laser transmitters, receivers (photoelectric sensors), a data processor and a terminal computer.When the system is working, the rotor of the transmitter rotates at high speed generating two fan-shaped laser surfaces and scanning measuring space.The speed of each transmitter is special to distinguish from other transmitters.The base of the transmitter generates an infrared LED stroboscopic pulse signal used as the timing reference for the start of each rotation.The receivers are located in the measuring points to receive the above-mentioned three optical signals and convert them into electrical signals through photoelectric sensors.The data processor converts electrical signals into time information.Finally, the pitch angle and azimuth angle of the measured point are calculated on the basis of speed of transmitters and the time difference between two fan-shaped laser surfaces received by the receivers.Since a single transmitter can not calculate the accurate location of a measuring point, it is necessary to use two or more transmitters to determine the relative position relations among all transmitters, and the coordinate of the measuring point can be calculated according to the multi-angle intersection constraint principle [13,[17][18].The schematic diagram of iGPS is shown in Figure 1.  Figure 2 shows the 6-DOF sensor of iGPS and its installation method.The 6-DOF sensor is fixed on the robotic end effector.There are seven target ball sockets on the foundation of the sensor, and photoelectric sensors are installed in the target ball sockets through magnetic absorption.The position and orientation of the end effector can be calculated by measuring the positions of three or more target balls.
The measuring accuracy of iGPS is related to the number of transmitters [19][20][21].When the number of transmitters is less than 4, the measuring accuracy will be greatly improved by increasing transmitters.When the number of transmitters is greater than or equal to 4, increasing transmitters will not significantly improve the measuring accuracy.Considering the factors such as measuring accuracy, economy, volume of measuring object and limitation of test environment, 4 transmitters are used and arranged 5-10 meters away from the measuring field in C-shape, and the height is basically the same as the working center of the end effector.The layout of transmitters is shown in Figure 3.The measuring field which is used to calibrate the transmitters to determine effective measuring area of iGPS is established by a circular base, aluminum rods, target sockets and receivers, as shown in Figure 4.

Calibration of iGPS measuring network
In order to establish the measuring network, the transformation relations among iGPS coordinate system and robotic coordinate systems need to be firstly analyzed.The robotic system contains four coordinate systems: base coordinate system , as shown in Figure 5.The base coordinate system is based on the end effector installed on the mechanical interface to define the motion state of the 6-DOF sensor.The robotic end pose is essentially the pose of the tool coordinate system , that is, the transformation relation between the global coordinate system and tool coordinate system.Considering that the command pose and attained pose of the end effector are not the same, the transformation relations are described by homogeneous transformation matrices Q can be calculated by SA (SpatialAnalyzer) software using a laser tracker.A target ball is installed on the 6-DOF sensor.The robotic end effector rotates around Z-axis and Y-axis of the mechanical interface coordinate system successively, and several coordinates of the target ball are measured by the laser tracker during the rotation.These coordinates are used in SA software to establish the two coordinate systems above and fit the homogeneous transformation matrix . Since the coordinates are expressed in the measuring coordinate system of laser tracker can also be obtained.
The tool coordinate system are both fixed on the end effector of the robot.Therefore, the state of the tool coordinate system and base coordinate system can be obtained.In order to facilitate calculation, the robotic base coordinate system that remains stationary is taken as the global coordinate system , and all the coordinates to be measured are expressed in the global coordinate system.
It is necessary to determine the transformation relation . The established iGPS measuring field consists of 23 control points covering the workspace of the end effector.The laser tracker is used to measure the coordinates of all control points (expressed in the global coordinate system) to calibrate the measuring field.Then iGPS receivers are deployed at the positions of control points to calibrate external parameters of each transmitter, i.e. to determine the position and orientation of each transmitter in the global coordinate system.Due to the influence of the actual application (obstacles, vibrations, etc.), not all the control points can be used for calibration.Some points may have a negative effect on one or more transmitters, which may deteriorate the positioning accuracy of the transmitters and ultimately lead to a decrease in measuring accuracy.So it is necessary to eliminate the control points with large deviation when calibrating the external parameters, and meanwhile ensure that more than 18 control points should be used to calibrate the external parameters of each transmitter.After calibrating all the transmitters, the iGPS coordinate system is established in the iGPS control software according to the position of each transmitter and matched with the global coordinate system . In order to ensure the measuring accuracy of iGPS, the positioning accuracy of the transmitters are verified.Two adjacent transmitters are used in sequence to measure the coordinates of control points in the measuring field (16 control points can be detected by both transmitters).The position deviation should meet the following requirement where iG x , iG y , iG z are the iGPS measured values at the ith control point while i x , i y , i z are the standard values measured by the laser tracker.If mm 3 .0   i d , the external parameters of transmitters should be re-calibrated and re-verified until the requirements are met.Therefore, the iGPS measuring network is successfully calibrated, moreover the iGPS coordinate system and laser tracer coordinate system are integrated.The flowchart is shown in Figure 6.The command pose of the robotic end effector is expressed as Formula (3): The attained pose is expressed as Formula (4): where is the pose of the the 6-DOF sensor coordinate system measured by iGPS relative to the iGPS coordinate system

Selection of robotic pose measuring points
The selection of measuring points for experiments and the calculation of pose accuracy are both refer to GB/T 12642-2013 Industrial robots-Performance criteria and related test methods.A cube with the largest volume is selected in the most widely used part of robotic workspace, and the cube edges are parallel to the robotic base coordinate axis, as shown in Figure 7.
The wrist reference point of the robot is located in the selected plane, and five measuring points are located in the measuring plane parallel to the selected plane C 4 -C 1 -C 6 -C 7 with an 128mm axial offset and a 60mm radial offset (see Figure 8).Point P 1 is the intersection of the diagonal as well as the center of the cube.The distance from point P i (i=2,3,4,5) to the end-vertex of the diagonal is equal to (10±2) % of the diagonal length, as shown in Figure 9.
The command pose of robot is determined by off-line programming, and the attained pose is the pose that the robot actually reaches in response to the movement instruction in an automatic manner.According to the predetermined motion rule, the robot successively reaches point P 1 -P 2 -P 3 -P 4 -P 5 during 30 cycles.The iGPS measuring network is used to measure and record the pose of each measuring point.

Calculation of robotic pose accuracy
Pose accuracy represents the the deviation between a command pose and the mean of the attained poses when approaching the command pose from the same direction, which can be divided into positioning accuracy and orientation accuracy.The positioning accuracy represents the difference between the position of a command pose and the cluster center of the attained positions, and the orientation accuracy represents the difference between the orientation of a command pose and the average of the attained orientations.
The positioning accuracy i AP of the ith point is expressed as where where b and i c are the average values of the orientation angles of the ith point responds to the same command for 30 times; ic a , ic b and ic c are the command orientation angles of the ith point; ij a , ij b and ij c are the jth attained orientation angles of the ith point.The orientation accuracy obtained by above-mentioned method only represents the angular deviation of the end effector around each coordinate axis, and cannot intuitively describe the deviation between attained orientation and command orientation.So it is difficult to accurately evaluate the orientation deviation.R is used to describe the orientation of the tool coordinate system relative to the base coordinate system . Euler angle is used to describe the rotation transformation as follows where ; Substitute each variable into Formula (9) to obtain where Since the robotic end effector in this experiment is used for drilling and riveting operations, the degree of freedom of rotation around the z-axis of the tool coordinate system is redundant.The small angle deviation around the axis has no effect on the machining state.Therefore, the vector of the tool coordinate system can be used to describe the rigid body to simplify calculation.The 'command vector' and 'attained vector' derived from the command rotation angle and attained rotation angle can be calculated respectively.The angle difference between the 'attained vector' and 'command vector' is regard as the orientation deviation.The command vector 1 ν is given as The attained vector 2 ν is given as The angle 1 2    between vector 1 ν and vector 2 ν represents the angle between the command pose and attained pose.
According to Formula (14), the deviation of attained orientation from command orientation can be obtained.

Compensation for robotic pose accuracy
The robotic pose accuracy can be compensated by modifying command pose and secondary motion fine-tuning.

Compensation method of modifying command pose.
The principle of this compensation method is that new command poses are set based on the deviation values of positions and orientations, and the robot moves according to the new command poses, so as to reduce the deviations from the original command poses.When compensating the orientation accuracies, the command orientation angle ic a of the ith point rotating around x-axis turns into , where is the compensation value, and is an empirical compensation coefficient related to initial pose accuracies.The more accurate the value of  , the higher the accuracy of the compensated pose.The selection principle of  is shown in Table 1.In the same way, the command orientation angles ic b and ic c rotating around y-axis and z-axis turn into x y z According to Formula ( 5) The positioning accuracy is compensated by using the same method as that of orientation accuracy, and the command positions ic x , ic y and ic z turn into The flow chart of this compensation method for pose accuracy is shown in Figure 10.

Compensation method of secondary motion fine-tuning.
The principle of this compensation method is that when the robot moves to a measuring point, the command pose and attained pose of the point are obtained by the robotic system and iGPS respectively.The pose accuracies and compensation values are calculated in real-time to generate compensation commands.The robot accepts the compensation commands and perform a secondary micro-motion at this point to adjust the pose, which make the attained pose approach the command pose.iGPS again measures and records the pose with compensation and calculates the pose accuracies.Then the robot moves to the next measuring point and the steps above are repeated.In this method additional incremental moving commands are generated to control the robot to perform secondary motion instead of modifying the command pose.
The compensation commands for the jth motion cycle of the robot at the ith point are as follows: the displacements along the positive x-axis, y-axis and z-axis are ; the rotation angles around the positive x-axis, y-axis and z-axis are . The flow chart of this compensation method for pose accuracy is shown in Figure 11.

Experimental methods and procedures
The test site was 8m long and 7m wide.There was no direct sunlight or artificial light source in the area, and the surface reflectances of equipment and tooling were small.There were less vibration, stable ambient temperature and humidity.4 transmitters were used to establish the iGPS measuring network, and parameters of the transmitters were calibrated with API Tracker III laser tracker.
The control points were preset to establish the measuring field, and 5 measuring points were selected for the test.In order to ensure the accuracy of iGPS, all the selected measuring points guaranteed to be located inside the measuring field.As shown in Figure 12, the effective measuring area of the measuring field is enclosed by the vertical dotted line, the fitted upper surface and the circular bottom surface.The robotic end effector was used for drilling and riveting tasks, and the orientations selected in the experiment were close to the actual operation orientation, which matched the process requirements.
According to the predetermined motion rule, 30 circulatory movements started from point P 1 and reached points P 2 , P 3 , P 4 and P 5 in turn, finally returned to point P 1 .The iGPS measuring network measured and recorded the pose of each point.The two compensation methods described in Section 3.3 were used to compensate the robotic pose accuracies.iGPS measured and recorded the compensated attained poses and calculated the pose accuracies respectively.

Experimental results
The robotic command poses are shown in Table 2.The robotic attained poses without compensation are shown in Table 3.The robotic pose accuracies without compensation are shown in Table 4.It can be seen from Table 4 that the robotic pose accuracies are low.The orientation accuracies of the five measuring points are similar while the positioning accuracies are significantly different.The positioning accuracy of point P 5 is the lowest mainly due to two reasons: first, the robotic pose at this point leads to its lower stiffness, resulting in low positioning accuracy of the first time movement to this point; the second is that the control points near point P 5 are relatively sparse.In addition, obstacles (poles for setting high control points) and equipment factors (acceptance range of spherical sensors) induce a certain occlusion on the signal propagation path of the transmitter-receiver, resulting in a decrease in the accuracy of iGPS, as shown in Figure 13.For the former, the robotic stiffness can be improved by optimizing the pose, so that the positioning accuracy can be improved.For the latter, measures such as adding control points, increasing the number of transmitters and receivers, optimizing the layout of transmitters, and removing obstacles can be taken to improve the measuring accuracy of iGPS.The robotic attained poses with the compensation method of modifying command pose are shown in Table 5.The robotic pose accuracies with the compensation method of modifying command pose are shown in Table 6.The robotic attained poses with the compensation method of secondary motion fine-tuning are shown in Table 7.The robotic pose accuracies with the compensation method of secondary motion fine-tuning are shown in Table 8.According to Table 4, Table 6 and Table 8, with the compensation method of modifying command pose the position accuracies of the five measuring points are increased by 60% on average, and point P 5 with the largest deviation is increased by about 84%; The orientation deviations are decreased by 75% on average, and point P 1 with the largest deviation is decreased by about 68%.With the compensation method of secondary motion fine-tuning the position accuracies of the five measuring points are increased by 96% on average, and point P 5 with the largest deviation is increased by about 99%; The orientation deviations are decreased by 92% on average, and point P 1 with the largest deviation is decreased by about 92%.The position accuracies and orientation accuracies with compensation have been significantly improved, which proves the effectiveness of the two compensation methods.From the results of the compensated pose accuracies, it can be seen that the compensation effect of the secondary motion fine-tuning method is better than that of the method of modifying command pose.
The advantage of the compensation method of modifying command pose is that it can maintain the continuity of robotic motion.Once the modification of the command poses is completed, the robot can directly perform operation tasks without any further adjustments after reaching the predetermined position, and there is no need for iGPS or other external measurement equipment to participate in the operation process.It is suitable for the scenes with a small number of target poses and a large number of cyclic operations.However, in order to ensure the accuracies of the modified command poses, this method needs to first determine the average compensation values by moving multiple cycles according to the planned trajectory.Its real-time performance is poor, and the compensation effect of different cycles at the same point may vary greatly.
The advantage of the method of secondary motion fine-tuning is that it has good real-time performance.When the robot moves to a working point, the pose can be directly measured and compensated.If the pose accuracies are unsatisfied after one compensation, multiple iterations of compensation can be performed.The disadvantage of this method is that it takes a long time to compensate a point.In this experiment, the time from the arrival of the robot at a measuring point to the completion of compensation is 4~5 seconds.If iterative compensation is performed, it will take longer.The calculation of compensation values and the control of compensation motions are completed by software in the computer.The operation time of CPU is about 60 ms, and the calculation and data transmission time is long.The compensation time can be shortened by using hardware for data processing and control.This method is more suitable for the scenes with a large number of target poses and a small number of cyclic operations.

Conclusions
(1) The feasibility and effectiveness of the mesurement and compensation methods proposed in this paper based on iGPS for robotic pose accuracies have been proved by experiments.Both the two compensation methods have greatly improved the robotic pose accuracies, which demonstrates good compensation effect.
(2) The compensation effect of the secondary motion fine-tuning method is better than that of the method of modifying command pose, and the pose accuracies can be continuously improved by iterative compensations.This method is more real-time and can be used for hole positioning and tool pose adjustment in drilling and riveting operations.
(3) The position deviations with compensation are less than 0.3mm.Considering that the measuring accuracy of iGPS in the experiment is 0.3mm, the robotic positioning accuracy with compensation can reach 0.6mm, which can meet part of the robotic application requirements.Because of the advantages of fast, efficient, accurate, convenient and low cost, the measurement and compensation method for robotic pose accuracy based on iGPS has great room for improvement and broad application prospects.

Figure 3 .
Figure 3.The layout of transmitters.Figure 4. Establishment of the measuring field.

Figure 4 .
Figure 3.The layout of transmitters.Figure 4. Establishment of the measuring field.

1 )
By reading motion commands of the robot, the relation Q

Figure 8 .
Figure 8. Selected plane and measuring plane.

Figure 6 .
Figure 6.The calibration process of iGPS measuring network.

R
represents the transformation relation rotating around x-axis of the current coordinate system with angle α, axis of the current coordinate system with angle β, relation rotating around z-axis of the current coordinate system with angle γ,

Figure 10 .
Figure 10.Compensation method of modifying command pose.

Figure 11 .
Figure 11.Compensation method of secondary motion fine-tuning.

Figure 12 .
Figure 12.Distribution of control points and measuring points in the measuring field.

Table 1 .
Selection principle of  .

Table 5 .
Robotic attained poses with the compensation method of modifying command pose.

Table 6 .
Robotic pose accuracies with the compensation method of modifying command pose.

Table 7 .
Robotic attained poses with the compensation method of secondary motion fine-tuning.

Table 8 .
Robotic pose accuracies with the compensation method of secondary motion finetuning.