AN EXPERIMENTAL APPROACH TO IMPROVING THE JOINT STIFFNESS OF INDUSTRIAL ROBOTS THROUGH DEXTEROUS POSTURE IDENTIFICATION

Improving a robot’s posture enables it to perform with greater accuracy and repeatability. A stiffer posture also protects the robot from unnecessary vibrations and deflections that may be induced by an applied load. This paper presents a method for choosing high stiffness robot postures. The method is demonstrated on a six-degree-of-freedom Fanuc M10-iA serial manipulator. The posture identification and stiffness modelling were achieved by a reliable and cost-effective alternative to deflection measurement using IEPE accelerometers.


INTRODUCTION
Serial kinematic machines (SKMs) date back to the beginning of the industrial revolution, when the primary objective was to replicate the human arm by pushing and pulling objects [1]. Modern-day advancements have shifted robotic paradigms to complex manufacturing operations. Serial robots are used to perform light machining tasks that would otherwise be performed by computer numerically controlled (CNC) machines. These are attractive to manufacturers owing to their extended workspace, reachability, and flexibility [2]. Nevertheless, the lower stiffness of serial robots limits their ability to perform machining or precision placement tasks on high loads. A study of serial robotic stiffness began in the early 1980s by Salisbury [3], who developed a method of actively controlling the apparent stiffness of serial manipulators. 'Stiffness' is defined as the ability of a manipulator to sustain loads without excessive changes to its geometry [4,5], and research into robotic stiffness remains of interest to manufacturers and academics. The adoption of serial robots for high-precision manufacturing tasks is limited in the manufacturing sectors because of insufficient control techniques to improve robot posture and stiffness. Researchers who have focused on this problem include Guo, Dong and Ke [6], Sellami and Respall [7], and Cvitanic, Nguyen and Melkote [8].
The stiffness of serial robots is dependent on the geometric and material properties of the links, the characteristics of the actuator and transmission elements, and the robot's posture. Stiffness, when referring to kinematic machines, is the accuracy required to satisfy the anticipated force and position commands [9,10]. According to Alici and Daniel [11,12], mechanical stiffness has been the most critical performance indicator of robotic systems. The architectural design of the SKM is ruled by its ability to manipulate its tool precisely, and doing so requires high rigidity to limit positioning errors that are due to external loads [13]. The inadequate posture control of SKMs compromises their structural rigidity when performing complex machining or precision placement tasks.
In existing robots, posture control is the primary method of manipulating stiffness [14]. Several analyses in the literature have identified compliance minimisation through posture control as a crucial concept for high accuracy applications [15]. Owen, Croft and Benhabib [16] suggest that posture control places the emphasis on reducing the cantilever effect of the robot's links on the actuated joints. Cheng, Peng, Yan, Li and Fan [17] further suggest that the selection of appropriate robot postures or joint configurations results in an improved stiffness profile. According to Xaud [18], Celikag, Sims and Ozturk [19], and Mousavi et al. [20], the dynamic and static properties of SKMs are configuration-dependent.
To address the low stiffness problem, this research provides a straightforward, low-cost dexterous posture identification method. Any manufacturer or roboticist can adopt the method to optimise their robot postures and ensure improved stiffness, accuracy, and repeatability during precision and high-loading manufacturing tasks. By locating optimal postures, the induced stresses can be regulated throughout the robot's structure, thereby improving process accuracy and repeatability. These aspects are related to the magnitude of the end-effector deflections. Apart from the improved stiffness, the method minimises maintenance by reducing excessive stresses on the robot's motors, joints, and links.
The method presented in this research identifies optimal poses using an inverse kinematic (IK) technique and the virtual joint modelling (VJM) approach. The IK technique considers appropriate joint positions that enable effective manoeuvrability of the robot at a point in space. This improves the actuation and loadbearing capacity of each joint during manufacturing tasks. The VJM technique provides a simple approach to modelling joint stiffness. A one-dimensional (1-D) virtual spring was used to model the complicated electromechanical design of the robot joints, providing a simple approach to modelling the joint stiffness. The lumped presentation of the joint stiffness drastically simplified the identification of robot stiffness, compared with alternative methods such as finite element analysis (FEA) and matrix structure analysis (MSA). This paper presents a unique approach that combines dexterity analysis and VJM. Section 2 presents the dexterous workspace identification. Section 3 describes the stiffness analysis using the virtual joint method, which includes the modelling approach and the procedure for determining the joint stiffnesses. Section 4 describes the testing procedure. Section 5 presents the experimental results and analysis. Section 6 provides a discussion of the results, and Section 7 concludes with insights drawn from the research and with future recommendations.

DEXTERITY ANALYSIS
Manipulator dexterity analysis was performed to identify permissible joint ranges in terms of Euler angles ( , ) at various points in the SKM workspace. Thereafter a stiffness analysis was performed using the virtual joint method (VJM) and the corresponding end-effector deflection. The aim of the dexterity analysis was to identify high-stiffness areas and to simplify the stiffness formulation.
According to Abdel-Malek et al. [21], to identify admissible orientations of a robot's end-effector at any user-defined point, a service sphere must be defined around the point. The sphere has a radius equivalent to the length of the manipulators' last link. Possible orientations can be determined by assessing all reachable points by the second-to-last joint (SLJ) of the robot without shifting the target position. The SLJ comprises an interior and exterior space boundary, and its intersection with the service sphere defines the service region. This region defines the feasible penetration orientation of the robot's last link into the service sphere, which permits all possible orientations of the end-effector to be determined. This intersection will be referred to as a dexterous 'bubble' in this paper. In the work of Abdel-Malek et al. [21], a continuation technique was implemented to find the intersection of the SLJ with the service sphere.
The dexterity formulation in this research adopted an analytical technique similar to that presented by Mondragon [22]. The inverse kinematic (IK) solution was based on two fundamental concepts: a clear case develops the required coordinate position within the robot's workspace, and a second case has the correct orientation. The IK solution for the robot used in this analysis was similar to that used by Mondragon [22].

The virtual joint method
The stiffness identification procedure in this research used the concept of 'virtual springs' outlined in the virtual joint method (VJM). According to Klimchik [23], the advantage of the VJM is its ability to represent accurately the stiffness components of a robot and to simplify the modelling approach. Currently, this is the most popular method to model the stiffness of serial industrial robots.
A fundamental step in the VJM technique is defining the virtual spring parameters. According to Pigoski [24], each actuated joint is assumed to be represented by a single one-dimensional virtual spring. Majou [25] added to Pigoski's work by considering the link flexibilities of a parallel kinematic machine. Apart from modelling the actuated joints and link compliance, Hu, Wang and Pang [26] improved the VJM's accuracy by employing two virtual joints to account for bearings and other structural components. The study focused on actuated and passive joints with the inclusion of translational and rotational effects of the links, which were replaced by virtual springs. Recent research incorporates six-dimensional (6-D) virtual springs in the model, using the FEA method. Combining both methods increases the VJM's accuracy, and the results can be compared with the accuracy of the FEA method [27].
Salisbury [3] developed the first closed-form solution for the Cartesian stiffness matrix by assuming that the robot's mechanical elasticity came from the actuated joints. The method was based on an extension of the conventional rigid body model of a robotic manipulator, in which the links are assumed to be rigid and the joints compliant, in order to accrue every possible flexibility in the joints only. This matrix forms the basis for manipulator stiffness analysis. The conservative congruency transformation (CCT) method was used to define the joint and Cartesian stiffness matrices.
According to Knapczyk and Ryska [28], two methods were developed to obtain the Cartesian stiffness matrix of a serial manipulator. The first method involved clamping all joints except one to measure the robot's elastic deflection under an applied wrench (force/torque). The joint stiffness matrix was developed by repeating the procedure for each joint; thus only six experiments were required to model a six-degree-offreedom (DOF) manipulator. The second method focused on measuring the linear and rotational displacements of the end-effector owing to an applied wrench via some interpolations. The latter method was preferred, as it provided accurate results and was safer; as a result, this technique was applied in this research.
In the method proposed by this research, the serial manipulators' reaction to an applied wrench (force/moment) under static equilibrium was evaluated through the Cartesian stiffness matrix of the robot. The matrix was a precursor to finding solutions to the linear and angular deflections of the robot's endeffector in its joints and links when exposed to an externally applied wrench. The deflections of a robotic manipulator are owing to both its link and joint flexibilities. However, the joints account for most of the flexibility in the robot.

Joint stiffness modelling
This section presents the procedure to calculate the estimated joint stiffness values using the virtual joint method technique. The method can be applied to any n-DOF revolute serial kinematic robot. The method is based on applying Hooke's law by replacing the robot joints with virtual springs, as shown in Figure i.

Figure i: Virtual joint method model
To understand the joint stiffness model, an algebraic analysis was done. To understand the fundamental derivation of the VJM technique, consider equations (1) to (3). Equation (1) defines the geometrical representation of the robot architecture; equation (2) describes the static equilibrium conditions (assuming no load); and equation (3) is representative of Hooke's law, describing the linear elasticity of the joints.
where represents the measured six-dimensional displacement and orientation vector (equation (4)) of the end effector, and is the measured six-dimensional wrench vector of forces and moments (equation (5)).
is the 6 × matrix, where signifies the number of joints.
represents the deflections in the virtual joint coordinate space owing to the loadings . represents the six-dimensional actuated torques in the elastic joints. Finally, reflects a diagonal 6 × matrix of the th joint stiffness value.
The preliminary equations (1), (2) and (3) represent transitional equations to reach the Cartesian stiffness matrix . The matrix defines the relationship between the translational and the rotational displacement of the end-effector in Cartesian space and the static forces and torques responsible for the transition, and is defined in equation (6): Differentiating the actuated torques shown in equation (3) with respect to the six-dimensional joint coordinates yields the robot Cartesian stiffness matrix as shown in equation (7): Identifying dexterous zones and solving equation (7) within these zones simplifies the Cartesian model because the non-linear complimentary stiffness matrix is negligible in regard to . The simplified Cartesian stiffness matrix now becomes: After algebraic manipulation of equations (1) to (3) and (6), a linear model describing the end-effector deflection owing to the applied wrench is presented in equation (9), which formed the central basis of the VJM model technique. The complexity of the calculated deflection matrix shown in equation (9) is dependent on the number of DOF of the robot. The greater is, the greater the computational effort and expense. The joint compliance variable −1 represents the inverse of the joint stiffness matrix. The compliance of a robot signifies its degree of flexibility.
The compliance variable −1 in equation (9) is denoted as matrix , and is defined as: where is the j th component of vector for an -DOF system:
(2) = . (3) To develop a linear model to evaluate the estimated joint stiffness , matrix needs to be isolated from . By isolating , can be transformed into matrix , as shown in equation (10). The transformation process of to matrix defines the forces in joint space based on the forces applied in end-effector space . In other words, the application of the Jacobian matrix in matrix (equation (12)) defines the relationship between the applied end-effector forces and the resultant torques required by the robot's joints to support these forces. The size of the matrix is × , where represents the number of DOF. The product of and evaluates back to (equation (11)).
The product of matrix and the joint compliances can now be represented in terms of the measured endeffector displacement, , as follows in equation (13): For better accuracy of the VJM technique, it is required that multiple tests be performed. If tests are performed, let represent the matrix and the matrix, such that equation (13) now becomes: where: When the linear-equation system shown by equation (14) is overdetermined ( > 1), matrix and matrix become rectangular. Matrices of this nature can be solved using the Moore-Penrose pseudo inverse technique shown by equation (17): Consequently, several tests can be performed using this approach to evaluate the joint stiffness values. The end-effector deflections and rotations at each pose can be analysed through the homogeneous transformation matrix (HTM). The HTM is developed using the Denavit Hartenberg convention by attaching frames to the links of a spatial kinematic chain. This matrix is used to identify the position and orientation of the end-effector for an n-DOF robot. Each pose will have a unique HTM matrix. n defines the pose before the applied wrench, and n ′ defines the pose after the applied wrench. The difference in homogeneous transformation between the two frames represents the deflection of the robot.
Let 0 6 and 0 6 ′ define the HTM from the base frame ( 0 to n ) and from ( 0 to n ′) respectively. The two HTMs are obtained via the recorded end-effector coordinates before and after the applied wrench, and take the form: Equations (18) to (19) should be evaluated independently and in parallel with the above stiffness methodology (i.e., before and after each applied wrench ). Thereafter, the calculated translational displacement and rotation of the end-effector can be expressed in 0 as:

Procedure for determining the joint stiffness values
Applying the VJM within a robot's dexterous zones simplifies the stiffness formulation. The complementary stiffness matrix ( ), which is a non-linear matrix, can be ignored during the calculation. For further understanding of ( ), refer to [4,29,30].
SKMs are usually fixed to the ground or the ceiling, depending on the application. The workpiece can be positioned at any location within the robot's workspace envelope; it is usually fixed, and can be adjusted at various angles and distances away from the robot. The process of identifying postures of higher stiffness requires multiple points to be tested at various robot configurations. The stiffer points can be used to place the workpiece within the workspace for improved robot performance. Figure

Figure iii: End-effector calculated deflection procedure
The first step records the initial robot joint coordinates at the user-defined point, as required to evaluate equation (18).
The second step evaluates the Jacobian matrix, derived from the robot's forward kinematic model. The Jacobian provides a detailed expression of the end-effector velocities derived from the robot's joint velocities as shown: The Jacobian matrix has dimensions 6 × , where is the number of joints. For a 6-DOF robot, the Jacobian will be of a size 6 × 6, where the upper three rows of the matrix represent the linear velocity and the lower three rows the angular velocity. The Jacobian matrix is configuration-dependent, and must be evaluated at points and configurations of interest.
The third step applies the wrench force to the end-effector. The wrench force is a measured variable. The wrench vector is of size 6 × 1, as shown in equation (6). The first three components represent the forces in the x, y, z directions, and the last three components are the moments about each axis. After the wrench force is applied, the joint coordinates of the end-effector are recorded to note the deflection from its initial position. These coordinates are used to evaluate equation (19). The translational and rotational displacements of the end-effector are determined by applying equations (20) an (21), about the userdefined point.
Once the Jacobian and wrench matrices have been derived, the fourth step evaluates matrix , as shown in equation (12).
The fifth step records the measured deflection and orientation matrix , as shown in equation (4). The translational and rotational deflections can be measured using a variety of sensors, including accelerometers, laser trackers, and other precision displacement sensors.
Finally, after developing the and matrices, the joint stiffness values for the configuration can be evaluated using equation (13). The result obtained from equation (13) is a square matrix. As previously mentioned, for better accuracy of the joint stiffness, several tests are needed, thus changing the matrix of size square to rectangular.
The Moore Penrose pseudo inverse technique, equation (17), can solve such non-square matrices. The result is joint stiffness in the robot with improved accuracy. The stiffness values can then be further analysed, based on various sources of error during the experimental procedure.

EXPERIMENTAL SET-UP AND TEST PROCEDURE
To illustrate the application of the above joint stiffness formulation using the VJM approach, the experimental procedure was developed in two stages. Stage one involved segmenting the robot's workspace and locating the robot's end-effector at multiple equidistant positions from the robot's base. The endeffector z-axis remained perpendicular to the ground for all non-dexterous tests. Stage two focused on the dexterity application and formulation developed by Mondragon [22]. Each stage involved the measured translational and rotational deflections. This was recorded using piezoelectric accelerometer modules attached to the end-effector in three dimensions (x, y, and z). The use of accelerometers for displacement measurement is much more compact, user-friendly, versatile, and cheaper than with laser trackers.
The workspace and singularities of the robot were identified before developing the testing layout shown in The point cloud was developed for three reasons. The first was to develop a trend analysis of the joint stiffnesses at multiple distances away from the robot's base and at multiple heights above the ground; the second reason was that the VJM requires multiple testing points to arrive at an accurate solution; and the third reason was to test the repeatability of the VJM modelling approach. The setup of points assisted in identifying optimal points and areas to perform manufacturing tasks. The end-effector deflections and applied wrench force were displayed on a LabVIEW graphical user interface (GUI). The GUI indicated when the desired force range on the end-effector was reached. Each radial distance was individually post-processed. Given the complexity of the post-processing analysis, a separate GUI was developed, which applied the polynomial detrending bias removal technique applied in [31].

EXPERIMENTAL RESULTS
This section presents the experimental results. The dexterity and stiffness analysis procedures were programmed in Wolfram Mathematica. As previously mentioned, each test was accompanied by a 6-D wrench vector, a 6-D end-effector displacement vector, and an matrix. To validate the measured deflections, calculated from equations (18) to (21), a linear regression model was developed. The regression analysis validated the measured results, as the deflection results and stiffness values were strongly correlated. Owing to the sample size of the tested point per radial distance, the R-squared number was sufficient to validate the measured deflection values. The sections that follow present the measured and calculated deflections and rotations, a table of estimated joint stiffness values, and the overall joint stiffnesses per radial distance. The trends per radial distance are analysed and discussed.

Joint stiffness identification
A wrench was applied to the end-effector at each test point shown in Figure iv. The robot end-effector was fixed in the − direction at points along the radial distances ( 1 5 ) for all non-dexterous tests. On average, 20 tests were performed at each point. It was impossible to avoid singularities, especially during the dexterity analysis. Some outlying data can be seen in the deflection and rotational box-and-whisker charts. Figure vi and Figure vii provide a box-and-whisker plot with deflections experienced at each radial distance away from the robot's base, for both non-dexterous and dexterous tests respectively.
The methodology used equations (18) to (21) to estimate the linear and angular displacements. The stiffness values were heavily dependent on the deflection and rotation values, and so a relationship between the measured and calculated deflections and rotations was required. The calculated deflections and rotations were validated by applying linear regression analysis to the calculated deflection values. The model was performed where the response (Y) was the measured deflections or rotations, and the predictor (X) was the calculated deflection or rotation. For the non-dexterous tests, the results showed a strong positive relationship, with R-squared values ranging between 69.9% and 79.7% for the deflection values, and between 63.3% and 68.3% for the rotation values, for all five radial distances ( 1 5 ). For the dexterous tests, the linear regression analysis had R-squared values ranging between 72.7% and 82.3% for the deflection, and between 65.7% and 71.1% for the rotation values for all three radial distances ( 1 , 3 5 ). This showed that the calculated model was robust and that the measured results were fit for the stiffness evaluation.
The testing regime within dexterous zones followed the same radial distance configuration as before; however, only radial distances 1 , 3 , and 5 were analysed. A virtual cone-like structure formed by the intersection of the service region and the service sphere defined the dexterous zone. A total of nine dexterous zones were tested, with five unique postures per zone.

Figure vii: Dexterous tests: Measured and calculated deflections [mm]
The overall trend in Figure vi for the non-dexterous test showed a gradual increase in deflections as the radial distance from the base increased. The maximum measured and calculated deflections for radial distance 1 were 1.04 and 1.01 mm respectively, whereas for the dexterous tests, the measured and calculated deflections for radial distance 1 were 0.81 and 0.9 respectively. The measured and calculated deflections for 3 were 1.29 mm and 1.02 respectively for the non-dexterous tests, and 0.92 mm and 0.89 for the dexterous tests respectively. The greatest measured deflections for both tests were recorded at 5 , with the deflection being 1.39 mm for the non-dexterous tests and 1.00 mm for the dexterous tests. The highest deflections for both tests were recorded in radial distance 5 . The overall deflection performance during the dexterous tests shown in Figure vii improved by 46% compared with the non-dexterous tests. This improvement was owing to optimal postures about a point in space.
A further investigation was performed to understand the contribution of the robot's link deflections to the end-effector deflection. The link deflections were modelled during each test with the robot arm fully extended. The most significant contributions to the end-effector deflection, apart from the joints, were links two and four. By modelling the robot links as a square cross-sectional hollow beam, the link stiffnesses were estimated under various wrenches. The link deflections were measured during the maximum extension of the robot ( 5 = 1200 mm). The results showed link 3 to be responsible for 0.9% of the end-effector displacement. Link 4, the second-longest of the links, was positioned nearly horizontal when the robot was fully extended, and owing to its cantilever effect, it contributed 11% to the end-effector displacement. Link 2, the longest link and the one furthest from the end-effector, contributed 9% to the end-effector displacement. These results highlighted a limitation of the VJM stiffness identification method, which assumes that the links are rigid.

and z axes by radial distance [degrees]
A similar trend to the linear deflections was noticed for the rotation measurements. For the x and y directions, the minimum end-effector rotations occurred closest to the robot base ( 1 ), and increased as the end-effector moved further away from the robot's base. The z-axis recorded a similar rotation, with relatively small magnitudes over all radial distances. In Figure ix, the z-axis rotation remained relatively consistent in magnitude over 1 , 2 and 3 . The rotations about the x, y, and z axes during the dexterous tests shown in Figure x displayed an improvement over the non-dexterous tests. The average rotation experienced about the x-axis improved by 16%, the y-axis improved by 42%, and the z-axis improved by 28%. Overall, the improvement in both the deflection and the rotation measurements within dexterous zones emphasised the structural improvements of the robot, which would lead to increased accuracy and repeatability. For demonstration purposes, the trendline of the non-dexterous and the dexterous joint stiffness values evaluated over 21 points for radial distance 3 are displayed in Figure x Table i shows the average estimated joint stiffnesses recorded for all of the tests and the average joint stiffness percentage improvement.
A stiffness analysis by posture was also investigated according to the dexterous ranges recorded by each radial distance. At 1 , 3 , and 5 , the joint stiffnesses were measured within the dexterous zones. The joint stiffnesses were estimated by averaging all stiffness values by radial distance. For each posture, the end-effector -that is, joints 4, 5 and 6 -stiffness values are examined and displayed in Figure xiii (note that only 3 results are presented, and the testing points and postures at z = 300 mm are displayed). Since joints 1 to 3 generally displayed high stiffnesses, the focus was more on the end-effector joints stiffnesses, since the applied wrench force directly impacted these joints.
The posture tests were performed about the mean values at each dexterous zone, then a further four tests at two equally distant values above and below the mean. This gave a total of five postures per dexterous zone, as shown in Figure xii. Overall, for each dexterous zone, joint 5 emerged as the stiffest of the end-effector joints, followed by joint 6, and then 4. As the end-effector moved further away from the base of the robot ( 1 , 3 and 5 ), the joint stiffness decreased. These results were consistent throughout the non-dexterous and dexterous tests.
To test the repeatability of the testing methodology, the errors and their implications were recorded. The errors for each stiffness variable shared a normally distributed relationship. The primary sources of errors that were reported during the experimental procedure included the sensitivity of the PCB accelerometers (±10% 100 mV/G or 10.2 / / 2 ). The conversion to displacement approximated to a 0.1 mm difference between measured deflection and calculated deflection. The other sources of errors were the sensitivity of the S-type load cell (± 0.01 kg), the error in the servo-joints of the robot (± 0.05°), and finally, inconsistency in applying the wrench to the torque tool.
The errors recorded during the non-dexterous tests ranged between 1% and 32%. The errors during the dexterous tests ranged between 7% and 16%. The results that were recorded were acceptable, considering the testing instruments that were used. For the non-dexterous tests, five radial distances were tested; and for the dexterous tests, all three radial distances were tested. The overall joint stiffness decreased from 1 to 5 . This result was expected, since the robot entered a cantilever-like posture as the end-effector moved away from the robot's base.
The joint stiffness values increased for most joints in the dexterous zones. For 1 -joint 1 stiffness was 18.31 × 10 6 Nm/rad, whereas, in the non-dexterous zone, the stiffness recorded for 1 was 16.84 × 10 6 N. m/rad -a 9% improvement. Joint 2 (shoulder) increased by 11%, from 7.30× 10 6 Nm/rad to 8.12× 10 6 Nm/rad. In joints 3 and 4 (elbow), the stiffnesses increased by 5% and 32% respectively. Finally, the wrist (joints 5 and 6) increased in stiffness by 26% and 76% respectively. The results showed that the points closest to the robot's base had a high stiffness with smaller deflections. The overall joint stiffnesses gradually decreased with an increase in deflections as the end-effector moved away from the robot's base. Owing to the gradual elongation of the robot structure from 1 to 5 , the deflection increased in magnitude. For 3 a similar joint stiffness improvement occurred; joints 4, 5 and 6 increased by 38%, 2% and 13% respectively. At 5 , joints 4 and 5 increased drastically by 115% and 165% respectively, whereas joints 3 and 4 decreased by 9% and 18% respectively. The decrease in joint stiffness performance could be attributed to the unpredictability of the robot joint motion at 5 , which influenced the joint settling times, which in turn affected the end-effectors actual joint coordinates. Table i shows the average estimated joint stiffnesses recorded for all tests, and the average joint stiffness improvement as a percentage. The robot's first joint, located on the base, recorded the highest stiffness with an average estimated joint stiffness value of 13.212 MN. m/rad during the non-dexterous tests and 13.980 MN. m/rad during the dexterous tests -a 6% increase. The base of the robot was heavily reinforced and firmly mounted, leading to the expected high stiffness. Joints 2 and 3 were both linked to the robot's base through link 2, and shared similar stiffness values. Joint 2 recorded an average joint stiffness improvement of 2%, and joint 3 increased by 6%. Joints 4, 5, and 6 were primarily responsible for the deflection of the robot. All three joint stiffnesses improved by 40%, 20%, and 9% respectively.

DISCUSSION OF RESULTS
This research explored the stiffness identification of an SKM at multiple postures about a user-defined point. The unique combination of the VJM and dexterity analysis was able to define the optimal areas and zones within the robot's reachable workspace that had high kinematical properties. The process of applying one-dimensional springs to model the joint stiffness, instead of modelling the complicated actuated joints of the robot, combined with the IK, provided a powerful tool to advance SKMs to more sophisticated manufacturing tasks. The use of accelerometers as a displacement measurement tool provided an easy and cost-effective setup, and was a reliable alternative to laser trackers. Two testing phases validated the above combination of the two techniques. The first phase involved a general joint stiffness identification of the robot at multiple equidistant points in the workspace. This phase was defined as non-dexterous testing, since the end-effector was fixed in the z-direction for all of the tests. The second phase, the dexterous tests, involved manoeuvring the end-effector about the same equidistant points, and demonstrating the effect that posture had on the mechanical rigidity of a robot.
The results displayed during the dexterous manipulation showed an improvement in the joint stiffness values. The IK approach determined the dexterous range by specifying the end-effector's coordinate position as the input. The dexterous formulation provided possible and configurations that defined the dexterous space around a specific point in the robot's workspace. The geometrical nature of the method considered the link lengths of the robot, and was able to develop optimal configurations by orientating the links to minimise any excessive cantilever effect. The strain and backlash on the motors were therefore reduced. Consequently, the improved posture was able to withstand the wrench force effectively, resulting in improved overall stiffness.
To analyse the sensitivity of the results to measurement errors, all of the limitations governing each test were investigated. The use of accelerometers provided a cost-effective alternative to the laser tracking device. The process of converting the acceleration signals to displacement introduced errors. A leastsquares polynomial fitting algorithm was applied to remove the DC bias involved in the integration of acceleration. Many studies have validated this algorithm as a feasible solution to correct the DC offsets [33,34]. The method effectively offset the bias that was due to the integration of the raw acceleration values to displacement.
The shortfall in the VJM analysis was that the method assumed the links to be infinitely stiff and only the joints to be compliant. A further investigation was performed to analyse the effect of the link deflections on the overall end-effector deflection. The contributions were moderate; however, a more accurate stiffness model can be obtained.
The integration of a singularity analysis with the dexterous analysis would have promoted far more testing points, thereby improving the accuracy of the VJM approach. The contribution to environmental effects such as ground movement, wind, and electrical interferences would have skewed the results. It would therefore be prudent to perform such tests using accelerometers in an isolated vibration proof room, which would ensure accurate measurement readings.
An optimal robot configuration drastically improves the stiffness characteristics of the robot, as demonstrated by the testing in the dexterous zones. The dexterity analysis also demonstrated that, for dedicated tasks that are manufactured at the extremities of the robot, whether intentional or not, stiffer robot postures are still possible. Ultimately, the dexterity, VJM, and cost-effective testing regime, when combined, can guarantee the improved accuracy and repeatability of any manufacturing process, whether it be precision placement tasks in the electronics industry or machining in the automotive and aerospace industries.

CONCLUSION
The research conducted in this study aimed to improve SKM stiffness. The study proved that, although rigidity is attributed to accurate robot design, structure, and build quality, the identification of correct and optimal postures drastically affects a robot's stiffness. Defining the correct posture before a precision manufacturing task can improve a robot's performance. The adopted dexterity methodology enabled the location of optimal zones. The joint stiffness technique of applying virtual joints enabled an approximation of the joint stiffness of a robot. The discrepancies noted during the testing procedure were owing to the use of low-cost sensors. Nevertheless, the tools fabricated for this study, along with the data acquisition software and sensors, successfully met the overall aim and objective of the project.
In theory, the idea of replacing rotary joints with virtual joints drastically simplifies the model. Applying six-dimensional springs can optimise the model and provide more accurate joint stiffness values. This could be motivated for future research in this field. Ultimately, the study proves that optimal zones are accompanied by high stiffness, and that robot users can leverage improved robot postures to their advantage.