# On the Direct Kinematics Problem of Parallel Mechanisms

Authors: Arthur Seibel; Stefan Schulz; Josef Schlattmann
Journal: Journal of Robotics
 (2018)

---

## Abstract

The direct kinematics problem of parallel mechanisms, that is, determining the pose of the manipulator platform from the linear actuators’ lengths, is, in general, uniquely not solvable. For this reason, instead of measuring the lengths of the linear actuators, we propose measuring their orientations and, in most cases, also the orientation of the manipulator platform. This allows the design of a low-cost sensor system for parallel mechanisms that completely renounces length measurements and provides a unique solution of their direct kinematics.


---

## Body

## 1. Introduction

A typical six-degrees-of-freedom parallel mechanism consists of a (fixed) base platform and a (movable) manipulator platform. The position and orientation (also known as pose) of the manipulator platform are commanded by fixing the distances betweenn points on the base platform and m points on the manipulator platform, where n,m∈{3,…,6}. There may be different ways for realizing such a mechanism. The most common one is to use six linear actuators for connecting the platforms together.Determining the pose of the manipulator platform from the linear actuators’ lengths (also known as direct kinematics problem) generally leads to a system of algebraic equations that has at most 40 different solutions [1–8]. This number of solutions can be further reduced by introducing additional constraints, for example, combinatorial or planarity constraints [9]. Nonetheless, a closed-form solution cannot be realized by only measuring the lengths of the linear actuators.Current sensor concepts for solving the direct kinematics problem can be basically classified into two groups [10]. The first group consists of using the minimal number of sensors, in our case, six length sensors, and then including additional numerical procedures to uniquely identify the parallel mechanism’s pose [11–20]. These procedures, however, are generally not real-time capable, require an initial estimate of the solution, and may exhibit convergence problems or even converge to a wrong solution. The requirement of an initial solution estimate is especially then problematic when starting the mechanism at an arbitrary pose.In contrast, the second approach consists of adding extra sensors for obtaining additional information about the parallel mechanism’s state [21–28]. These can be, for example, angular sensors that are placed on the base or the manipulator platform joints or linear and/or angular sensors that are placed on supplementary passive legs. Here, the number and location of the sensors must be carefully chosen because, otherwise, this may cause specific problems such as workspace limitations due to the passive leg or joint arrangement. Furthermore, using different sensor types leads to a higher complexity and may even negatively affect the performance due to possible time delays and/or conflicting measurement values.For this reason, in order to provide a unique solution of the direct kinematics problem without using additional numerical procedures or sensors, instead of measuring the lengths of the linear actuators, we propose measuring their orientations and, if necessary, also the orientation of the manipulator platform. The orientations of the linear actuators and the roll-pitch orientation of the manipulator platform can be measured, for example, by acceleration sensors with three axes, and the measurement of the yaw orientation of the manipulator platform can be realized, for example, by using a magnetic sensor [29].The remainder of this paper is organized as follows. In Section2, a classification of six-degrees-of-freedom parallel mechanisms based on the number of base and manipulator platform joints as well as combinatorial classes is introduced. In Section 3, we investigate if a closed-form solution for the direct kinematics problem of the mechanism types presented in Section 2 is possible by only measuring the orientations of the linear actuators. In Section 4, for the mechanism types where a closed-form solution of the direct kinematics problem is not possible by only measuring the linear actuators’ orientations, we also include the information about the roll-pitch orientation of the manipulator platform. In Section 5, we discuss the last remaining case where also the information about the manipulator platform’s yaw orientation is included. In order to complete our systematic investigation, in Section 6, we extend our results to three-degrees-of-freedom planar mechanisms. Section 7 discusses some practical considerations regarding the sensor selection and implementation of the proposed algorithms in a real-time control. Finally, in Section 8, our results are summarized and discussed.Throughout the paper, we use the following notation, referring to Figure1. The body-fixed frame of the base platform is denoted as {1} and the body-fixed frame of the manipulator platform as {2}. The position vector of the kth joint Jk,i of platform {i} is denoted as piJk,i and the connection vector between the joints Jk,1 and Jk,2 of platforms {1} and {2} as pJk,1Jk,2 with k∈{1,…,6}. Using inverse kinematics, this vector can be determined from(1)pJk,1Jk,21=p121+R21·p2Jk,22-p1Jk,11with respect to platform {1}. Here, R21 denotes the rotation matrix from frame {2} into frame {1}, and p12 is the vector connecting the origins of platforms {1} and {2}. The roll, pitch, and yaw angles of the manipulator platform shall be denoted as α, β, and γ, and the direction, or orientation, of pJk,1Jk,2 is referred to as rJk,1Jk,2, which has unit length.Figure 1
Nomenclature for the description of parallel mechanisms.


## 2. Classification of Six-Degrees-of-Freedom Parallel Mechanisms

Typically, parallel mechanisms are classified by the number of joints on the base and the manipulator platform. This type of classification, however, is not sufficient for catching all descriptive parameters of a parallel mechanism. For this reason, Faugère and Lazard [9] introduced the notion of a combinatorial class, which is represented by a graph where the edges are the linear actuators and the vertices are the joints (see Figure 2). Here, we use both approaches together to classify parallel mechanisms.Figure 2
Examples of combinatorial classes ofn-m mechanisms.


### 2.1.n-3 Mechanisms

This group of mechanisms containsn base platform joints, with n∈{3,…,6}, and three manipulator platform joints. Each manipulator platform joint is connected to one, two, or three linear actuators. We can classify this group into two types. In the first type, which shall be referred to as n-3-I mechanisms, all three manipulator platform joints are connected to exactly two linear actuators. According to [9], this type of mechanisms corresponds to seven combinatorial classes:(2)In the second type, which shall be referred to asn-3-II mechanisms, the first manipulator platform joint is connected to three linear actuators, the second manipulator platform joint to two linear actuators, and the third manipulator platform joint to one linear actuator. This type of mechanisms corresponds to ten combinatorial classes [9]:(3)


### 2.2.n-4 Mechanisms

Similar ton-3 mechanisms, this group of mechanisms can be also classified into two types. The first type, which shall be referred to as n-4-I mechanisms, is characterized by two manipulator platform joints with each of them connected to two linear actuators and two further manipulator platform joints with each of them connected to one linear actuator. According to [9], this type of mechanisms corresponds to sixteen combinatorial classes:(4)The second type, which shall be referred to asn-4-II mechanisms, is characterized by one manipulator platform joint connected to three linear actuators and three further manipulator platform joints with each of them connected to one linear actuator. This type of n-4 mechanisms corresponds to nine combinatorial classes [9]:(5)


### 2.3.n-5 Mechanisms

This group of mechanisms is described by twelve combinatorial classes [9]:(6)


### 2.4.n-6 Mechanisms

This group of mechanisms is associated with six combinatorial classes [9]:(7)


## 2.1.n-3 Mechanisms

This group of mechanisms containsn base platform joints, with n∈{3,…,6}, and three manipulator platform joints. Each manipulator platform joint is connected to one, two, or three linear actuators. We can classify this group into two types. In the first type, which shall be referred to as n-3-I mechanisms, all three manipulator platform joints are connected to exactly two linear actuators. According to [9], this type of mechanisms corresponds to seven combinatorial classes:(2)In the second type, which shall be referred to asn-3-II mechanisms, the first manipulator platform joint is connected to three linear actuators, the second manipulator platform joint to two linear actuators, and the third manipulator platform joint to one linear actuator. This type of mechanisms corresponds to ten combinatorial classes [9]:(3)


## 2.2.n-4 Mechanisms

Similar ton-3 mechanisms, this group of mechanisms can be also classified into two types. The first type, which shall be referred to as n-4-I mechanisms, is characterized by two manipulator platform joints with each of them connected to two linear actuators and two further manipulator platform joints with each of them connected to one linear actuator. According to [9], this type of mechanisms corresponds to sixteen combinatorial classes:(4)The second type, which shall be referred to asn-4-II mechanisms, is characterized by one manipulator platform joint connected to three linear actuators and three further manipulator platform joints with each of them connected to one linear actuator. This type of n-4 mechanisms corresponds to nine combinatorial classes [9]:(5)


## 2.3.n-5 Mechanisms

This group of mechanisms is described by twelve combinatorial classes [9]:(6)


## 2.4.n-6 Mechanisms

This group of mechanisms is associated with six combinatorial classes [9]:(7)


## 3. Closed-Form Solution by Only Measuring the Linear Actuators’ Orientations

In this section, we will investigate if a closed-form solution for the direct kinematics problem of the mechanisms introduced in the previous section is possible by only measuring the orientations of the linear actuators.


### 3.1.n-3 Mechanisms

#### 3.1.1. Type I

Consider ann-3-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 to the manipulator platform joint J2,2, and the linear actuators k=5 and k=6 to the manipulator platform joint J3,2. The positions of these joints, p1J1,21, p1J2,21, and p1J3,21, are defined by the intersection points between the straight lines gk through the linear actuators k=1,…,6 with(8)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λk∈R, where pk1 denote the coordinates of gk and rJk,1Jk,21 the measured orientations of the linear actuators. In particular, the intersection point between g1 and g2 defines p1J1,21, the intersection point between g3 and g4 defines p1J2,21, and the intersection point between g5 and g6 defines p1J3,21. These three joint positions, on the other hand, define a plane with the normal vector(9)n1=pJ1,2J2,21×pJ1,2J3,21,for example, where(10)pJ1,2J2,21=p1J2,21-p1J1,21,pJ1,2J3,21=p1J3,21-p1J1,21. The orientation angles α, β, and γ of the manipulator platform can be then determined from(11)α=cos-1ez11·ny1z11ny1z11,β=cos-1ez11·nx1z11nx1z11,γ=cos-1ex11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11=cos-1ey11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11, where ex11, ey11, and ez11 are the unit vectors of the base platform in x1, y1, and z1 direction, ny1z11 is the projection of n1 on the y1-z1 plane, nx1z11 is the projection of n1 on the x1-z1 plane, and pJ1,2J2,2x1y11 is the projection of pJ1,2J2,21 on the x1-y1 plane with(12)ny1z11=n1·ey11·ey11+n1·ez11·ez11,nx1z11=n1·ex11·ex11+n1·ez11·ez11,pJ1,2J2,2x1y11=pJ1,2J2,21·ex11·ex11+pJ1,2J2,21·ey11·ey11.The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(13)p121=p1J1,21-R21·p2J1,22, where(14)R21=R2,α1·R2,β1·R2,γ1with(15)R2,α1=1000cos⁡αsin⁡α0-sin⁡αcos⁡α,R2,β1=cos⁡β0-sin⁡β010sin⁡β0cos⁡β,R2,γ1=cos⁡γsin⁡γ0-sin⁡γcos⁡γ0001. We can see that, by only measuring the orientations of the linear actuators, a unique solution for the direct kinematics problem of n-3-I mechanisms can be found.


#### 3.1.2. Type II

Now, consider ann-3-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuators k=4 and k=5 are connected to the manipulator platform joint J2,2, and the linear actuator k=6 is connected to the manipulator platform joint J3,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. The position p1J2,21 of the joint J2,2, on the other hand, is defined by the intersection point between the straight lines g4 and g5 through the linear actuators k=4 and k=5. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g6 through the linear actuator k=6 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-3-II mechanisms by only measuring the linear actuators’ orientations.


### 3.2.n-4 Mechanisms

#### 3.2.1. Type I

Consider ann-4-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 are connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2, and the position p1J2,21 of the manipulator platform joint J2,2 is defined by the intersection point between the straight lines g3 and g4 through the linear actuators k=3 and k=4. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, it is not possible to find a unique solution for the direct kinematics problem of n-4-I mechanisms by only measuring the orientations of the linear actuators.


#### 3.2.2. Type II

Now, consider ann-4-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuator k=4 is connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-4-II mechanisms by only measuring the linear actuators’ orientations.


### 3.3.n-5 Mechanisms

Consider ann-5 mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuator k=3 is connected to the manipulator platform joint J2,2, the linear actuator k=4 is connected to the manipulator platform joint J3,2, the linear actuator k=5 is connected to the manipulator platform joint J4,2, and the linear actuator k=6 is connected to the manipulator platform joint J5,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-5 mechanisms by only measuring the orientations of the linear actuators.


### 3.4.n-6 Mechanisms

Consider ann-6 mechanism where the linear actuators k∈{1,…,6} are connected to the manipulator platform joints Jk,2. We can now choose three arbitrary linear actuators l, p, and q with l,p,q∈{1,…,6} and l≠p≠q and define three straight lines through these linear actuators:(16)gl:pl1=p1Jl,11+λl·rJl,1Jl,21,λl∈R,gp:pp1=p1Jp,11+λp·rJp,1Jp,21,λp∈R,gq:pq1=p1Jq,11+λq·rJq,1Jq,21,λq∈R.Here, pl1, pp1, and pq1 denote the coordinates of gl, gp, and gq, and rJl,1Jl,21, rJp,1Jp,21, and rJq,1Jq,21 denote the measured orientations of the linear actuators k=l, k=p, and k=q. Next, we can define two spheres, the first sphere with the center pl1 and the radius pJl,2Jp,22 and the second sphere with the same center but with the radius pJl,2Jq,22. In this context, the first sphere has to intersect gp and the second sphere gq, so that we can write the following two equations:(17)pp1-pl12=pJl,2Jp,222,(18)pq1-pl12=pJl,2Jq,222.Since we know the angle between pJl,2Jp,22 and pJl,2Jq,22, we can also write(19)pp1-pl1·pq1-pl1=pJl,2Jp,22·pJl,2Jq,22.We now have a system of three nonlinear equations, (17), (18), and (19), in three variables (λl, λp, and λq), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-6 mechanisms by only measuring the linear actuators’ orientations.


## 3.1.n-3 Mechanisms

### 3.1.1. Type I

Consider ann-3-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 to the manipulator platform joint J2,2, and the linear actuators k=5 and k=6 to the manipulator platform joint J3,2. The positions of these joints, p1J1,21, p1J2,21, and p1J3,21, are defined by the intersection points between the straight lines gk through the linear actuators k=1,…,6 with(8)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λk∈R, where pk1 denote the coordinates of gk and rJk,1Jk,21 the measured orientations of the linear actuators. In particular, the intersection point between g1 and g2 defines p1J1,21, the intersection point between g3 and g4 defines p1J2,21, and the intersection point between g5 and g6 defines p1J3,21. These three joint positions, on the other hand, define a plane with the normal vector(9)n1=pJ1,2J2,21×pJ1,2J3,21,for example, where(10)pJ1,2J2,21=p1J2,21-p1J1,21,pJ1,2J3,21=p1J3,21-p1J1,21. The orientation angles α, β, and γ of the manipulator platform can be then determined from(11)α=cos-1ez11·ny1z11ny1z11,β=cos-1ez11·nx1z11nx1z11,γ=cos-1ex11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11=cos-1ey11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11, where ex11, ey11, and ez11 are the unit vectors of the base platform in x1, y1, and z1 direction, ny1z11 is the projection of n1 on the y1-z1 plane, nx1z11 is the projection of n1 on the x1-z1 plane, and pJ1,2J2,2x1y11 is the projection of pJ1,2J2,21 on the x1-y1 plane with(12)ny1z11=n1·ey11·ey11+n1·ez11·ez11,nx1z11=n1·ex11·ex11+n1·ez11·ez11,pJ1,2J2,2x1y11=pJ1,2J2,21·ex11·ex11+pJ1,2J2,21·ey11·ey11.The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(13)p121=p1J1,21-R21·p2J1,22, where(14)R21=R2,α1·R2,β1·R2,γ1with(15)R2,α1=1000cos⁡αsin⁡α0-sin⁡αcos⁡α,R2,β1=cos⁡β0-sin⁡β010sin⁡β0cos⁡β,R2,γ1=cos⁡γsin⁡γ0-sin⁡γcos⁡γ0001. We can see that, by only measuring the orientations of the linear actuators, a unique solution for the direct kinematics problem of n-3-I mechanisms can be found.


### 3.1.2. Type II

Now, consider ann-3-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuators k=4 and k=5 are connected to the manipulator platform joint J2,2, and the linear actuator k=6 is connected to the manipulator platform joint J3,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. The position p1J2,21 of the joint J2,2, on the other hand, is defined by the intersection point between the straight lines g4 and g5 through the linear actuators k=4 and k=5. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g6 through the linear actuator k=6 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-3-II mechanisms by only measuring the linear actuators’ orientations.


## 3.1.1. Type I

Consider ann-3-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 to the manipulator platform joint J2,2, and the linear actuators k=5 and k=6 to the manipulator platform joint J3,2. The positions of these joints, p1J1,21, p1J2,21, and p1J3,21, are defined by the intersection points between the straight lines gk through the linear actuators k=1,…,6 with(8)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λk∈R, where pk1 denote the coordinates of gk and rJk,1Jk,21 the measured orientations of the linear actuators. In particular, the intersection point between g1 and g2 defines p1J1,21, the intersection point between g3 and g4 defines p1J2,21, and the intersection point between g5 and g6 defines p1J3,21. These three joint positions, on the other hand, define a plane with the normal vector(9)n1=pJ1,2J2,21×pJ1,2J3,21,for example, where(10)pJ1,2J2,21=p1J2,21-p1J1,21,pJ1,2J3,21=p1J3,21-p1J1,21. The orientation angles α, β, and γ of the manipulator platform can be then determined from(11)α=cos-1ez11·ny1z11ny1z11,β=cos-1ez11·nx1z11nx1z11,γ=cos-1ex11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11=cos-1ey11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11, where ex11, ey11, and ez11 are the unit vectors of the base platform in x1, y1, and z1 direction, ny1z11 is the projection of n1 on the y1-z1 plane, nx1z11 is the projection of n1 on the x1-z1 plane, and pJ1,2J2,2x1y11 is the projection of pJ1,2J2,21 on the x1-y1 plane with(12)ny1z11=n1·ey11·ey11+n1·ez11·ez11,nx1z11=n1·ex11·ex11+n1·ez11·ez11,pJ1,2J2,2x1y11=pJ1,2J2,21·ex11·ex11+pJ1,2J2,21·ey11·ey11.The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(13)p121=p1J1,21-R21·p2J1,22, where(14)R21=R2,α1·R2,β1·R2,γ1with(15)R2,α1=1000cos⁡αsin⁡α0-sin⁡αcos⁡α,R2,β1=cos⁡β0-sin⁡β010sin⁡β0cos⁡β,R2,γ1=cos⁡γsin⁡γ0-sin⁡γcos⁡γ0001. We can see that, by only measuring the orientations of the linear actuators, a unique solution for the direct kinematics problem of n-3-I mechanisms can be found.


## 3.1.2. Type II

Now, consider ann-3-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuators k=4 and k=5 are connected to the manipulator platform joint J2,2, and the linear actuator k=6 is connected to the manipulator platform joint J3,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. The position p1J2,21 of the joint J2,2, on the other hand, is defined by the intersection point between the straight lines g4 and g5 through the linear actuators k=4 and k=5. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g6 through the linear actuator k=6 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-3-II mechanisms by only measuring the linear actuators’ orientations.


## 3.2.n-4 Mechanisms

### 3.2.1. Type I

Consider ann-4-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 are connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2, and the position p1J2,21 of the manipulator platform joint J2,2 is defined by the intersection point between the straight lines g3 and g4 through the linear actuators k=3 and k=4. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, it is not possible to find a unique solution for the direct kinematics problem of n-4-I mechanisms by only measuring the orientations of the linear actuators.


### 3.2.2. Type II

Now, consider ann-4-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuator k=4 is connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-4-II mechanisms by only measuring the linear actuators’ orientations.


## 3.2.1. Type I

Consider ann-4-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 are connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2, and the position p1J2,21 of the manipulator platform joint J2,2 is defined by the intersection point between the straight lines g3 and g4 through the linear actuators k=3 and k=4. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, it is not possible to find a unique solution for the direct kinematics problem of n-4-I mechanisms by only measuring the orientations of the linear actuators.


## 3.2.2. Type II

Now, consider ann-4-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuator k=4 is connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-4-II mechanisms by only measuring the linear actuators’ orientations.


## 3.3.n-5 Mechanisms

Consider ann-5 mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuator k=3 is connected to the manipulator platform joint J2,2, the linear actuator k=4 is connected to the manipulator platform joint J3,2, the linear actuator k=5 is connected to the manipulator platform joint J4,2, and the linear actuator k=6 is connected to the manipulator platform joint J5,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-5 mechanisms by only measuring the orientations of the linear actuators.


## 3.4.n-6 Mechanisms

Consider ann-6 mechanism where the linear actuators k∈{1,…,6} are connected to the manipulator platform joints Jk,2. We can now choose three arbitrary linear actuators l, p, and q with l,p,q∈{1,…,6} and l≠p≠q and define three straight lines through these linear actuators:(16)gl:pl1=p1Jl,11+λl·rJl,1Jl,21,λl∈R,gp:pp1=p1Jp,11+λp·rJp,1Jp,21,λp∈R,gq:pq1=p1Jq,11+λq·rJq,1Jq,21,λq∈R.Here, pl1, pp1, and pq1 denote the coordinates of gl, gp, and gq, and rJl,1Jl,21, rJp,1Jp,21, and rJq,1Jq,21 denote the measured orientations of the linear actuators k=l, k=p, and k=q. Next, we can define two spheres, the first sphere with the center pl1 and the radius pJl,2Jp,22 and the second sphere with the same center but with the radius pJl,2Jq,22. In this context, the first sphere has to intersect gp and the second sphere gq, so that we can write the following two equations:(17)pp1-pl12=pJl,2Jp,222,(18)pq1-pl12=pJl,2Jq,222.Since we know the angle between pJl,2Jp,22 and pJl,2Jq,22, we can also write(19)pp1-pl1·pq1-pl1=pJl,2Jp,22·pJl,2Jq,22.We now have a system of three nonlinear equations, (17), (18), and (19), in three variables (λl, λp, and λq), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-6 mechanisms by only measuring the linear actuators’ orientations.


## 4. Closed-Form Solution by Measuring the Linear Actuators’ Orientations and the Roll-Pitch Orientation of the Manipulator Platform

In Section3, we have shown that, by only measuring the orientations of the linear actuators, it is only possible to find a unique solution for n-3-I mechanisms. In this section, we will investigate if a closed-form solution for the direct kinematics problem is possible by also including the information about the roll-pitch orientation of the manipulator platform.Consider ann-m mechanism with n∈{3,…,6} and m∈{3,4,5}. Each of these mechanisms contains at least two linear actuators that are connected to one manipulator platform joint Jl,2. We assume that the measured roll-pitch orientation of the manipulator platform is given by the unit normal vector n¯1. The position p1Jl,21 of the manipulator platform joint Jl,2 and the unit normal vector n¯1 define a plane, and the desired positions p1Jp,21 and p1Jq,21 of two other linear actuators k=p and k=q, where p≠q, are defined by the intersection points between these two linear actuators and the plane. So, by measuring the orientations of four linear actuators as well as the roll-pitch orientation of the manipulator platform, it is possible to obtain a closed-form solution for the direct kinematics problem of n-m mechanisms with m≠6. For m=6, however, our solution strategy fails since n-6 mechanisms do not have a common connection of at least two linear actuators at the manipulator platform. In this case, the information about the manipulator platform’s orientation leads to the following plane equation:(20)pp1-pl1·n¯1=0. We now have a system of two nonlinear equations, (17) and (20), in two variables (λl and λp), which, in general, is uniquely not solvable. So, by including the information about the roll-pitch orientation of the manipulator platform, it is not possible to find a unique solution for the direct kinematics problem of n-6 mechanisms.


## 5. Closed-Form Solution by Measuring the Linear Actuators’ Orientations and the Roll-Pitch-Yaw Orientation of the Manipulator Platform

We have seen in Section4 that the information about the orientations of the linear actuators and the roll-pitch orientation of the manipulator platform is not enough to obtain a closed-form solution for the direct kinematics problem of n-6 mechanisms. However, we have shown in [29] that, by also including the information about the yaw orientation of the manipulator platform, the direct kinematics problem of n-6 mechanisms can be uniquely solved. In the following, we will review our solution concept from [29] in the context of a general n-m mechanism with n,m∈{3,…,6}.Consider the orientationsrJp,1Jp,21 and rJq,1Jq,21 of two arbitrarily chosen linear actuators k=p and k=q, where p≠q. These orientations define two pairs of straight lines, gp,1 and gp,2 as well as gq,1 and gq,2, with the base vectors p1Jp,11 and p2Jp,21 as well as p1Jq,11 and p2Jq,21 (see Figure 3). We can now define two distance vectors between these two pairs of straight lines:(21)dp=rJp,1Jp,21×p121+R21·p2Jp,22-p1Jp,11,dq=rJq,1Jq,21×p121+R21·p2Jq,22-p1Jq,11,where the measured roll, pitch, and yaw orientation of the manipulator platform is summarized in the rotation matrix R21. Using the identity(22)a×b≡a~·b where(23)a~=0-azayaz0-ax-ayax0, we can rewrite (21) as(24)dp=r~Jp,1Jp,21·p121+R21·p2Jp,22-p1Jp,11=r~Jp,1Jp,21︸≕Ap·p121︸≕x+r~Jp,1Jp,21·R21·p2Jp,22-p1Jp,11︸≕-cp,dq=r~Jq,1Jq,21·p121+R21·p2Jq,22-p1Jq,11=r~Jq,1Jq,21︸≕Aq·p121︸≕x+r~Jq,1Jq,21·R21·p2Jq,22-p1Jq,11︸≕-cq.Now, in order to find the unknown position p121≕x, we have to solve the linear least-squares problem(25)Ax-c2=min⁡!,where(26)A=ApAq∈R6×3,c=cpcq∈R6.This linear least-squares problem can be reduced to the set of linear equations(27)A⊤A︸≕A¯x=A⊤c︸≕c¯with the unique solution(28)x=A¯-1c¯=A⊤A-1A⊤c.The measurement of the orientations of the other four linear actuators is not necessary here since the positions of the corresponding manipulator platform joints are defined by the manipulator platform’s geometry. Note that a robust way of computing x in this case is by using, for example, the QR decomposition [30].Figure 3
Schematic diagram for the algorithm from Section5.


## 6. Extension to Planar Mechanisms

In this section, we extend our previous findings for spatial mechanisms to three-degrees-of-freedom planar mechanisms. Note that, here, only the roll orientation of the manipulator platform is measured due to the planarity constraint.


### 6.1.n-2 Mechanisms

This group of mechanisms containsn base platform joints, with n∈{2,3}, and two manipulator platform joints. It can be described by two combinatorial classes:(29)Now, assume that the linear actuatorsk=1 and k=2 are connected to the manipulator platform joint J1,2, and the linear actuator k=3 is connected to the manipulator platform joint J2,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define a circle with the center p1J1,21 and the radius pJ1,2J2,22. The intersection points between the circle and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-2 mechanisms.In the next step, we assume that the roll orientation of the manipulator platform is measured in terms of the unit normal vectorn¯1. Then, the angle γ between the manipulator and the base platform can be determined as follows:(30)γ=cos-1ey11·n¯1, where ey11 denotes the unit vector of the base platform in y1 direction. The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(31)p121=p1J1,21-R21·p2J1,22, where(32)R21=cos⁡γsin⁡γ-sin⁡γcos⁡γ.The measurement of the orientation of the third linear actuator is not necessary here, since the position of the corresponding manipulator platform joint is defined by the manipulator platform’s geometry.


### 6.2.n-3 Mechanisms

In contrast ton-2 mechanisms, this group of mechanisms contains three manipulator platform joints. It can be also described by two combinatorial classes:(33)The measured orientationsrJk,1Jk,21 define the straight lines gk through the linear actuators k=1,…,3 with(34)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λk∈R, where pk1 denote the coordinates of gk. We can now define two circles, for example, the first circle with the center p11 and the radius pJ1,2J2,22 and the second circle with the same center but with the radius pJ1,2J3,22. In this context, the first circle has to intersect g2 and the second circle g3, so that we can write the following two equations:(35)p21-p112=pJ1,2J2,222,p31-p112=pJ1,2J3,222.Since pJ1,2J2,22 and pJ1,2J3,22 are linearly dependent, we can also write(36)p21-p11·p31-p11=1.We now have a system of three nonlinear equations, (35) and (36), in three variables (λ1, λ2, and λ3), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-3 mechanisms by only measuring the orientations of the linear actuators. However, by also including the roll orientation in terms of the rotation matrix (32), we can always apply our general algorithm from Section 5, which always provides a closed-form solution of the direct kinematics problem. Note that, in this case, only the measurement of the orientations of two linear actuators is necessary, since the position of the third manipulator platform joint is defined by the manipulator platform’s geometry.


## 6.1.n-2 Mechanisms

This group of mechanisms containsn base platform joints, with n∈{2,3}, and two manipulator platform joints. It can be described by two combinatorial classes:(29)Now, assume that the linear actuatorsk=1 and k=2 are connected to the manipulator platform joint J1,2, and the linear actuator k=3 is connected to the manipulator platform joint J2,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define a circle with the center p1J1,21 and the radius pJ1,2J2,22. The intersection points between the circle and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-2 mechanisms.In the next step, we assume that the roll orientation of the manipulator platform is measured in terms of the unit normal vectorn¯1. Then, the angle γ between the manipulator and the base platform can be determined as follows:(30)γ=cos-1ey11·n¯1, where ey11 denotes the unit vector of the base platform in y1 direction. The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(31)p121=p1J1,21-R21·p2J1,22, where(32)R21=cos⁡γsin⁡γ-sin⁡γcos⁡γ.The measurement of the orientation of the third linear actuator is not necessary here, since the position of the corresponding manipulator platform joint is defined by the manipulator platform’s geometry.


## 6.2.n-3 Mechanisms

In contrast ton-2 mechanisms, this group of mechanisms contains three manipulator platform joints. It can be also described by two combinatorial classes:(33)The measured orientationsrJk,1Jk,21 define the straight lines gk through the linear actuators k=1,…,3 with(34)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λk∈R, where pk1 denote the coordinates of gk. We can now define two circles, for example, the first circle with the center p11 and the radius pJ1,2J2,22 and the second circle with the same center but with the radius pJ1,2J3,22. In this context, the first circle has to intersect g2 and the second circle g3, so that we can write the following two equations:(35)p21-p112=pJ1,2J2,222,p31-p112=pJ1,2J3,222.Since pJ1,2J2,22 and pJ1,2J3,22 are linearly dependent, we can also write(36)p21-p11·p31-p11=1.We now have a system of three nonlinear equations, (35) and (36), in three variables (λ1, λ2, and λ3), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-3 mechanisms by only measuring the orientations of the linear actuators. However, by also including the roll orientation in terms of the rotation matrix (32), we can always apply our general algorithm from Section 5, which always provides a closed-form solution of the direct kinematics problem. Note that, in this case, only the measurement of the orientations of two linear actuators is necessary, since the position of the third manipulator platform joint is defined by the manipulator platform’s geometry.


## 7. Practical Considerations

Currently, there are many possible sensors available on the market, spreading from very expensive, precalibrated high-precision sensors to uncalibrated low-cost sensors. In [29], we used the InvenSense MPU-9150 inertial measurement units (IMUs) consisting of an acceleration sensor with three axes, a gyroscope, and a magnetic sensor for determining the closed-form solution for the direct kinematics problem of a general n-m mechanism. We obtained the correct solution for selected static poses, but the results showed relatively high mean errors and standard deviations, especially for the yaw orientation of the manipulator platform. This was primarily caused by the noisy and uncalibrated IMUs. The calibration problem, however, can be solved without any additional external equipment by using the approach from [31]. For example, the acceleration sensor has to be calibrated/corrected in terms of sensor bias, scaling error, and nonorthogonality. In this context, the calibrated measurement data acal can be obtained by the following transformation:(37)acal=TSau+b, where au is the uncalibrated acceleration vector and b a constant bias term. The matrix S is a diagonal matrix comprising of scaling factors in each axis, and T is an upper triangular matrix to correct nonorthogonality.Another problem related to calibration is sensor placement. In [29], we mounted the IMUs on the gearboxes of the linear actuators and on top of the manipulator platform. In this context, the alignment of the IMUs regarding the base platform’s coordinate system has to be determined very carefully. One possibility is to use very precise measurement equipment, for example, by using optical or angular sensors to obtain the location of the IMUs on the linear actuators. An alternative way is to determine the sensor alignment by comparing the target orientations with the measured orientations for several predefined poses.In order to achieve a closed-form solution of the direct kinematics problem in hard real-time, the introduced algorithms where the linear actuators’ orientations and, if necessary, the roll-pitch orientation of the manipulator platform are measured are preferable due to the precision of the acceleration sensors. However, the algorithm where also the yaw orientation of the manipulator platform is needed requires the usage of a magnetic sensor, which, in general, is very imprecise. Several information filters, such as Kalman filter or complementary filters, were proposed to obtain the optimal measurement data fusion (see, e.g., [32, 33]). These filters can perform very quickly (between 1.3 and 7 μs [32]), but they do not calculate the correct yaw orientation with the first measurement value. Instead, the calculated yaw orientation only converges towards the correct value within several measurements.As already mentioned above, we tested our approach for the generaln-m mechanism on several static poses [29]. In the static case, the acceleration sensors measure the constant gravity vector of the earth without any disturbances. Under dynamic conditions, however, in addition to the earth’s gravity field, the acceleration sensors also measure the acceleration of the mechanism itself. Since we can also measure the angular velocities by the available gyroscopes, we are able to compensate these erroneous measurements. In particular, by implementing an information filter for fusing the measurement data of the acceleration sensors, the gyroscopes, and the magnetic sensors of the IMUs, the orientations of the linear actuators can be robustly obtained (see, e.g., [34]).Figure4 shows the concept for the pose control of parallel mechanisms associated with the introduced algorithms for solving the direct kinematics problem. Here, a target pose ptarget is defined and compared with the actual pose pis leading to the pose deviation Δp. By using inverse kinematics, we can convert Δp into the required length deviation Δl of the linear actuators and give it to the controller, for example, a PID controller, as input. The controller then generates the control input u for the system that, in turn, produces the system output y. The measurement vector m that includes the raw data of the acceleration sensors, the gyroscopes, and the magnetic sensors is sent to the sensor fusion filter, for example, a Kalman filter. Here, the orientations of the linear actuators and, if necessary, also the orientation of the manipulator platform are calculated. The filter output z is then used to calculate the actual pose of the manipulator platform pis by using the algorithms introduced in Sections 3–6.Figure 4
Pose control concept for parallel mechanisms using the algorithms from Sections 3–6.In conclusion, the pose of ann-m parallel mechanism can be determined by only measuring the linear actuators’ orientations and, if necessary, the orientation of the manipulator platform. The accuracy mainly depends on three things: (1) the precision of the used sensors, (2) their calibration and accurate alignment on the linear actuators and the manipulator platform, and (3) whether we have to measure the yaw orientation or not. For a dynamic pose determination, we have to estimate the linear actuators’ orientations by a suitable sensor fusion.


## 8. Conclusions

We showed that, forn-3-I mechanisms, it is possible to find a unique solution for the direct kinematics problem by only measuring the orientations of the linear actuators. By also including the information about the roll-pitch orientation of the manipulator platform, it is also possible to uniquely solve the direct kinematics problem for n-3-II, n-4, and n-5 mechanisms. Finally, we demonstrated that the most general case of n-6 mechanisms also requires the information about the yaw orientation of the manipulator platform.We then extended our approach to planar mechanisms and showed that the direct kinematics problem can be uniquely solved by measuring the linear actuators’ orientations and the roll orientation of the manipulator platform.The results suggest that, in most cases, it is not even necessary to measure the orientations of all six linear actuators. In particular, forn-3-II, n-4, and n-5 mechanisms, additionally to the roll-pitch orientation of the manipulator platform, only the orientations of four linear actuators are needed. By also measuring the yaw orientation of the manipulator platform, the number of required linear actuators’ orientations can be even reduced to two.The case where only the linear actuators’ orientations are measured is advantageous because, then, the sensors can be placed close to the base platform, thus reducing the wiring effort. Furthermore, only measuring the roll-pitch orientation of the manipulator platform provides better results compared to an additional measurement of the yaw orientation [29]. This is especially advantageous, for example, for milling machines, where the yaw degree-of-freedom is not used.Our results enable the design of a low-cost sensor system for parallel mechanisms that provides a unique solution of their direct kinematics problem. This concept is particularly important if no information about the previous states of the parallel mechanism is available, for example, if it is switched on in a certain pose. Furthermore, acceleration or magnetic sensors are significantly smaller than the usual sensors for measuring the linear actuators’ lengths, thus allowing for a reduction of moving equipment as well as extending the workspace.The real-time performance of the proposed sensor concept and the associated closed-form solutions for the direct kinematics problem of parallel mechanisms can be improved by sensor fusion including the information of additional linear actuators’ orientations or sensors.



---

*Source: 2412608-2018-03-12.xml*