Kinematics and Constraints of the Exechon Robot Accounting Offsets Due to Errors in the Base Joint Axes

An Exechon robot with offsets between the axes of the joints that connect the legs to the fixed platform is analyzed for the first time. Ideally these axes intersect constituting two universal and one spherical joint. The introduction of imperfections in these universal and spherical joints leads to more complex forward and inverse kinematics which are solved in this paper. It is proved that the equations used for the kinematics of the ideal Exechon robot are no longer applicable when these offsets are added. The constraint system is also obtained and it is found to be different to the one of the ideal case. Finally, the combination of offsets that lead to the largest deviation in the position of the parallel platform is determined. NOMENCLATURE ai, j, αi, j DH parameters of link length and twist angle, respectively, between axes i and j. di, θi DH parameters of axial displacement and joint angle, respectively, for joint i. d(P,Q) Euclidean distance between points P and Q. Si Instantaneous screw axis associated to kinematic pair i. Tn n-dimensional torus. Rot(û,θ) Rotation matrix representing a rotation of θ ∈ T radians about an axis that contains the origin and is parallel to û ∈ R3. ∗Address all correspondence to this author. exp(aS) Exponential mapping that generates a finite displacement of magnitude a, about/along axis S. im Image of a map. Adj(ψ) Adjoint representation of ψ ∈ SE(3). rP Position vector of point P with respect to the origin of the coordinate system A. A BR Rotation matrix that gives the orientation of frame B with respect to frame A. πû(v) Projection of vector v onto a plane that is perpendicular to û and contains the origin. INTRODUCTION Since the Stewart platform was developed in the sixties [1,2], applications for parallel kinematic machines (PKM) of parallel robots [3,4] have been expanding in industry. Nevertheless, the use of PKMs in manufacturing is relatively recent. It was until 1996 that Boing incorporated the Tricept technology [5, 6] in their production lines. Since then, the use of PKMs in manufacturing became a topic of interest of many researchers. The big advantage of the Tricept robot is its topology, which is hybrid, this means that the robot consists of a parallel module with a serial module attached to the moving platform of the parallel one. This combination of characteristics allows to get the benefits from both worlds: a hybrid robot has the high stiffness which can be obtained from any parallel robot, but at the same time, the hybrid robot overcomes the important drawback of a parallel robot which is workspace limitations.


INTRODUCTION
Since the Stewart platform was developed in the sixties [1,2], applications for parallel kinematic machines (PKM) of parallel robots [3,4] have been expanding in industry. Nevertheless, the use of PKMs in manufacturing is relatively recent. It was until 1996 that Boing incorporated the Tricept technology [5,6] in their production lines. Since then, the use of PKMs in manufacturing became a topic of interest of many researchers.
The big advantage of the Tricept robot is its topology, which is hybrid, this means that the robot consists of a parallel module with a serial module attached to the moving platform of the parallel one. This combination of characteristics allows to get the benefits from both worlds: a hybrid robot has the high stiffness which can be obtained from any parallel robot, but at the same time, the hybrid robot overcomes the important drawback of a parallel robot which is workspace limitations.
. However, the topology of the Tricept robot has an important problem: it has many passive joints, leading to control problems and costly manufacturing. The Tricept has a completely unactuated leg which is in addition prone to high torsion and tension stresses. To overcome this, the same team which developed the Tricept and which is led by Neumann, designed in 2004 a new hybrid robot with a reduced number of passive joints but with all the advantages brought by the Tricept. The result is the Exechon robot [7,8] which again a 5-DOF robot with a serial module attached to the moving platform of a fully parallel mechanism. The Exechon has been already used in several applications, particularly, the Exechon is been used in aircraft manufacturing [9].
In the material provided by the developer of the Exechon, the diagram introducing the dimensions of the Exechon robot presents a more general topology [7]. The diagram is shown in figure 1, it can be seen that the revolute joints that connect the legs to the fixed platform are not intersecting as in the ideal model, where the nominal lengths of the common perpendiculars between these axes is zero. The error propagation in the structure of the Exechon robot is currently being studied in a research carried out in conjunction between King's College London and Queen's University Belfast. As part of this research this paper aims to kinematically analyze for the first time the Exechon robot considering the geometric imperfection [20] of the joint axes connecting the legs to the fixed platform. The equations applied to solve both the inverse and the forward kinematics of the ideal Exechon robot will no longer hold when accounting these offsets. The study only considers the five offsets of the ideally intersecting axes in the base of the robot. The analysis presented in this paper is valid for Exechon models in which the serial module is a spherical wrist. We consider the joint axes in this spherical wrist as perfect, i.e., they intersect. Models with offset wrists are also available and their coupled kinematics will be analyzed in future research. In addition, the study presented in this paper only considers offsets between axes that nominally should be equal to zero, however it considers all revolute joints as perfect, the clearance in them is not a topic addressed in this paper.
The study will reveal the forward and inverse kinematics of the robot, its system of constraints which will also turn out to be different to that of the ideal Exechon robot and finally it will shortly study the effects of these offsets in the position of the moving platform, revealing also which combination of errors produces the largest deviation in position.
This paper is organized as follows: Section 1 describes the geometry of the ideal Exechon robot, this one is then compared in section 2 to the geometry of the Exechon robot with offsets to be studied in the paper, in section 3 the inverse kinematics of the Exechon robot with offsets is solved, followed by its forward kinematics in section 4 and the computation of its constraint system 5. The results of the forward kinematics problem are used in section 6 in order to determine the deviation of the position of the parallel platform of the robot due to the introduction of offsets. Finally, some conclusions are drawn in section 7. Figure 2 shows a representation of the ideal Exechon hybrid robot. The hybrid robot is conformed by a 3-DOF parallel module and a 3-DOF serial module. The parallel module consists of a moving platform and a fixed platform connected by three legs. Legs 1 and 3 are UPR serial chains, while leg 2 is an SPR kinematic chain. In the ideal model joint axes S l1 and S l2 intersect in point A l , l = 1, 3 and S 21 , S 22 and S 23 intersect in A 2 . In addition, S l3 ⊥S l2 , l = 1, 3, S 24 ⊥S 22 and S 24 ||S 23 .

GEOMETRY OF THE IDEAL EXECHON ROBOT
Refer to figure 3, points A 1 , A 2 and A 3 constitute the vertices of an isosceles triangle with base 2d A1 := d(A 1 , A 3 ) and height d A2 := d(A 2 , S 11 ). Points B 1 , B 2 and B 3 also form an isosceles triangle with base 2d B1 := d(B 1 , B 3 ) and height d B2 := d(B 2 , B 1 B 2 ). Points A 1 , A 3 , B 1 and B 3 are coplanar, we call the plane that these point lie on Π , while plane Λ is the one containing B 1 , B 2 and B 3 . The joint variables of the actuated joints of each leg are measured as follows: q l3 := d(A l , B l ), l = 1, 3, and q 24 := d(A 2 , B 2 ).
The serial module is mounted on the moving platform. This module is a serial 3R chain with its three axes S S1 , S S2 and S S3 intersecting at point S. Revolute joint with axis S S3 represents the rotation of the tool, the tip of the tool is the point T . Point S FIGURE 2. The ideal Exechon hybrid robot is located a distance h z := d(S,Λ ) from plane Λ and a distance h x := d(S, Π ) from plane Π . Axis S S1 is perpendicular to Λ and the three axes constituting the serial module are perpendicular to each other. The distance between T and S is d T := d(T, S). Figure 4 shows an Exechon hybrid robot in which offsets were introduced between the axes of the revolute joints connecting the fixed platform. The condition of having axes intersecting at points A i , i = 1, 2, 3, no longer holds. In the model shown in figure 4, former points A i , i = 1, 2, 3, have been renamed as A ia , i = 1, 2, 3. Error E 4 is the length of the common perpendicular between now skew axes S 11 and S 12 , this common perpendicular intersects S 11 at A 1a and S 12 at A 1b . Similarly, the common perpendicular between S 31 and S 32 intersects these axes at A 3a and A 3b , respectively, and has a length of E 5 . The joint variable of the actuated prismatic joint in legs i = 1, 3 is defined as q i3 := d(A ia , B i ). In summery, if E l1 := E 4 and E l3 := E 5 , the DH parameters for legs i = 1, 3 are given by:

Geometry of the inserted offsets
E 4 and E 5 are considered in the kinematic analysis carried out in [12], however the rest of joints are considered ideal. It is seen in [12], that the introduction of E 4 and E 5 does not really affect the analysis which is basically the same as that for the wholly ideal Exechon. E 1 and E 3 are the lengths of the common perpendiculars between adjacent axes S 21 and S 22 , and S 22 and S 23 , respectively, and the distance between these two common perpendiculars is E 2 . The common perpendicular between S 21 and S 22 intersects S 21 at A 2a .
For leg 2, the common perpendicular between adjacent axes S 21 and S 22 has a length of E 1 and intersects S 21 at A 2a . Similarly, the common perpendicular between adjacent axes S 22 and S 23 has a length of E 3 and intersects S 23 at A 2b . The distance Plane Λ is defined the same as for the ideal Exechon robot, whilst plane Π is now defined as the plane containing points A 1b , A 3b , B 1 and B 3 . Three coordinate systems that will be useful throughout the analysis are defined as shown in figure 4 respectively. Finally, a frame S is fixed to the end-effector tool, with origin at S, the center of the spherical wrist of the serial module, axis z S is coincident with S S3 , so that S r T /S = (0, 0, d T ).

Mobility of the parallel module of the Exechon robot with offsets
The mobility of the modified Exechon robot is the same as that of the ideal Exechon robot. A very simple way to prove this mobility is described. Considering legs i = 1, 3 and locking joints i1, the result is a planar mechanism, since S i2 , S i3 and S i4 constitute a generator of the group of general planar displacements G(û Π ), whereû Π is the normal vector to Π , the moving platform undergoes general planar motions in this situation. Therefore, both legs can be replaced by any kinematic chain that can generate G(û Π ) connected to the fixed platform by means of an R joint with axis S 11 . In figure 5a, legs 1 and 3 have been replaced by a single 4R leg, with axes S 11 , S G1 , S G2 and S G3 , where S G j , j = 1 . . . 3 are a generator of G(û Π ). Since the only conditions for these three axes is them being non-coincident to each other and being parallel toû Π , we can choose S G3 to intersect B 2 . It can be seen that in leg 2 S 23 ||S 24 and since these two joints are adjacent, they represent a generator of the group of cylindrical displacements C(r B 2 /A 2b /|r B 2 /A 2b |, B 2 ), and as such, permutation of these joints is allowed. In figure 5a joints 23 and 24 have been permuted.
The moving platform of the equivalent mechanism shown in figure 5a undergoes exactly the same motion pattern than the moving platform of the Exechon robot with offsets in figure 4. It can be seen that in such a mechanism axes S G3 , S 23 and S 25 intersect at B 2 , and since they are the axes of three adjacent R joints, they generate the group of spherical motions S(B 2 ), as such, they can be replaced an S joint with center at B2. Figure  5b shows the equivalent mechanism with the S joint included.
For the equivalent mechanism shown in figure 5b, note that if joints 21, 22 and 24 are disconnected, point B 2 can move to any point in the three dimensional space as it can reach any point in Π , by means of joints G1 and G2, but then Π can be rotated about S 11 , allowing B 2 to visit any point in space. In a similar manner, now disconnect joints 11, G1 and G2, point B 2 can reach any point in the plane perpendicular to S 22 by means of joints 22 and 24, however, this plane can also rotate about S 21 , allowing B 2 to visit any point in space. It can be seen that when all joints are connected point B 2 still can reach any point in space, having 3 DOFs and since there are no passive degrees of freedom when positioning B 2 in space, the whole mechanism, has 3 DOFs. This mechanism is in fact non-overconstrained [21]. Since this is an equivalent mechanism, the Exechon robot has the same mobility. In addition, observe that this analysis is not compromised by removing of the errors, therefore, these steps also prove the mobility of the ideal Exechon mechanism.

INVERSE KINEMATICS OF THE EXECHON ROBOT WITH OFFSETS IN THE BASE REVOLUTE JOINTS
The following information is known in the inverse kinematic problem (IKP): O r T , the position of the tip of the tool, point T , with respect to the fixed coordinate system, and O S R, the orientation of coordinate system S attached to the tool with respect to the fixed coordinate system. The purpose of the IKP is to determine the screw coordinates of all joint axes in the robot with respect to the fixed coordinate system: In the Exechon robot the parallel module is used to control position, while the serial module allows control of the orientation of the tool. Clearly, the motion of the moving platform of the 3-DOF parallel module is not pure translation, the parasitic rotation obtained after positioning the tool is compensated by the serial module, which allows to obtain the desired orientation of the tool. The IKP can, thus, be split in determining the joint axes of the parallel module for a desired position and then using these results to calculate the screw coordinates of the joint axes of the serial module for the desired orientation.
In the case of the analysis of the parallel module it is convenient to have as input the position of a point that is fixed to the moving platform. Note that known point T has relative motion with respect to the moving platform. However, from the input information of the IKP it is possible to determine the position of point S, which is fixed with respect to the moving platform: . Hence, we have the following input and output information for the analysis of each module:

Analysis of the parallel module for the IKP
To start this analysis we first attempt to follow the steps presented in [10,12] for the IKP of the parallel module of the ideal Exechon robot and it will be seen that there is an equation that no longer is fulfilled in the Exechon robot with offsets in the joint variables.
The idea is to fully determine frame E with respect to O, i.e. computing Oî E , Oĵ E , Ok E and O r E . If this frame is known then points B 1 , B 2 and B 3 are known and computing the screw coordinates of the joint axes becomes straightforward (at least for the ideal parallel module).
It can be seen that C is fully defined with the information known so far. A new coordinate system, C, is defined with origin at C and orientation given by O C R := Rot(α, Oî O ), so thatĵ C ||ĵ E andî C ||î O . Frame C is also known. In Eq. (1), the positive sign refers to the typical assembly shown in figure 6, while the negative sign can only be achieved by disassembling the mechanism. This different assembly requires the following transformation between the C and O frames: In order to find Oî E , the way to proceed in the case of the ideal Exechon robot is to use the following condition, see figure  2: Oî Since point A 2 is fixed to the ground O r S/A 2 is known and adding the conditionî E ⊥ĵ E , Oî E can be obtained. Unfortunately, the first condition does not hold for the Exechon with offsets in the base joints. It can be seen in figure  6 that Oî is unknown as it is not fixed to the ground. As a result of this, the analysis becomes much more complicated.
Point A 2b which in the ideal Exechon robot is fixed and coincident with A 2a is now moving in a toroid S [22,23,24] as shown in figure 7. The common perpendicular between axes S 21 and S 22 intersects the later at point A 2c . This point draws a circle C 1 lying on plane y O z O with radius E 1 . The common perpendicular between axes S 22 and S 23 intersects S 22 at A 2d . Point A 2b draws a circle C 2 of radius E 3 , with center at A 2d and normal parallel to S 22 . when actuating joint 21 C 2 (q 21 ) is swept along C 1 generating a toroid. The axial displacement E 2 gives a banana shape to the cross section of the toroid, see [22]. Point A 2b can be located by means of any parametrization of S, here the following is used: so that Or A 2b = O σ (q 21 , q 22 ) and S = im(σ (T 2 )). This parametrization uses the joint variables (q 21 , q 22 ) as parameters, q 21 being measured from z O axis to the common perpendicular of length E 1 , about S 21 and q 22 measured from the common perpendicular of length E 1 to the common perpendicular of length , therefore, the following condition holds: With the information in hand so far we also know that B 2 lies somewhere in a circle C of radius h z , center at C and contained in the x C z C plane (see figure 6b). We define the angle θ as the angle from z C to z E measured about y C (or y E ). With this angle, C is drawn by: and the position of B 2 is given by A first condition to consider is that r B 2 /C ,ĵ C and ∂ σ /∂ q 22 must be coplanar. Therefore: sin q q 22 sin θ (cos α cos q 21 + sin α sin q 21 ) − cos q 22 cos θ = 0 (5) where σ q 22 := ∂ σ /∂ q 22 . Eq. (5) is in terms of unknowns θ , q 21 and q 22 . The computation of these unknowns fully solves the IKP of the parallel module, hence it is required to find more conditions that involve these variables.
Note in figure 6 that S 23 must intersect axis y C , which are the lines given by L (σ q 22 , A 2b ) and L (ĵ C , S), respectively. Therefore, if these two lines intersect the following condition holds: A third equation to complete the system can be obtained from condition in Eq. (3) by considering r B2/A 2b ||S 23 then r B 2 /A 2b ||σ q 22 . Since O r B 2 and O r A 2b are known in terms of the three unknowns, the condition can be used as follows: Eqs. (5-7) represent a system of 3 non-linear equations in 3 unknowns. However, note that Eq. (6) is only in terms of unknowns q 21 and q 22 , and Eq. (7) is only in terms θ and q 21 . It is possible to solve these two equations so that two variables are eliminated.
Eq. (6) has the form K 1 cos q 22 + K 2 sin q 22 + K 3 = 0, which be solved for q 22 with two solutions: where K 1 := (−E 2 cos q 21 + E 1 sin q 21 + d A2 − S y ) sin α + (E 1 cos q 21 +E 2 sin q 21 + S z ) cos α, K 2 := S x (cos α cos q 21 + sin α sin q 21 ), K 3 := E 3 (cos α cos q 21 + sin α sin q 21 ), Eq. (7) can be easily solved for θ to obtain: Replacing the expressions for q 22 and θ from Eqs. (8) and (9) in Eq. (5) the system is reduced to a single equation in a single variable, q 21 . However, this equation is too complex to obtain a closed form solution and a numerical method has to be applied. There are two solutions in each expression in Eq. (8) and (9), therefore, at least four solutions can be obtained for the system of equations, however, it is not possible to determine how many solutions can be obtained from Eq. (5) once each expression for q 22 and θ are replaced in it and it is solved numerically.
When the values of q 21 , q 22 and θ are defined frame E is determined by O , are also easily obtained now that frame E is known. O r A 2b is also known by evaluating parametrization in Eq. (2).
The screw coordinates of all joint axes in the parallel module are given by: Leg i = 1, 3: Joint variables of the actuated joints are given by: The negative signs of E 4 and E 5 in q 13 and q 33 , respectively, refer to the typical configuration shown in figure 8a, while changing these signs other three configurations shown in figure 8 are obtained. The same situation happens in the ideal case [12]. Observe that these four possibilities only affect the values of q 13 and q 33 , therefore, for every solution found another three can be obtained by changing the signs of E 4 and E 5 and without altering any of the other results.
Using the two possible values of α, q 22 and θ shown in Eqs. (1), (8) and (9), respectively, a total of eight uni-variable equations are obtained. These equations cannot be converted into polynomial expressions due to the presence of multiple square roots which cannot be eliminated. This prevents the straightforward determination of the number of solutions in the complex field. Nevertheless, all possible real solutions were computed for a given position of the end-effector using numerical methods. The results show that each of these 8 equations has two real  [12]) which can be obtained from closed-form solution.

Analysis of the serial module for the IKP
After the analysis of the parallel module the orientation of frame E, O E R, is known. From the input information of the IKP O S R is also known. It can be seen that E The same transformation must be achieved by actuating the motors of the serial module from an initial configuration q 0 in which frames E and S coincide. Such a configuration is shown in figure 9.
After actuation of the three motors of the serial module, the orientation of frame S with respect to E is given by E S R = Rot(q S1 , Ek E )Rot(q S2 , Eî E )Rot(q S3 , Ek E ). Matching this rotation matrix with E S R = ( O E R) tO S R, the values of q Si , i = 1, 2, 3, are ob- tained as: where R i, j is the (i, j) entry of known matrix E S R. Note that two possible solutions are obtained for a desired orientation of the tool.
The screw coordinates of the joint axes in the serial module are given by O S Si = (ŝ Si ;ŝ Si × O r S ), where:

FORWARD KINEMATICS OF THE EXECHON ROBOT WITH OFFSETS IN THE BASE R JOINTS
In the forward kinematics problem (FKP) of the Exechon robot with offsets the input information are the values of joint variables q 13 , q 24 , q 33 , q S1 , q S2 and q S3 and the outputs are O S R and O r T .
In a similar way to the IKP, it is possible to analyze the parallel and the serial modules separately.

Analysis of the parallel module for the FKP
The FKP of the parallel module consists of finding the position and orientation of the moving platform, i.e. O E R and O r E , respectively, when q 13 , q 24 and q 33 are given. Again, as done with the IKP, the procedure in [10,12] is first attempted to follow.
Refer to figure 6, a new variable k is introduced and it is defined as k : where O r E := (e x , e y , e z ). If the limits of the actual robot are considered k will always be positive. The following two conditions hold analyzing the projection on plane Π shown in figure 6b: where, as explained in Section 3, the signs of E 4 and E 5 determine the four configurations of legs 1 and 3 shown in figure 8, with negative signs for both E 4 and E 5 referring to the typical case in figure 8a. Eqs. (10) and (11) are in terms of unknowns k, e x and θ . Two sets of closed-form solutions for k and e x in terms of θ can be obtained, however the expressions are two long to be presented in this paper. Considering the 4 possible versions of the system of equations (10) and (11), a total of 8 sets of closedform solutions for k and e x are obtained. Note that O r E = (e x , −k sin α, k cos α), therefore, finding e x , k and α solves the FKP since α also defines Oĵ E and using Eqs. (10) and (11), θ would be obtained which allows the computation of Oî E and Ok E . To obtain equations involving e x , k and α two expressions for point B 2 are written. The first one describes the vectors from point O to E to B 2 : Plugging Eqs. (12) and (13), three scalar equations in terms of 4 unknowns, θ , α, q 21 and q 22 , are obtained. In order to get rid of one of the variables, the condition of axis x E being always perpendicular to joint axes S 23 and S 24 is considered: Eq. (14) can be solved for q 22 to obtain two solutions: , Replacing this solution in Eqs. (12) and (13) a system of three equations in unknowns three unknowns, θ , α and q 21 , is obtained. The expressions are large and have to be solved numerically. When θ , α and q 21 are known the FKP is solved as: In addition, the center of the spherical wrist, S, can be easily located by means of: Using the eight sets of solutions for k and e x obtained from Eqs. (10) and (11), along with the two solutions from q 22 in Eq. (15), a total of 16 systems of 3 nonlinear equations in 3 unknowns are obtained. Since these systems cannot be reduced to polynomial expressions it is not possible to obtain the number of solutions in the field of complex numbers in a straightforward way. However, using numerical methods, all possible real solutions of the FKP were obtained for a particular set of actuation values. The results are shown in Appendix C. A total of 57 real solutions were obtained. 16 of these solutions belong to the case of typical configuration of legs 1 and 3 shown in figure 8. To the knowledge of the authors, the number of solutions of the FKP of the ideal case is not available in the literature, the reason being that no closed-form solution is available. However, using the same equations presented in this paper, fixing E i = 0, i = 1 . . . 5, all possible solutions of the FKP for the ideal case were obtained numerically for the typical configuration of legs 1 and 3 shown in figure 8. The results show 8 solutions and a duplicate of each one with q 21 replaced by q 21 + π, this simply means that the direction of the axis of revolute joint 22 has been reflected. This change is imperceptible as such joint is part of an arrangement of a spherical joint. For the same configuration of legs 1 and 3.
It is important to mention that the solutions k(θ ) and e x (θ ), from Eqs. (10) and (11) do not exist should both θ = 0 and E 4 = E 5 happen. In such a situation, Eqs. (10) and (11) are reduced to two equations in k(θ ) and e x (θ ) with the following solutions: Eq. (14) now leads to q 22 ∈ {π/2, 3π/2}, replacing the known values of e x , k and q 22 in Eqs. (12) and (13) three equations in unknowns q 21 and α is obtained. The extra equations gives a necessary condition for θ = 0 to happen: q 33 = 13 . It can be seen that in the ideal Exechon robot, i.e. E 3 = 0, the parallel module adopts a symmetric configuration with respect to the y O z O plane.

Analysis of the serial module for the FKP
After solving the FKP of the parallel module, the values of O r E and O E R are known. Since E r S = (0, h y , h z ) is constant, the position of the center of the spherical wrist, S, w.r.t. frame O is fully determined after solving the FKP of the parallel module as O r S = O E R E r S . The orientation of the tool frame, S, (see Fig. 9) with respect to the platform frame E is given by . Therefore, if the input variables of actuation q S1 , q S2 and q S3 are known the orientation of the tool is computed by O S R = O E R E S R.

CONSTRAINT SYSTEM
It is desired to know the system of constraints for a given position and orientation of the end-effector. After solving the IKP for such a pose of the tool, it is possible to compute the wrench system of constraints. In this section, the computation of the wrench system of the parallel module is addressed. Note that a basis for the wrench system of the serial module, which is a spherical wrist, simply consists of three linearly independent wrenches of pitch 0 intersecting S, the center of the wrist.
The constraint system of each leg of the parallel module of the Exechon robot with offsets is different from that of the ideal Exechon robot. However, for legs 1 and 3 the wrench system is the same and still can be found by means of geometry as shown in figure 10 for leg 1: Similarly to legs i = 1, 3 of the ideal Exechon robot, the wrench system of constraints consists of two wrenches, the first one, W ci1 being a pure moment that is perpendicular to axes S i1 and S i2 and, in consequence, also perpendicular to S i4 . Since it is W ci1 is a pure moment, then Kl(W ci1 , S i3 ) = 0 is also ensured. The second wrench, W ci2 , is a pure force intersecting S i1 and parallel to S i2 and S i4 . Since W ci2 ⊥ S 13 their reciprocity is ensured. Since the IKP is considered to be known, the two wrenches for legs i = 1, 3 can be computed by means of: Unfortunately, for leg 2, unlike in the ideal Exechon robot, the sole wrench the spans the system of constraints of the leg is neither 0-nor infinite-pitched, and therefore it cannot be located by means of geometry, at least not easily. W c21 , the only wrench in this system, can be found by computation of a basis of Null((J 2 (q)) t ), where J 2 := aug( O S 21 , . . . , O S 25 ).
Although IKP is solved numerically, it is possible to obtain a closed form solution for O W c21 if J 2 is expressed in terms of α, θ , q 21  it is easier to evaluate the closed form solution of O W c21 than computing Null((J 2 (q)) t ) for the given configuration q.
Let λ OW c21 be the only element of the basis of the computed null space [25] (it is multiplied by λ since it is not necessary a unit screw), then span Using symbolic algebra software Maple Null((J 2 (q)) t ) is computed and a closed-form solution is found in terms of the previously mentioned intermediate variables. The solution is long and is presented in Appendix A.

EFFECTS OF OFFSETS IN THE POSITION OF THE MOVING PLATFORM
It is possible that not all five offsets are present in the robot, therefore a total of 2 5 = 32 situations are possible, depending on which links present error and which are ideal. For example, the link between joints 11 and 12 can be ideal and E 4 = 0, while the other offsets are still present. It is possible to check which of these 32 cases produces the biggest error in the position of the moving platform. The 32 cases will be tested in different points of the reachable workspace of the robot, and in each case the deviation of point E in the platform will be compared to its ideal position that would be obtained in the ideal Exechon robot using the same values of the actuated joint variables.
The comparison is made using the dimensions shown in table 1. The stroke of each actuator is split in 11 positions, generating a total of 11 3 = 1331 configurations to be tested. Since in each configuration 32 different cases of combinations of offsets are to be analyzed, a total of 1331 × 32 = 42592 iterations are required. Figure 11 shows the contour graph approximated using the position of point E in each of the 1331 analyzed configurations in the ideal case. The plot shows a typical shape of workspace in In each of the 1331 configurations the case of offsets combinations that produces the biggest deviation of point E is saved. When all the configurations have been analyzed, the number of times that every case of offsets combinations gave the biggest deviation is counted. According to these results, the case that affected the position of E the worst is when all offsets are present except E 5 , the length of the common perpendicular between joint axes S 31 and S 33 , which was the worst case in 428 configurations. Note that this non-symmetrical result is a consequence of the loss of symmetry of the parallel module, whose offsets between axes in leg 3 break the symmetry borne by the ideal mechanism. Figure 12 shows the points reached by the ideal Exechon robot in the 1331 configurations analyzed. In such plots, the clearer the dots are, the larger the deviation of point E in the parallel platform will be when all offsets, except the one in leg 3 are introduced. It can be seen that the safest area is when x O −coordinate of E is negative, while its y O −coordinate is positive. These results were obtained using an offset of 1 mm, for which the largest deviation of the position of E with respect to the ideal case was 2.8428193 mm, while the mean was a deviation of 2.216036073 mm.
In order to observe the effects of the same arrangement of offsets on the position and orientation of the end-effector, consider a configuration with actuation values q 13 = 800mm, q 24 = 600mm, q 33 = 670mm, q S1 = 65 • , q S2 = 32 • and q S3 = 210 • . Table 2 compares the ideal case against the case with 1-mm offsets   inserted in all base axes except the one in leg 3, which is, according to the previously-discussed results, the worst case. According to the values in table 2, the deviation of point E of the moving platform is 2.37549666 mm, while the deviation of point S in the end-effector is 3.278749429 mm.
In regard to the constraint system, in the ideal case, it is spanned by the single element O  intersecting point A 2 . When the error offsets are considered, the single element in the wrench system is obtained by means of the null space as. This wrench is slightly non-parallel to the axis of joint 25, which is computed as Oŝ 25 = (0.956867789, −0.119963676, −0.264599229). This wrench has also a small pitch, h c21 = Oŝ c21 · O v c21 = 0.149887, which makes it a non-pure force. Finally, its axis does not intersect point A 2 , but it is located a distance 1.30615095 mm away from it.

CONCLUSION
In this paper the Exechon robot was analyzed considering imperfect joint axes in the joints connecting the legs to the fixed platform. The forward and inverse kinematics of the robot were solved and its constraint system was obtained. It can be concluded that the introduction of these offsets makes the analysis of the robot a much more complex problem which had to be solved numerically, although the systems of equations were reduced from their original form. The constraint system is the same as in the ideal case for legs 1 and 3, however for leg 2 the single wrench that spans the system of constraints of such leg cannot be obtained by geometrical means. The use of the FKP showed that the combination of all offsets except that of leg 1 leads to the largest deviation in the position of the parallel platform. In addition, eight solutions to the IKP of the parallel module were obtained for a given position of the end-effector. Meanwhile, sixteen solutions to the FKP of the parallel module were obtained. It can be seen that the number of solutions for the IKP was reduced from the original 16 solutions of the ideal case.
The results obtained in this paper allow a more precise prediction of the position and orientation of the tool once the dimensions of each offset are known. These results are also the first step to the determination of a stiffness model of this robot with imperfections for a more detailed analysis of the errors produced during machining operations.

ACKNOWLEDGMENT
This work was supported by the Engineering and Physical Sciences Research Council (EPSRC) projects with reference numbers EP/P025447/1 and EP/P026087/1. where: ) sin α)) sin q 22 −d A 2 ) cos 3 q 21 + (cos α sin q 21 (d A 1 − d A 2 ) − cos αE 1 + sin αE 2 ) cos 2 q 21 + ((−E 2 cos α − sin αE 1 ) sin q 21 + sin α(d A 1 −d A 2 )) cos q 21 + (−s z sin α + (d A 2 − s y ) cos α + h y −d B 2 ) sin q 21 + cos αE 1 − sin αE 2 ) sin θ − sin q 22 cos q 22 ((h y −d B 2 ) cos θ sin α + cos αh z − s z cos θ ) ) cos θ + (− sin q 21 E 2 cos α + sin α(−E 1 sin q 21 + d A 1 −d A 2 ))(− sin θ s x + h z )) cos q 21 + ((d A 1 − d A 2 ) sin q 21 + − sin θ sin q 22 E 1 (d B 2 − h y + sin αs z + cos αs y )) cos q 22 −s x ) sin θ + h z )) Appendix B: Solutions of the IKP of the parallel module Given the eight uni-variable equations obtained from the two solutions for each α, q 22 and θ , all possible real solutions for the IKP are numerically obtained for the tool position O r S = (300, 500, 900) mm. The dimensions of the mechanism are shown in Table 1. In order to better appreciate the difference between solutions, an exaggerated offset of 60 mm was used. Figures 13 and 14 show the 16 solutions obtained, including a picture of the parallel module and the corresponding values of the actuated joint variables q 13 , q 24 and q 33 . These 16 solutions refer to the configuration of legs 1 and 3 shown in figure 8a. Other three solutions can be obtained for each of the 16 presented here by changing the configuration of legs 1 and 3 as shown in cases b, c and d in figure 8, only affecting the values of q 13 and q 33 but keeping all other values unaffected. In total, 64 solutions are obtained.

Appendix C: Solutions of the FKP of the parallel module
Given the sixteen systems of equations obtained from the eight sets of solutions for e x and k and the two solutions for q 22 , all possible real solutions for the FKP are numerically obtained for the values of actuated joint variables q 13 = 670mm, q 24 = 570mm and q 33 = 800mm. The dimensions of the mechanism are shown in Table 1. In order to better appreciate the difference between solutions, an exaggerated offset of 60 mm was used. A total of 57 solutions were obtained. Figures 15 and 16 show the 16 solutions obtained for the configuration of legs 1 and 3 shown in figure 8, including a picture of the parallel module and the corresponding position of the end-effector O r S .