Experimental assessment and feedforward control of backlash and stiction in industrial serial robots for low-speed operations

ABSTRACT Serial robots have been successful in numerous applications; however, their limited motion accuracy hinders the potential for high precision robotic machining. Among the many sources of error in robot movement, non-linearities at robot joints, namely backlash and stiction/friction, are yet to be thoroughly investigated and addressed. When a robot joint reverses, backlash-induced excitation switches direction and stiction induces localized errors that occur over a short duration. Together, backlash and stiction from joint reversal lead to significant positional errors. This paper closes the research gap by proposing feedforward backlash and stiction compensation with a focus on suppressing errors during joint reversals. The controllers are designed using experimental studies of robot joints and the nominal tool centre point (TCP) trajectories. Based on the robot kinematics, the strategy interpolates the nominal trajectories to ensure accurate identification of joint reversals along the path, and therefore provides optimal error compensation with minimum latency. The performance of the controller is evaluated in single axis tests for suppressing backlash in static conditions and in multi-axis path tests for suppressing backlash and stiction in continuous motions. The experimental results show that the feedforward compensation greatly improves the robot accuracy during joint reversal, reducing errors by more than 70%.


Introduction
Industrial serial robots are versatile, low cost, and have large working envelopes compared to their footprint. They have been used successfully over a wide range of applications. However, the accuracy of robot motion is limited due to a variety of error sources such as low stiffness, inaccurate kinematics, and nonlinearities at robot joints. Flexibility of a robot system results in deflection of the end-effector under machining forces (Dumas et al. 2011;Schneider et al. 2014) and causes resonance excitation (Yuan et al. 2019;Nguyen, Johnson, and Melkote 2020) when the frequency of machining forces coincides with the natural frequency of the robot. Poorly calibrated kinematics lead to deviations from the nominal path (Luo et al. 2021;Mutti and Pedrocchi 2021). Errors induced by non-linearities at robot joints, such as backlash and stiction, although small (i.e. in 0:001~0.01°) and mostly associated with joint reversals, are amplified and propagated through the serial structure of the robot to the tool centre point (TCP), where they become significant (over 100 μm) (Kubela, Pochyly, and Singule 2016). Without additional control effort, industrial serial robots are incapable of performing machining processes with high precision and are not comparable to CNC machining systems (Olabi et al. 2012;Iglesias, Sebastián, and Ares 2015;Wu, Krewet, and Kuhlenkötter 2018). This lack of accuracy limits the use of industrial robots in many aerospace manufacturing applications such as trimming, drilling and assembly, despite their other attractive attributes.
Among these identified error sources, employing external sensors and using closed-loop control strategies are shown to be effective in addressing errors in robot motion due to low stiffness and inaccurate kinematics (Wang and Maropoulos 2016;Wang and Keogh 2017;Nguyen, Johnson, and Melkote 2020), but are less effective for addressing non-linearities at robot joints. Evidence suggests that error corrections of non-linearities at robot joints are sensitive to latencies in control action (Da Fonseca Schneider et al. 2019;Wang, Zhang, and Keogh 2020) because significant error propagation can occur over a short duration of time (i.e. within 100 ms). As a result, closed-loop control of non-linearities at robot joints often leaves significant localized residual errors from joint reversals. Feedforward control strategies, which have minimal delays in applying control actuation, offer an attractive alternative for backlash and stiction compensation in industrial robot applications (Mei et al. 2005). In addition, feedforward control strategies also avoid the need for a dedicated metrology system and real-time communications between the robot and the controller, and thus are significantly simpler and have lower implementation and running cost.
The effect of friction on the accuracy of an industrial robot was found to be significant in robotic operations (Hui et al. 2018) and is especially large at high robot movement speed (Yao, Deng, and Jiao 2015). Zhang et al. (2020) developed a model-based feedforward control strategy to compensate for friction at a robot joint in robotic spray-painting. A reduction in position errors of up to 60% and velocity errors of up to 48% is achieved. The improvement in the accuracy of a robot is significant in comparison with that of the controller tuned by an experienced engineer. Due to the nature of the spray-painting process, the work focused more on friction compensation at normal to high robot movement speeds, where Coulomb friction and viscous friction induce most errors and the Stribeck effect (i.e. the difference between static friction and viscous friction) is negligible. For high precision robotic machining, where the robot movement is at low speeds (approx. 10 mm/s), it remains unclear how significant friction-induced errors are and how effectively these errors can be compensated.
Backlash in industrial serial robots has received limited attention, possibly due to four reasons. First, the common solution in addressing backlash problems is to use pre-loading, which is inherent in industrial serial robots (i.e. weights of robot arms and payloads at the end effector). Critical joints, such as the first three joints of a robot, are designed with extra pre-loading mechanisms to ensure the accuracy of robot movement is typically within 1 mm. Second, unlike friction, backlash is independent of robot movement speeds and the induced error (i.e. over 100 μm) (Kubela, Pochyly, and Singule 2016;Wang, Zhang, and Keogh 2020) remains insignificant compared with that due to friction (i.e. well over 1 mm) , especially in high-speed robotic operations. Third, robot controllers are encrypted because of IP reasons, and are difficult to tune as can be done for normal CNC controllers. Finally, backlash at robot joints is regarded as less of a problem in most of robotic operations that require only moderate precision. Industrial robots have only been considered for high precision manufacturing relatively recently. In contrast, understanding and control of backlash are well established for manipulator joints (Yang, Yan, and Han 2015;Awtar, Kim, and Thombre 2021), cycloidal gear drives (Shih et al. 2018) and CNC machines (Pas and Serkov 2016;Margolis and Farouki 2020); attempts were made to develop specialized no-backlash robotic arm replacements (Devlieg and Szallay 2010;Lijin and Longfei 2017;Sun and Fang 2017).
It is worth considering stiction and backlash altogether for high-precision robotic manufacturing because both are closely associated with joint reversal. At low robot movement speeds, viscous friction is insignificant, and the static friction and the Stribeck effect become the main error sources of friction. For backlash, even though the induced errors persist throughout an operation, the error propagation at joint reversal is more problematic, creating unsatisfactory surface finish at corners on machined workpieces (Wang, Zhang, and Keogh 2020). Both stiction and backlash may have already been considered during the design and manufacturing of modern industrial robots to achieve moderate accuracy, but residual errors from the control action of the robot controller remain significant for high-precision robotic manufacturing. Therefore, addressing these challenges using feedforward control in conventional industrial serial robots, without using extra sensors, would be especially attractive to attain higher robot accuracy for large volume manufacturing, where joint reversals are inevitable.
Recently, Weigand, Gafur, and Ruskowski (2021) have taken account of backlash and friction in developing a model-based feedback-feedforward control strategy to improve the position precision in their robotic machining system. The work demonstrated a moderate improvement in the overall accuracy of motions at critical robot joints. Angular errors were reduced by up to 77%, down to within ±0.1°. The implementation of the proposed control strategy used secondary encoders, which can be expensive and require further modification of the robot system. The effectiveness of the control strategy was evident in joint space but was never evaluated in cartesian space as TCP errors, and it is unclear whether the residual error level meets the requirement for high precision robotic manufacturing. The proposed model of the robot system considered a friction model based on Coulomb and viscous friction. The Stribeck effect and stiction of the robot joints were not investigated, and therefore considered negligible in the system modelling and control. The model-based feedforward controller design also assumed that the friction and backlash characteristics of the robot joints are invariant, neglecting the fact that these characteristics may change with effects such as temperature and imperfections in the robot joints. It would be difficult for a model-based controller to capture such variations.
In contrast, the feedforward controller presented in this work can be designed based on error identification and characterization experiments. By doing this, the feedforward controller can accurately target localized errors and provide effective control action along the motion path. This paper advances matters by focusing on backlash and stiction suppression at joint reversal for high-precision robot paths at low TCP speeds. For characterization, backlash errors are identified for all six joints of a robot in single axis tests across their ranges of operation. Error propagation due to backlash and stiction at joint reversal is evaluated in multi-axis path tests. A feedforward control strategy that modifies the designated trajectory and operates seamlessly with the standard robot controller is tested in both experiments. Superior backlash and stiction suppression at joint reversals are demonstrated in multi-axis path tests.

DH representations and robot kinematics
In robotic operations, movements of a 6-DoF robot are often designated and monitored in terms of the end effector position in cartesian space, P j ¼ x; y; z f g j , where j denotes robot poses along a designated path. The corresponding angular motions at robot joints are defined as θ j ¼ θ 1 ; . . . ; θ 6 f g j . The forward and inverse transformations from θ j to P j can be described using the Denavit-Hartenberg (DH) convention. The DH parameters of an industrial robot are often available from the supplier.
For a 6-DoF serial robot with all joints being rotational (i.e. changes in θ only), the DH representation for a coordinate transformation from the n-th robot joint to the previous one, M nÀ 1;n , can be expressed in terms of the four DH parameters, d n ; θ n ; r n ; α n f g, as P n;j ¼ M nÀ 1;n θ n;j À � P nÀ 1;j (1) where M nÀ 1;n θ n;j À � ¼ cosθ n;j À sinθ n;j cosα n sinθ n;j sinα n r n cosθ n;j sinθ n;j cosθ n;j sinα n À cosθ n;j sinα n r n sinθ n;j 0 sinα n cosα n d n 0 0 0 1 2 6 6 4 3 7 7 5 (2) A coordinate transformation, F, from the position of the robot base in the global coordinate system, P 0 , to the tool centre point (TCP) relative to the sixth robot joint, namely the flange of the robot, P 6;T , can be performed to calculate the tool position in the global coordinate system as The forward kinematics of the robot, as shown in equation (3), are useful to project any joint moves of the robot to the displacements of the end effector at any given pose. Equation (3) can also be used to solve the inverse kinematics of the robot, either numerically or theoretically, as Both forward and inverse kinematics are often built into the robot controller, allowing robotic operations based on trajectories both in joint space and cartesian space. In practice, the actual path of the end effector of the robot does not match exactly the designated trajectory, partly because robot kinematics do not take into account non-linear characteristics such as backlash at robot joints. Further considerations are therefore needed to understand and counter these non-linearities in the robot system.

Backlash and stiction/friction models
For applications in robotic machining, achieving high precision requires the robot to move at low speeds (typically <10 mm/s) and follow the designated trajectory closely. Slow joint movements make dynamic responses of robot joints negligible and backlashrelated instability less relevant. Therefore, a simplified backlash model for low-speed movement is considered as q n;j ¼ p n;j À b n;j ; _ p n;j > 0^p n;j � q n;j þ b n;j p n;j þ b n;j ; _ p n;j < 0^p n;j � q n;j À b n;j q n;jÀ 1 ; otherwise 8 < : ( 6) where q n;j and p n;j are the output path and input trajectory of the n-th robot joint, b n is the backlash gap and j À 1 refers to the previous robot pose. The backlash induced angular error at each joint can be expressed as r b;n;j ¼ À b n;j ; _ p n;j > 0^p n;j � q n;j þ b n;j þb n;j ; _ p n;j < 0^p n;j � q n;j À b n;j q n;jÀ 1 À p n;j ; otherwise 8 < : (7) The Stribeck model (Stribeck 1902) describes F n , the equivalent friction torque at the n-th robot joint, in terms of F c;n the Coulomb friction torque, F s;n the maximum static friction torque, and k v;n the viscous friction coefficient as where _ q n;j is the angular speed of the joint, v s;n is the empirical parameter and l is the exponent. Note that all angular displacements q and angular errors r are in radians, with no constraint on the angle size. Closedloop control actions are often embedded in industrial serial robots based on feedback from encoder signals at robot joints. The output path of a joint thereby deviates from the corresponding input trajectory, with the residual friction-induced angular error, r f ;n;j , that can be expressed as with D c;n;j s ð Þ being the built-in control at each robot that is unknown to end users. The sum of equations (7) and (9) gives r n;j , the overall residual angular error at a robot joint as r n;j ¼ r b;n;j þ r f ;n;j (10) For a 6-DoF serial robot at a demand pose θ d;j ¼ θ 1 ; . . . ; θ 6 f g d;j , with the corresponding angular errors due to backlash and friction r j ¼ r 1 ; . . . ; r 6 f g j , the actual pose of the robot and the error at the TCP, e T;j , can be calculated using forward kinematics in a 2-norm as Note that the TCP error is pose-dependent. For example, backlash and friction of the first three joints of the robot would result in greater position errors when the robot is in an extended pose than that in a retracted pose. Backlash and friction of each robot joint also contribute differently to the TCP error depending on the robot kinematics, making backlash and stiction compensation at some robot joints more critical over the others. Equation (9) shows that the frictioninduced errors are also affected by the default control actions in the robot controller. Finally, backlash gaps can vary at different operating angles for the same joint due to imperfections of the gear box and variations in preload. It would be difficult to obtain an accurate model of backlash and friction characteristics for the robot system, without an experimental identification procedure.

Industrial robot/ laser tracker integration
Experiments were carried out on a KUKA KR120R2500 PRO robot as shown in Figure 1a. A machining spindle weighing 3.5 kg was mounted on the end effector of the robot. A Spherical Mounted Retroreflector (SMR) was attached to the spindle to allow a laser tracker (from FARO TM ), with a measurement uncertainty of 22 μm (2σ) at a distance of approximately 3 m, to measure displacement of the end-effector. Figure 1b shows the data communication between the robot system, the laser tracker, and the host PC. The robot joint angle and position data together with laser tracker measurements were collected on the host PC at 250 Hz. Robot trajectories with and without feedforward controls were uploaded directly to the robot controller to conduct the experiments.
The SMR position was defined as the TCP position in the experiments. The TCP position errors were evaluated from displacement measurements taken by the laser tracker. Note that the robot controller also tracks angular displacements at the robot joints which are measured by internal encoders. The robot controller estimates its TCP position from the measured joint angles using forward kinematics. TCP positions from the robot controller were used to transform the measurements from the laser tracker to the coordinate system of the robot by minimising the difference between the measurements using linear least squares fitting. Joint motions from the robot controller were used to provide initial guesses for solving the inverse kinematics numerically on the transformed position measurements of the TCP. In this way, it enables parallel programming and reduces computation time.

Backlash/stiction/friction-induced errors in a circular path
In multi-axis path tests, the robot was operated such that the TCP follows a circular path in the Y-Z plane using the first three robot joints, A 1;2;3 f g ; as shown in Figure 2a. Note that circular paths, such as in ball-bar tests, are the commonly used path for investigating joint reversal errors in machine tools. Therefore, as this work focuses on demonstrating backlash and stiction-induced errors and the effectiveness of the proposed feedforward control, specified circular paths are utilized during which all three major robot joints experience joint reversal at different poses. In this regard, circular paths are as complex as any other path which would be used in high-precision robotic operations.
A three-axis robot kinematic model was developed such that any cartesian path of the TCP (SMR) can be converted to motion in robot joint space using only the first three joints. Figure 2b shows the corresponding angular trajectories of the robot joints. Figure 2c shows that the Figure 2. Multi-axis path tests that use robot joints, A 1;2;3 f g , to produce a circular path at the TCP. In robotic operations, it is common to use robot joints, A 1;2;3 f g to configure the position of the TCP, and robot joints A 4;5;6 f g to configuration the orientation. The test is run at low robot movement speed of 1.5 mm/s. (a) The designated circular path with a radius of 250 mm, (b) the corresponding trajectory in joint space for robot joints, A 1;2;3 f g , (c) a 3D view of the actual TCP path compared with the reference (400 � error exaggeration) and (d) 2-norm evaluation of position errors in the actual TCP path relative to the best fit circle, which is obtained based on the method in (Taubin 1991). Backlash at robot joints A 1;2;3 f g marked in different colours. measured actual path of the TCP deviates from the designated path in three dimensions. Reversal errors, which appear as a combination of a step change and a spike, are observed during joint reversals along the path. Figure 2d shows that the joint reversal of robot joint A 1 induces the largest error which peaks at 200 μm, whereas the induced error due to joint A 2 is up to 140 μm and is below 100 μm for joint A 3 . Figure 3 shows that joint reversals induce angular errors up to 0.01° at A 1 and A 2 and 0.005° at A 3 . The results confirm that backlash and stiction are major error sources that limit the robot accuracy at low robot movement speed. However, it is not yet clear in what combination backlash and friction contribute to the observed errors. Hence, before designing an appropriate feedforward controller, it is important to identify backlash at the robot joints and separate backlash-induced errors from stictioninduced errors at joint reversal.

Backlash identification
Single axis tests were performed to evaluate backlash in all six robot joints under static conditions. Each test was focused on one robot joint, with the other five robot joints held at fixed angles as listed in Table 1. The configured robot poses were chosen to reveal the maximum position error that could be induced by backlash at each robot joint within the workspace in the located robot cell. The test for each robot joint covered the range of operation that are typical during robotic operations. Using the measured TCP positions, the corresponding joint motion of each robot axis was obtained through inverse kinematics. According to equation (6), the backlash gap can be found as an offset between two measurements, in which the robot joint reaches the same operating angle from opposite directions (e.g. moving a robot joint from 0° to 2° and from 4° to 2°). Figure 4(a, b) shows an example command that was used to oper- ate the robot in the single axis test for A 1 . To eliminate any dynamic effects, the robot was brought to stop for 1 s at each tested angle. The backlash gap at each operating angle is calculated as a half of the identified offset, with the assumption that backlash gaps are equal in opposite directions. Figure 4c shows the actual joint movement at robot joint A 1 and the identified offset at A 1 ¼ À 45 � . In the single axis test, the angular speed of each robot joint is configured such that the corresponding speed at the TCP is close to 10 mm/s, the commonly used feed rate for robotic milling. Figure 5 summarizes the identified backlash gaps for all robot joints. Backlash gaps of A 1 and A 3 are around 0.0028 � and 0.0022 � and remain unchanged across their ranges of operation. Backlash gaps of A 2 vary from a minimum of 0.0022 � at A 2 ¼ À 70 � to a maximum of 0.0050 � at A 2 ¼ À 10 � and have an average value of 0.0037 � . For the rest of the robot joints, backlash gaps of A 4 and A 6 are approximately Table 1. Range of operations for each robot that covers the workspace of the robot cell (the robot joints A 1 and A 2 were tested in fully extended robot poses).  constant at 0.0061 � and 0.0060 � , whereas backlash gaps of A 5 vary from a minimum of 0.0011 � at A 5 ¼ 40 � to a maximum of 0.0094 � at A 5 ¼ 90 � and À 90 � . The results show that backlash gaps at the robot joints are not always constant and can vary significantly across their ranges of operation. Table 2 shows the position errors that correspond to the maximum backlash gaps at each robot joint. Backlashes of A 1 and A 2 induce position errors at the TCP of over 100 µm, whereas backlash of A 3;4;5;6 f g induce position errors of up to 50 µm. The results show that A 1 and A 2 are the critical robot joints that produce the most backlashinduced errors and require backlash compensation to bring the robot accuracy to within 100 µm. However, in an actual machining process, machining-induced forces may distribute to robot joints and have different effects on their backlash gaps. Depending on the direction of the induced forces, machining can affect the pre-loads at robot joints and the backlash gaps. In this case, backlash compensation at A 3;4;5;6 f g may also be required for achieving the accuracy mentioned above.

Configuration of other robot joints
Single axis tests provide a better understanding of backlash characteristics at each robot joint. The results were then used to guide the controller design for backlash and stiction compensation in continuous robot motion in multi-axis path tests.

Control strategy design for robotic operations
For any robotic operation, the actual motion of robot joints, Θ o θ o;j 2 Θ o Þ À can be expressed as a sum of the designated trajectory Θ d θ d;j 2 Θ d À � , and errors R r j 2 R À � : A modified trajectory, b Θ d , can be given to the robot system instead, such that Combining Equations (12) and (13) gives the solution  Equation (14) shows that the feedforward controller can be identified from a pre-run, where the uncontrolled output motion Θ o is collected. Given the high repeatability of industrial serial robots, using the modified trajectory b Θ d should lead to reduced errors associated with backlash and stiction in future repetitions of the same path. In practice, formulating the feedforward control solely using equation (14) is suboptimal, because b Θ d would also contain errors from other error sources. For example, errors associated with the flexibility of the robot (i.e. load-induced deflections and excitations) are sensitive to small changes in the working condition, for which closedloop control strategies would work better.
To address backlash and friction errors, the feedforward compensation is formulated as where C b and C f are the backlash and friction compensator for the whole path. Both backlash and friction compensators are optimized such that c b;n þ r b;n þ c f ;n þ r f ;n � � � � 1 ! 0. At each robot pose, the adopted backlash compensator for each robot joint is selected as c b;n;j ¼ d b;n;j ; _ θ d;n;j > 0 À d b;n;j ; _ θ d;n;j < 0 ( with d b;n;j being the compensation constant. Equation (16) defines the feedforward modifications for robot joint demand angles, to be used in equation (15). It is assumed that the backlash is symmetrical in equation (16). The open-loop nature of feedforward compensation does not induce any destabilizing effects; hence, the coefficients may be optimized from experimental identification to minimize the errors induced by backlash. Also note that: (1) d b;n;j , like b n;j , can be pose-dependent. In the case where backlash gaps vary significantly over the operating range of a robot joint, d b;n;j could be scheduled as a function of θ d;n;j . Otherwise, d b;n;j can be kept constant throughout the operation. (2) Equation (16) does not include the case when _ θ d;n;j ¼ 0 at joint reversals because this case should be avoided and indicates poor resolution of the trajectory near joint reversals. It tends to happen in solving inverse kinematics theoretically, where, unlike the numerical approach, the exact solutions of neighbouring points in a trajectory can coincide with each other. One solution is to interpolate the trajectory; alternatively, a more convenient solution is to apply the case c b;n;j ¼ c b;n;jÀ 1 at _ θ d;n;j ¼ 0 to call a conservative control action. The latter solution is used in this work.
For friction compensator, the following formulation was selected c f ;n;j ¼ g n e 1À 1þ knÀ 1 k t;n À 1 � � l ; k n ¼ 1; . . . ; k t;n � � ; and k n ¼ 1 at joint reversal 0; otherwise where g n is the overall gain of friction compensation, k n counts the n-th robot pose starting from a joint reversal and k t;n defines the number of robot poses that the friction compensation is applied, before diminishing to zero. Equation (17) defines the feedforward modifications for the robot joint demand angles, to be used in equation (15). In contrast to the single coefficient for the backlash compensation, the Stribeck/stiction compensation includes three coefficients, g n ; l; k t;n � � , which are chosen to capture the measured response obtained from the identification process, as illustrated in Figure 6. The parameters were tuned against the errors identified from the experiment to match stiction-induced error propagation at the joint reversal. g n describes the size of friction compensator, while {l; k t;n } defines the profile of the friction compensator to match the exponential decay of the stiction-induced error.

Designed feedforward controller for backlash and friction compensation
In typical robotic operations, the robot program only has sufficient pose targets to follow the required features in the operation, it does not take into account non-linear characteristics of robot joints and therefore can have poor spatial resolution near a joint reversal. If feedforward backlash and stiction compensations were used directly to modify the poses of the designated path, the control action could be delayed, and the error correction would not be effective. Therefore, it is important to re-interpolate the tool path before applying modifications to provide a sufficiently dense representation at the joint reversals, where error corrections are most sensitive to latencies in control actions. It would require the knowledge of kinematics of the robot system. Figure 7 illustrates the re-interpolation of the tool path used in multi-axis path tests. One revolution of the designated circular path was defined uniformly in 200 points (i.e. the step size is 1.8°). At each joint reversal, an additional point (i.e. the step size is 0.18°) is added to the path to provide a better definition of rapid changes in control actions. It is particularly beneficial to ensure stiction compensations are applied at the right moment because stiction-induced errors occur only over a short duration.
The designed feedforward controllers are listed in Table 3. Backlash compensations were designed for all robot joints A 1À 6 f g , and were verified in single axis tests. In the multi-axis path tests that use robot joints A 1;2;3 f g , backlash compensations at critical robot joints were applied on all three joints, and stiction compensations were applied to A 1 and A 3 to further suppress the error propagation at joint reversals to below 50 μm.   shows the modified trajectories of joints A 1;2;3 f g , with errors exaggerated for demonstration purposes. Stiction compensations were applied only to joints, A 1 and A 3 , because the initial trials found that backlash compensation was sufficient in reducing errors at joint reversals at A 2 , and stiction compensation may be unnecessary. Note that although the errors at joint reversals of A 2 vary between different robot poses they can still be suppressed effectively, without using a scheduling approach, just like A 1 and A 3 . In the case where backlash-induced errors of a robot joint vary more significantly along the designated path, a more sophisticated scheduling backlash compensation can be used to provide better error corrections. Since backlash and stictioninduced errors at robot joints can depend on a variety of factors such as loads, joint angles, robot poses and control actions in the robot controller, it is difficult to achieve an accurate prediction and effective error correction using model-based feedforward controllers. Prerunning an operation for taking measurements and identifying backlash and stiction-induced errors would be inevitable for providing optimal control in practical applications. Figure 9 shows that backlash compensation in static conditions at critical robot joints A 1;2;3 f g achieved an overall reduction in backlash gaps of over 75%. The maximum backlash gap was reduced by 87%, from 0.0031 � to 0.0004 � for joint A 1 , by 76% from 0.0050 � to 0.0012 � for joint A 2 , and by 87%, from 0.0024 � to 0.0003 � for joint A 3 . The backlash compensation is equally effective at joints A 1 and A 3 across their range of operations and is more effective in suppressing the larger backlash gaps of joint A 2 . At A 2 =−70 � , the minimum backlash gap was reduced by 68%, from 0.0028 � to 0.0009 � . Figure 10 summarizes the results of backlash compensation for robot joints A 4;5;6 f g . The maximum backlash gap of 0.0078 � was reduced by 82% to 0.0014 � for joint A 4 , by 57% from 0.0095 � to 0.0041 � for joint A 5 , and by 62% from 0.0073° to 0.0029° for joint A 6 . Table 4 lists the corresponding reductions in position errors at the TCP for all six robot joints. Overall, the feedforward controller reduces backlash induced  Figure 8. Illustrations of feedforward controls that are applied on joint A 1;2;3 f g for a circular path. Backlash and stiction compensation are applied on the trajectory at A 1 and A 3 , whereas only backlash control is applied on the trajectory at A 2 . All corrections are exaggerated for illustration purposes. errors in the robot system from up to 212 µm to less than 51 µm. The backlash-induced position error at the TCP is the highest for A 2 , with and without compensation. It confirms that even though backlash at all critical joints introduces significant position errors, joint A 2 has a more complex backlash behaviour and requires a more sophisticated controller design for optimal backlash compensation. Note that the residual backlash-induced position error of 51 µm shows the upper limit of the residual errors in the robot system. Fully stretched robot poses, as being used in single axis tests, would be uncommon in actual robotic operations. In practice, the robot would be operated in more retracted poses, and the residue of backlash-induced errors would be well below 50 µm. Figure 11 compares the results from multi-axis path tests, in which the robot operates in a continuous motion with the TCP tracing the same circular path with and without backlash and stiction compensation. It is important to note that the measured paths in the multi-axis path tests also contain significant errors from other sources, such as inaccurate kinematics. The position errors along the paths were evaluated relative to the corresponding best fit circles to highlight backlash-and stiction-induced errors. Since the backlash-and stiction-induced errors occur in 3D, the total position error magnitude in Figure 9 (b) does not represent the shape of the path error (i.e. all calculated errors are positive). Inplane and out-plane position errors are shown in Figure 11(c, d) to provide more information for comparison purposes.

Backlash and stiction compensation in multi-axis path tests
Focusing on the errors occurring during joint reversals, the maximum error magnitude is reduced from 198 µm to 14 µm; the in-plane maximum is reduced from 220 µm to 30 µm, and the out-plane maximum is reduced from 219 µm to 40 µm. The histogram comparison in Figure 12 shows that with backlash and stiction compensation, the total position errors on the path are reduced to be within 100 µm. Table 5 summarizes the reduction in the total position errors at all six joint reversals: an overall error reduction of over 70% is achieved, and the error reduction at joint reversals of the joint A 1 is over 90%. The corresponding error corrections in joint motions at robot joints A 1;2;3 f g are shown in Figure 13.

Conclusions
This paper has demonstrated the use of a laser tracker to identify backlash-and stiction-induced errors at robot joints to improve the robot accuracy for low-speed robotic operations. It proposes the use of feedforward backlash and stiction compensation as an effective method to reduce backlash-and stiction-induced errors during joint reversals. The controller design is based on experimentally identified position errors at the tool centre point (TCP) and the kinematics of the robot system that converts the position errors to joint motion errors. The controller design also interpolates the designated path to provide a finer resolution at joint reversals, to ensure control actions are implemented with minimum latency. The capability of the feedforward controllers was evaluated in single axis and multi-axis path experiments. It was shown that in single axis experiments, critical robot joints can have backlash gaps up to 0.005° and can cause position errors over 200 µm at the TCP. Backlash gaps of the majority of the robot joints are unchanged across their ranges of operation. The exceptions are the second robot joint, where backlash gaps are affected by the robot's pose, and the fifth robot joint, which has a significantly increased backlash gap towards both ends of its rotation range. Across all robot joints, the feedforward backlash compensation reduces the maximum backlash gap by 57-87% in static conditions, and suppresses the maximum backlash-induced position error at the TCP from 212 µm to 51 µm. In multi-axis path experiments where the robot follows a continuous circular trajectory using three robot joints, backlash-and stiction-induced error is up to 200 µm at joint reversals. The feedforward backlash and stiction compensation reduces the position errors caused by the first three joints by up to 94%, with the residual errors below 30 µm. Future backlash and stiction control techniques should take into account joint loading as in common robotic operations, focusing on its implementation in robotic machining processes, covering larger working volumes, and combining it with robot DH parameter calibration techniques, whilst retaining simplicity in computation and implementation.

Disclosure statement
No potential conflict of interest was reported by the authors.