**The E**ff**ect of the Optimization Selection of Position Analysis Route on the Forward Position Solutions of Parallel Mechanisms**

### **Huiping Shen \*, Qing Xu, Ju Li and Ting-li Yang**

School of Mechanical Engineering, Changzhou University, Changzhou 213164, China; xq950220@163.com (Q.X.); wangju0209@163.com (J.L.); yangtl@126.com (T.-l.Y.)

**\*** Correspondence: shp65@126.com

Received: 13 October 2020; Accepted: 11 November 2020; Published: 13 November 2020

**Abstract:** The forward position solution (FPS) of any complex parallel mechanism (PM) can be solved through solving in sequence all of the independent loops contained in the PM. Therefore, when solving the positions of a PM, all independent loops, especially the first loop, must be correctly selected. The optimization selection criterion of the position analysis route (PAR) proposed for the FPS is presented in this paper, which can not only make kinematics modeling and solving efficient but also make it easy to get its symbolic position solutions. Two three-translation PMs are used as the examples to illustrate the optimization selection of their PARs and obtain their symbolic position solutions.

**Keywords:** parallel mechanism; forward kinematics; coupling degree

### **1. Introduction**

The forward position solution (FPS) of a PM is one of the most important and basic problems in the parallel mechanisms (PMs) research community.

At present, most researchers use the loop vector method [1–3] to establish the input–output position equations of parallel mechanism (PM) and then use numerical or algebraic methods to find its solutions. The numerical method is used directly to solve the position equations, whose advantage is that the real number solutions can be obtained, and the disadvantage is that the iteration is easy to diverge and large calculations are needed. The algebraic methods [4–7], by eliminating the unknowns in the position equations, finally express it as a one-variable higher-order equation, from which all possible solutions can be found. However, algebraic methods need advanced mathematical elimination methods.

It is noticed that the establishment of the above-mentioned position equations of a PM based on the loop vector method does not consider the effect of topological characteristics [8,9] of the PM on its kinematics. For the loop vector method, on the one hand, the loop that some researchers use is a mostly "nature loop" but not actual independent loop. On the other hand, all loops are treated as having equal "ranking status". Therefore, there exist more variables contained in the position equations. Especially when the algebraic method is used, the mathematical elimination processes take more time and are complicated.

For PMs with the same topology of branch chains, there is no need for selecting the optimal position analysis route (PAR). However for PMs with branch chains of different topology, the correct selection of the PAR is necessary, which will affect the efficiency of the FPS and even the solution forms of the forward position (i.e., numerical, closed-form, symbolic). If the PAR is not selected properly, the process of FPS of PMs may be more complicated and difficult, and even their symbolic solutions cannot be obtained. On the contrary, the process of the FPS is convenient, and their symbolic position solutions can be obtained as much as possible.

It can be seen from Ref. [9,10] that the FPS of a PM can be performed by handling its sub-kinematic chains included in the PM in an orderly manner, while an SKC can be solved in accordance with the order of the contained independent loops. Then, for PMs with branch chains of different topologies, the problem of how to sequentially select the first, the *2nd,* ... *, v*-th independent loops, especially the first loop, will become the key to solving FPS. This problem will directly affect whether the kinematics modeling and FPS can be carried out smoothly.

Through previous work [10,11], the authors find that (1) based on the "principle of least constraint degree" [8,9], there may be multiple topological structure decomposition schemes, which are not all the best PAR. (2) If the PAR is not selected properly, it may make the FPS complicated or impossible. Otherwise, the FPS is simple and convenient, and the symbolic position solutions can be obtained as much as possible. These observations lead the investigation of the paper.

The remainder of the paper is organized as follows. In Section 2, optimization criteria and procedures of optimization selection of PAR are presented. In Section 3, a group of basic formulas of the topological characteristic index used for topological property analysis [12] is described. Two three-translation (3T) PMs with branch chains of different topologies are used as examples to illustrate the optimization selection of PAR and their effect on the efficiency of the FPS and on the symbolic position solutions in Section 4, respectively. Finally, conclusions are drawn in the last part.

### **2. The Optimization Selection Criteria for the Position Analysis Route (PAR)**

### *2.1. Optimization Criteria for PAR*

In the FPS of the PMs, the principle of the minimum constraint degree [8,9] Δmin and the minimum number of independent displacement equations (NIDE) ξmin should be satisfied at the same time when selecting an optimal PAR. Once choosing the optimal PAR correctly, the FPS can be carried out efficiently, and its symbolic position solutions can be obtained as much as possible.

### *2.2. Procedures of Optimization Selection of PAR*


The above-mentioned criteria and procedures of optimization selection of PAR will be applied to explain the optimization selection of PAR and their effect on the efficiency of the FPS and on the symbolic position solutions of the two three-translation (3T) PMs with branch chains of different topology.

### **3. Basic Formulas for Topological Characteristics Analysis**

### *3.1. Analysis of the POC Set*

The position and orientation characteristic (POC) set equations for the serial mechanism and parallel mechanism are expressed as respectively:

$$M\_{l\bar{i}} = \bigcup\_{i=1}^{m} M\_{l\bar{i}} \tag{1}$$

$$\mathcal{M}\_{\text{Pa}} = \bigcap\_{i=1}^{n} \mathcal{M}\_{\text{bi}} \tag{2}$$

where

*MJi*—POC set generated by the *i*th joint. *Mbi*—POC set generated by the end link of the *i*th chain. *MPa*—POC set generated by the moving platform of PM.

### *3.2. Determining the DOF*

The proposed general and full-cycle degrees of freedom (DOF) formula for PMs is given below:

$$F = \sum\_{i=1}^{m} f\_i - \sum\_{i=1}^{v} \xi\_{\mathcal{L},j} \tag{3}$$

$$\mathcal{L}\_{\mathcal{L}\_j} = \dim \left\{ (\bigvee\_{i=1}^j M\_{\mathbb{B}\_i} \cup M\_{\mathbb{B}\_{(j+1)}}) \right\} \tag{4}$$

where

*i*=1

$$F \text{---DOF of PM.}$$

*fi*—DOF of the *i*th joint.

*v*—number of independent loops, and *v* = *m* − *n* + 1.

*m*, *n*—number of all joints and links of the whole PM, respectively.

ξL*j* —number of independent displacement equations (NIDE) of the *j*th loop.

*j* ∩ *M*b*<sup>i</sup>* —POC set generated by the sub-PM formed by the former *j* branches.

*M*b(*j*+1)—POC set generated by the end link of (*j* + 1)th sub-chains.

### *3.3. Determining the Coupling Degree*

According to the mechanism composition principle based on single-opened-chains (SOC) units, any PM can be decomposed into groups of SKC, and an SKC with *v* independent loops can be decomposed into *v* SOC. The constraint degree, denoted as *j*, of the *j*th SOC is defined by:

$$\Delta\_{\vec{j}} = \sum\_{i=1}^{m\_{\vec{j}}} f\_{\vec{i}} - I\_{\vec{j}} - \xi\_{\mathcal{L}\_{\vec{j}}} = \begin{cases} \Delta\_{\vec{j}}^{-} = -\mathsf{5}, -\mathsf{4}, -\mathsf{2}, -\mathsf{1} \\ \Delta\_{\vec{j}}^{0} = 0 \\ \Delta\_{\vec{j}}^{+} = +\mathsf{1}, +\mathsf{2}, +\mathsf{3}, \cdots \end{cases} \tag{5}$$

where

*mj*—number of joints contained in the *j*th SOCj. *Ij*—the number of actuated joints in the *j*th SOCj.

For an SKC, the following equation must be satisfied:

$$\sum\_{j=1}^{v} \Lambda\_j = 0$$

Then, the coupling degree of an SKC is expressed as:

$$k = \left| \Delta\_j^{-} \right| = \Delta\_j^{+} = \frac{1}{2} \min \{ \sum\_{j=1}^{v} |\Delta\_j| \} \tag{7}$$

Here, min{•} operation means that the decomposition sequence with the smallest *v j*=1 Δ*j* should be selected.

The constraint degree of the *jth* SOC indicates the constraint influences of the chain on the kinematic performance of the mechanism. Its physical meaning will be explained below.

(a) An SOC with a negative constraint degree, denoted as SOC−, will apply Δ− *j* constraint equations to a mechanism, and the number of DOF of the mechanism will be decreased by DOFs of Δ− *j* .

(b) An SOC with a positive constraint degree, denoted as SOC+, will increase the number of DOF of the mechanism by Δ<sup>+</sup> *<sup>j</sup>* . Therefore, its forward kinematics solutions could not be solved immediately. Its assembly can be determined only on the condition that Δ<sup>+</sup> *<sup>j</sup>* virtual variables are assigned. When the

number of the virtual variables is equal to the number of Δ− *j* constraint equations applied in SOC−, i.e.,

*k* = Δ*j* − <sup>=</sup> <sup>Δ</sup>*<sup>j</sup>* <sup>+</sup>, the motion of the mechanism is defined, and its forward kinematics can be obtained. (c) An SOC with zero constraint degree, denoted as SOC0, does not affect the *DOF*. Its forward kinematics solutions can be obtained immediately without assigning virtual variables.

Therefore, the coupling degree *k* describes the complexity level of the topological structure of a PM, and it also represents the complexity level of its kinematic and dynamic analysis. The lower the coupling degree *k,* the easier the treatment of its forward kinematic and dynamic analysis [9,10].

The detailed explanations for these concepts and notations of topological characteristic index used for topological property analysis can be found in Ref. [9,12].

### **4. Case Studies**

### *4.1. Three-Translation PM (3T-CU)*

The three-translation PM proposed by authors [13], denoted as 3T-CU, as shown in Figure 1a, consists of a base platform 0, a moving platform 1, and three different branch chains. Among them, the first branch is R11//R21//C31, which is connected to the base platform 0 through the revolute joint R11 and connected to the moving platform 1 through the cylindrical joint C31. The second branch is R12-U22-U32, which is connected to the base platform 0 through the revolute joint R12 and connected to the moving platform 1 through the moving joint U32. The third branch is a hybrid branch chain, which includes a parallelogram, and its two ends are respectively connected to the base platform 0 and the moving platform 1 through revolute joints R13 and R33. Here, R11, R12, and R13 on the base platform 0 could be the actuated joints.

**Figure 1.** Three-translation parallel mechanisms (PM) (3T-CU). (**a**) Topology structure; (**b**) Kinematic modeling of the 3T PM.

### 4.1.1. Topology Analysis

(i) Analysis of the POC Set

Obviously, the topological architecture of chain I, II, and III of the PM can be denoted as, respectively:

$$\text{SOC}\_1 \text{:} \langle \text{R}\_{11} \rangle \langle \text{R}\_{21} \rangle \langle \text{C}\_{31} \rangle \text{,SOC}\_2 \text{:} \langle \text{R}\_{12} \text{-} \text{U}\_{22} \text{-} \text{U}\_{32} \rangle \text{,SOC}\_3 \text{:} \langle \text{R}\_{13} \rangle \langle \text{R}\_{23} \langle \text{P}\_a^{\text{(4\text{R})}} \rangle \langle \text{R}\_{33} \rangle \text{.} $$

Here, symbol "//" stands for "parallel", while symbol "-" stands for no special geometrical relation, which applies to the whole context of the paper.

The POC sets of the end of the three SOCS are determined according to Equation (1) as follows, respectively.

$$M\_{\rm SOC\_1} = \left[ \begin{array}{c} t^3\\ r^1 \left( \left\| \mathbf{R}\_{11} \right\| \right) \end{array} \right] , M\_{\rm SOC\_2} = \left[ \begin{array}{c} t^3\\ r^2 \end{array} \right] , M\_{\rm SOC\_3} = \left[ \begin{array}{c} t^3\\ r^1 \left( \left\| \mathbf{R}\_{13} \right\| \right) \end{array} \right] .$$

The POC set of the moving platform of this PM is determined from Equation (2) by

$$M\_{\mathbb{P}\_4} = M\_{\text{SOC}\_1} \cap M\_{\text{SOC}\_2} \cap M\_{\text{SOC}\_3} = \left[ \begin{array}{cc} t^3 \\ r^1(\left| \middle| \mathbb{R}\_{11}) \end{array} \right] \cap \left[ \begin{array}{c} t^3 \\ r^2 \end{array} \right] \cap \left[ \begin{array}{c} t^3 \\ r^1(\left| \middle| \mathbb{R}\_{13}) \end{array} \right] = \left[ \begin{array}{c} t^3 \\ r^0 \end{array} \right] .\right]$$

Hence, the moving platform 1 of the PM has a three-translation motion output.

(ii) Determining the DOF

It is easy for this PM to have two selection methods for PAR, as follows,

Case -<sup>1</sup> : If the first loop of the PM (that is, sub-PM) consists of the first and third branch chains, namely R11//R21//C31-R33//(P*<sup>a</sup>* (4R))R23//R13, the number of independent displacement equations (NIDE) is obtained by Equation (4)

$$\mathcal{L}\_{\mathcal{L}\_1} = \dim \left\{ \begin{bmatrix} t^3 \\ \ r^1(\|\mathbf{R}\_{11}\| & 1 \end{bmatrix} \cup \begin{bmatrix} t^3 \\ \ r^1(\|\mathbf{R}\_{13}\| & 1 \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} t^3 \\ \ r^2 \| (\diamond(\mathbf{R}\_{11}, \mathbf{R}\_{13})) & 1 \end{bmatrix} \right\} = 5.1$$

From Equation (3), the degree of freedom (DOF) of the first loop (1st sub-PM) is:

$$F\_{(1-2)} = \sum f - \xi\_{\mathcal{L}\_1} = (4+4) - 5 = 3.1$$

The second loop is composed of the above-mentioned sub-PM and the second branch chain. From Equation (4), the NIDE is calculated by

$$\mathcal{L}\_{\mathcal{L}\_2} = \dim \left\{ \begin{bmatrix} t^3 \\ r^1(\left\| \mathbf{R}\_{11}) \end{bmatrix} \cap \begin{bmatrix} t^3 \\ r^1(\left\| \mathbf{R}\_{13}) \end{bmatrix} \cup \begin{bmatrix} t^3 \\ r^2 \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} t^3 \\ r^2 \end{bmatrix} \right\} = 5.1$$

Case -<sup>2</sup> : If the first loop (sub-PM) of the PM consists of the second and the third branch chains, namely R12-U22-U32-R33//(P*<sup>a</sup>* (4R))R23//R13, the NIDE is obtained by Equation (4):

$$\mathcal{L}\_{\mathcal{L}\_1} = \dim \left\{ \begin{bmatrix} t^3 \\ r^2 \end{bmatrix} \cup \begin{bmatrix} t^3 \\ r^1 (\|\mathbf{R}\_{13}\| & 1 \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} t^3 \\ r^2 \end{bmatrix} \right\} = 5.1$$

From Equation (3), the degree of freedom of the first loop (1st sub-PM) is:

$$F\_{(1-2)} = \sum f - \xi\_{\mathbb{L}\_1} = (5+4) - 5 = 4.1$$

The second loop is composed of the above-mentioned 1st sub-PM and the first branch chain. From Equation (4), the number of independent displacement equation is:

$$\xi\_{\mathbf{L}\_2} = \dim \left\{ \begin{bmatrix} t^3 \\ r^2 \end{bmatrix} \cap \begin{bmatrix} t^3 \\ r^1 (\|\mathbf{R}\_{13}\| & 1) \end{bmatrix} \cup \begin{bmatrix} t^3 \\ r^1 (\|\mathbf{R}\_{11}\| & 1) \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} t^3 \\ r^2 (\|\diamond (\mathbf{R}\_{11} \ , \mathbf{R}\_{13}) \end{bmatrix} \right\} = 5.1$$

Thus, the DOF of the PM is calculated from Equation (3) as:

$$F = \sum\_{i=1}^{m} f\_i - \sum\_{i=1}^{v} \xi\_{\mathcal{L}\_j} = (8+5) - (5+5) = 3.5$$

Therefore, when the revolute joints R11, R12, and R13 on the base platform 0 are selected as the actuated joints, the moving platform 1 can realize 3T motion outputs.

(iii) Determining the coupling degree

Form Equation (5), the constraint degree of the two loops are respectively given by:

$$\text{For Case }: \ \Lambda\_1 = \sum\_{i=1}^{m\_1} f\_i - I\_1 - \zeta\_{\mathcal{L}\_1} = 8 - 2 - 5 = +1, \\ \Lambda\_2 = \sum\_{i=1}^{m\_2} f\_i - I\_2 - \zeta\_{\mathcal{L}\_2} = 5 - 1 - 5 = -1.$$

From Equation (6), the PM contains one SKC. Further, from Equation (7), the coupling degree of the SKC is given by

$$\kappa = \frac{1}{2} \min \{ \sum\_{j=1}^{\upsilon} |\Delta\_j| \} = \frac{1}{2} (|+1| + |-1|) = 1.$$

Therefore, the coupling degree of the PM is κ = 1, which means that one virtual variable needs to be assigned when solving its positions.

$$\text{For Case } \bigotimes \Lambda\_1 = \sum\_{i=1}^{m\_1} f\_i - I\_1 - \zeta\_{\mathcal{L}\_1} = 9 - 2 - 5 = +2, \\ \Lambda\_2 = \sum\_{i=1}^{m\_2} f\_i - I\_2 - \zeta\_{\mathcal{L}\_2} = 4 - 1 - 5 = -2.$$

From Equation (6), the PM contains one SKC. Furthermore, from Equation (7), the coupling degree of the SKC is given by

$$\kappa = \frac{1}{2} \min \{ \sum\_{j=1}^{v} |\Delta\_j| \} = \frac{1}{2} (|+2| + |-2|) = 2$$

This moment, the coupling degree of the PM is κ = 2, which means that two virtual variables need to be assigned when solving its positions, and it undoubtedly makes the FPS much more complicated than the case -<sup>1</sup> with only one virtual variable.

(iv) Optimization selection for PAR

So far, it can be found that according to the cases -<sup>1</sup> and -2 , the NIDE of the two cases obtained are the same, i.e., ξ*L1* = ξ*L2* = 5, but their constraint degree Δ (or coupling degree κ) is different, i.e., κ of the case -<sup>1</sup> is one, while κ of the case -<sup>2</sup> is two. Therefore, according to the optimization criteria for the PAR, the case -<sup>1</sup> that has the smallest constraint degree value (Δmin = 1) and the minimum NIDE (ξmin = 5) should be used to solve the FPS. The details are described below.

### 4.1.2. Position Analysis

(i) The coordinate system and parameterization

The kinematic modelling of the PM is shown in Figure 1b. The base platform 0 is an equilateral triangle with a circle radius *R*, and select the geometric center O as the origin of the base coordinate system. The *x*- and *y*-axis are perpendicular and parallel to the line *OA*2. Let moving platform 1 be an equilateral triangle with a circle radius *r*, and select the O' point on the moving platform as the origin of the moving coordinate system. The *x'*- and *y'*-axis are perpendicular and parallel to the line O'C2. The *z* and *z*' axis are determined by the Cartesian coordinate rule.

Let the angle θ*<sup>i</sup>* between vectors *AiBi* and *AiO* be the input angle, and the length of the line *AiBi* and *BiCi* (*i* = 1–3) is equal to *l*<sup>1</sup> and *l*2, respectively.

(ii) Direct kinematics

To perform the FPS, i.e., it is to compute the position O'(*x*, *y*, *z*) of the moving platform with the known actuated joints θ1, θ2, and θ3.

The coordinates of points *Ai* and *Bi* (*i* = 1–3) are easily known as:

$$\begin{aligned} A\_1 &= \left( R\cos 30^\circ, -R\sin 30^\circ, 0 \right)^\mathrm{T}, A\_2 = \left( 0, R, 0 \right)^\mathrm{T}, A\_3 = \left( -R\cos 30^\circ, -R\sin 30^\circ, 0 \right)^\mathrm{T}, \\ B\_1 &= \left( \left( R - l\_1\cos\theta\_1\right)\cos 30^\circ, -\left( R - l\_1\cos\theta\_1\right)\sin 30^\circ, l\_1\sin\theta\_1 \right)^\mathrm{T}, \\ B\_2 &= \left( 0, R - l\_1\cos\theta\_2, l\_1\sin\theta\_2 \right)^\mathrm{T}, B\_3 = \left( -\left( R - l\_1\cos\theta\_3\right)\cos 30^\circ, -\left( R - l\_1\cos\theta\_3\right)\sin 30^\circ, l\_1\sin\theta\_3 \right)^\mathrm{T}. \end{aligned}$$


Since the coupling degree of the PM is 1, it is necessary to assign one virtual variable when performing the FPS. Let the angle α<sup>1</sup> between B1C1 and B1D1 be the virtual variable, where B1D1//A1O. It is easy to know that the coordinates of point C1 are below:

$$\mathbf{C}\_{1} = \begin{pmatrix} \mathbf{x}\_{B\_{1}} - l\_{2}\cos 30^{\circ}\cos \alpha\_{1} \ \prime \ y\_{B\_{1}} + l\_{2}\sin 30^{\circ}\cos \alpha\_{1} \ \prime \ z\_{B\_{1}} + l\_{2}\sin \alpha\_{1} \end{pmatrix}^{\mathrm{T}}.\tag{8}$$

Thus, the three points *Ci*(*i* = 1–3) in the base coordinate system are calculated as:

$$\mathbf{C}\_{1} = \begin{pmatrix} r\cos 30^{\circ} + \mathbf{x}\_{\prime} - r\sin 30^{\circ} + \mathbf{y}\_{\prime} \ \mathbf{z} \end{pmatrix}^{\mathrm{T}} \tag{9}$$

$$\mathbf{C}\_{2} = \begin{pmatrix} \mathbf{x}, r + y, z \end{pmatrix}^{\mathrm{T}} \tag{10}$$

$$\mathbf{C}\_3 = \begin{pmatrix} -r\cos 30^\circ + \mathbf{x}\_\prime \ -r\sin 30^\circ + \mathbf{y}\_\prime \ \mathbf{z} \end{pmatrix}^\mathrm{T}. \tag{11}$$

From Equations (9) and (11), we can get:

$$\mathbf{C}\_{3} = \begin{pmatrix} \mathbf{x}\_{\overline{B}\_{1}} - l\_{2}\cos 30^{\circ}\cos \alpha\_{1} - 2r\cos 30^{\circ} \end{pmatrix}, \\ \mathbf{y}\_{\overline{B}\_{1}} + l\_{2}\sin 30^{\circ}\cos \alpha\_{1} \mathbf{ }, \mathbf{z}\_{\overline{B}\_{1}} + l\_{2}\sin \alpha\_{1} \mathbf{ })^{\mathrm{T}}. \tag{12}$$

Due to the length constraint defined by B3C3 = *l*2, we can get:

$$\alpha\_1 = 2 \arctan \left( \frac{-G\_2 \pm \sqrt{G\_2^2 + G\_1^2 - G\_3^2}}{G\_3 - G\_1} \right) \tag{13}$$

where

$$p = \mathbf{x}\_{\mathrm{B}\_{1}} - 2r\cos 30^{\circ} - \mathbf{x}\_{\mathrm{B}\_{3}},\\ q = y\_{\mathrm{B}\_{1}} - y\_{\mathrm{B}\_{3}},\\ \mathbf{g} = z\_{\mathrm{B}\_{1}} - z\_{\mathrm{B}\_{3}},\\ \mathbf{G}\_{1} = 2l\_{2}(q\sin 30^{\circ} - p\cos 30^{\circ}),\\ \mathbf{G}\_{2} = 2gl\_{2},\\ \mathbf{G}\_{3} = p^{2} + q^{2} + g^{2}.$$

Substituting Equation (13) into Equations (8) and (12), the points *C*<sup>1</sup> and *C*<sup>3</sup> can be obtained.


After the positions of all joints on the first loop are obtained, it is easier to solve that on the second loop. From Equations (9) and (10), the coordinates of point C2 are:

$$\mathbf{C}\_{2} = (\mathbf{x}\_{\mathbb{C}\_{1}} - r \cos 30^{\circ}, y\_{\mathbb{C}\_{1}} + r + r \sin 30^{\circ}, z\_{\mathbb{C}\_{1}})^{\mathrm{T}}.\tag{14}$$

Therefore, the origin coordinates of the moving platform can be easily obtained.

It can be seen that from FPS of the PM there is a total of five position equations, i.e., (1) three geometric constraint equations: B1C1 = *l*2, B3C3 = *l*2, *yC*<sup>3</sup> = *yC*<sup>1</sup> ; (2) two topological constraint equations introduced by the POC feature (3T): *zC*<sup>2</sup> = *zC*<sup>1</sup> , *zC*<sup>3</sup> = *zC*<sup>1</sup> , which are exactly equal to the NIDE ξ<sup>L</sup> = 5, and we ensure that the positions of the PM can be solved.

The inverse kinematics of this PM is omitted here due to its easiness.

(iii) Verification

Set the parameters of the PM as *R* = 90, *r* = 55, *l*<sup>1</sup> = 40, *l*<sup>2</sup> = 40(unit: mm), and the input angles of the three actuated joints are θ<sup>1</sup> = 30◦, θ<sup>2</sup> = 60◦, and θ<sup>3</sup> = 60◦.

From Equations (8)–(14), two sets of real solutions are obtained, i.e., (1) *x* = −33.9339, *y* = 19.5917, *z* = 13.9672, and (2) *x* = 23.5901, *y* = −13.6197, and *z* = 49.6216. It has been verified that both the FPS and inverse solutions derived above are correct.

The authors also analyze the position of the 3T-CU PM according to case -<sup>2</sup> , but only numerical solutions were obtained, and calculations are more complicated.

So far, for route selection cases -<sup>1</sup> and -<sup>2</sup> , the NIDE are ξL1 = ξL2 = 5, but the constraint degree of case -<sup>1</sup> is Δ<sup>1</sup> = +1, Δ<sup>2</sup> = −1 and the constraint degree of case -<sup>2</sup> is Δ<sup>1</sup> = +2, Δ<sup>2</sup> = −2. Therefore, case -1 is the optimization selection for PAR. It not only guarantees the efficient kinematic modeling but also obtains the symbolic solutions.

### *4.2. Three-Translation PM (Delta-CU)*

Figure 2a shows another three-translation PM [14,15], denoted as Delta-CU PM, designed by the authors, which consists of base platform 0, moving platform 1, and three branch chains. Among them, the first and third ones are hybrid branches containing a parallelogram structure (same as the traditional Delta mechanism). The first and third branches are connected to the base platform 0 through the revolute joints R11 and R13, and they are connected to the moving platform 1 through the revolute joints R31 and R33, respectively. The second branch is R12-U22-U32, and its two ends are connected to base platform 0 and moving platform 1 through R12 and U32, respectively. The PM is called Delta-CU, i.e., 2-R//R//P*a*//R+R-U-U.

**Figure 2.** Three-translation PM (Delta-CU). (**a**) Topology structure; (**b**) Kinematic modeling of the 3T PM.

Compared with the Delta mechanism with the same three branches (all of which are hybrid branches with a parallelogram structure), this Delta-CU mechanism decreases two revolute joints and three links, and hence the structure is simpler. Since the topological structure of the three branch chains are not all different, it involves the problem of optimization selection of PAR, and different PARs will lead to a big difference in the difficulty of the FPS of the PM.

### 4.2.1. Topological Analysis

(i) Analysis of the POC Set

The first and third mixed branches are denoted as SOC*<sup>i</sup>* {R1*i*//R2*i*//Pa(4R)-R3*i*}(*i* = 1, 3), while the second branch is denoted as SOC2{R12-U22-U42}.

The POC sets of the end of the three SOCS are determined according to Equation (1) as follows, respectively:

$$M\_{\rm SOC\_1} = \left[ \begin{array}{c} t^3\\ r^1 \left( \left\| \mathbf{R}\_{11} \right\| \right) \end{array} \right] , M\_{\rm SOC\_2} = \left[ \begin{array}{c} t^3\\ r^2 \end{array} \right] , M\_{\rm SOC\_3} = \left[ \begin{array}{c} t^3\\ r^1 \left( \left\| \mathbf{R}\_{13} \right\| \right) \end{array} \right]$$

The POC set of the moving platform of this PM is determined from Equation (2) by:

$$M\_{\mathbb{P}\_4} = M\_{\text{SOC}\_1} \cap M\_{\text{SOC}\_2} \cap M\_{\text{SOC}\_3} = \left[ \begin{array}{cc} t^3 \\ r^1(\left| \mathbb{R}\_{11}) \end{array} \right] \cap \left[ \begin{array}{c} t^3 \\ r^2 \end{array} \right] \cap \left[ \begin{array}{c} t^3 \\ r^1(\left| \mathbb{R}\_{13}) \end{array} \right] = \left[ \begin{array}{c} t^3 \\ r^0 \end{array} \right] \right]$$

Hence, the moving platform 1 of the PM has three-translation motion output.

(ii) Determining the DOF

The PM has three branches; therefore, it contains two independent loops. Since the three branches belong to two different topological structures, that is, the first and third branches are hybrid branches with four degrees of freedom (DOF) (one 4R parallelogram mechanism is equivalent to one prismatic joint). The DOF of the second branch is 5. Therefore, there are at least two schemes in the topology decomposition of the PM as follows.

Case -1 : The first loop (sub-PM) is composed of the first and third hybrid branch chains with the least degree of freedom (DOF = 4), while the second loop is composed of the sub-PM and the second branch (R12-U22-U32) with 5-DOF.

Case -2 : The first loop (sub-PM) is composed of the first branch chain with 4-DOF and the second branch chain with 5-DOF, while the second loop is composed of the sub-PM and the third branch chain with 4-DOF.

For Case -<sup>1</sup> : The NIDE of the two loops can be obtained by Equation (4):

$$\mathbb{E}\left[\xi\_{\mathsf{L}\_{1}}-\dim\left\{\begin{bmatrix}\mathsf{t}^{3}\\r^{1}(\left\|\mathsf{R}\_{11}\right\|\_{1})\end{bmatrix}\cup\begin{bmatrix}\mathsf{t}^{3}\\r^{1}(\left\|\mathsf{R}\_{13})\\\end{bmatrix}\right\}-\dim\left\{\begin{bmatrix}\mathsf{t}^{3}\\r^{2}\end{bmatrix}\right\}-5,\xi\_{\mathsf{L}\_{2}}-\dim\left\{\begin{bmatrix}\mathsf{t}^{3}\\r^{1}(\left\|\mathsf{R}\_{11}\right\|\_{1})\end{bmatrix}\cap\begin{bmatrix}\mathsf{t}^{3}\\r^{1}(\left\|\mathsf{R}\_{13})\end{bmatrix}\cup\begin{bmatrix}\mathsf{t}^{3}\\r^{2}\end{bmatrix}\right\}-\dim\left\{\begin{bmatrix}\mathsf{t}^{3}\\r^{2}\end{bmatrix}\right\}-5,\xi\_{\mathsf{L}\_{3}}-\dim\left\{\begin{bmatrix}\mathsf{t}^{3}\\r^{2}\left\|\mathsf{R}\_{13}\right\|\_{1}\right\}\right\}-\dim\left\{\mathsf{t}^{3}\right\}\right\}\right\}$$

From Equation (3), the DOF of the PM is:

$$F = \sum\_{i=1}^{m} f\_i - \sum\_{i=1}^{v} \xi\_{\mathcal{L}\_j} = (8 + 5) - (5 + 5) = 3.5$$

Therefore, when the revolute joints R11, R12, and R13 on the base platform 0 are selected as the actuated joints, the moving platform 1 can realize 3T motion outputs.

For Case -<sup>2</sup> : The NIDE of the two loops can be obtained by Equation (4):

$$\xi\_{\mathbf{I}\_3} = \dim \left\{ \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^1 \end{bmatrix} \cup \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^2 \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^3 \end{bmatrix} \right\} = 6,\\ \xi\_{\mathbf{I}\_2} = \dim \left\{ \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^1 \end{bmatrix} \cap \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^2 \end{bmatrix} \cup \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^1 \end{bmatrix} \right\} = \dim \left\{ \begin{bmatrix} \mathbf{t}^3 \\ \mathbf{r}^1 \end{bmatrix} \right\} = 4.$$

From Equation (3), the DOF of the PM is:

$$F = \sum\_{i=1}^{m} f\_i - \sum\_{i=1}^{v} \xi\_{\mathcal{L}\_j} = (4 + 5 + 4) - (5 + 5) = 3.5$$

The DOF of the PM is still three. Therefore, when R11, R12, and R13 on the base platform are actuated joints, the moving platform 1 can realize 3T motion outputs.

(iii) Determining the coupling degree

Case -<sup>1</sup> : From Equation (5), the constraint degrees of the two loops are respectively given by:

$$
\Delta\_1 = \sum\_{i=1}^{m\_1} f\_i - I\_1 - \underline{\xi}\_{\mathcal{L}\_1} = (4+4) - 2 - 5 = +1 \\
\Delta\_2 = \sum\_{i=1}^{m\_2} f\_i - I\_2 - \underline{\xi}\_{\mathcal{L}\_2} = 5 - 1 - 5 = -1.
$$

From Equation (6), the PM contains one SKC. Furthermore, from Equation (7), the coupling degree of the SKC is given by:

$$k = \frac{1}{2} \min \{ \sum\_{j=1}^{v} |\Delta\_j| \} = \frac{1}{2} (|+1| + |-1|) = 1.$$

The above equation shows the following: -<sup>1</sup> This PM contains only one SKC, and its coupling degree is one. When performing FPS, it is necessary to assign one virtual variable on the first loop with the constraint degree of positive one, and it is necessary to establish a constraint position equation containing the virtual variable on the second loop with a constraint degree of minus one. -<sup>2</sup> Since the three actuated joints are in one SKC, according to the input–output (I-O) motion decoupling determination principle [9], it can be determined that the PM does not have an input–output (I-O) motion decoupling property.

For Case -2 : From Equation (5), the constraint degrees of the two loops are respectively given by:

$$\Delta\_1 = \sum\_{i=1}^{m\_1} f\_{\mathbf{i}} - I\_1 - \underline{\xi}\_{\mathbf{L}\_1} = (4 + 5) - 2 - 6 = +1,\\ \Delta\_2 = \sum\_{i=1}^{m\_2} f\_{\mathbf{i}} - I\_2 - \underline{\xi}\_{\mathbf{L}\_2} = 4 - 1 - 4 = -1.$$

From Equation (6), the PM contains one SKC. Furthermore, from Equation (7), the coupling degree of the SKC is calculated as:

$$k = \frac{1}{2} \min \{ \sum\_{j=1}^{v} |\Delta\_j| \} = \frac{1}{2} (|+1| + |-1|) = 1.$$

Of course, the topology decomposition scheme -2 of the first loop of the PM can also be composed of the second and third branches, while the second loop is composed of the sub-PM and the first branch, and the result is identical.

(iv) Optimization selection for PAR

Comparing the topological decomposition Cases -<sup>1</sup> and -<sup>2</sup> , it can be seen that if the position analysis is performed according to Case -<sup>2</sup> , the constraint degree of the two loops are Δ<sup>1</sup> = 1 and Δ<sup>2</sup> = −1, and the NIDEs are ξL1 = 6, ξL2 = 4, respectively, which means that when performing the FPS, six position constraint equations must be found in the first loop. Obviously, the difficulty will increase, and it will even not be solved. On the contrary, if the position analysis is carried out according to Case -<sup>1</sup> , the constraint degrees of the two loops are Δ<sup>1</sup> = 1, Δ<sup>2</sup> = −1, and the NIDEs are ξL1 = 5 and ξL2 = 5, respectively, which means that when performing the FPS, only five position constraint equations are needed to be found in the first loop, which is obviously easier.

Therefore, when performing the FPS of the Delta-CU PM, the PAR should be selected as Case -1 .

### 4.2.2. Position Analysis

(i) The coordinate system and parameterization

The kinematic modeling of the Delta-CU PM is shown in Figure 2b. The base platform 0 is an equilateral triangle with a circle radius *R*, and select the geometric center O as the origin of the base coordinate system. The *x*- and *y*-axis are perpendicular and parallel to the line *OA*2. Let moving platform 1 be an equilateral triangle with a circle radius *r*, and select the O' point on the moving platform as the origin of the moving coordinate system. The *x*'- and *y*'-axis are perpendicular and parallel to the line *O*'*C*2. The *z*- and *z*'-axis are all determined by the Cartesian coordinate rule. Let the angle θ<sup>i</sup> between vectors *AiBi* and *AiO* be the input angle, and the lengths of the lines *AiBi* and *BiCi* (*i* = 1–3) are equal to *l*<sup>1</sup> and *l*2, respectively. Let the coordinates of the origin of the moving coordinate system be O' (*x*, *y*, *z*).

(ii) Direct kinematics

To perform the FPS, compute the position O' = (*x*, *y*, *z\**) of the platform with the known actuated joints θ2, θ2, and θ3.

Since the coupling degree of the PM is κ = 1, one virtual variable needs to be assigned. Furthermore, the first loop passes through the moving platform 1, and there are two methods for selecting virtual variables, namely method A (i.e., the virtual variable starts from one side of the loop) and method B (i.e., the virtual variable starts from the moving platform) [16]. Since method B has the advantages of a short calculation path, fewer calculations, and available symbolic solutions [16], method B is now used for the calculation of the PM.

Since the PM is a 3T PM and the coupling degree is κ = 1, take one of the position parameters (*x*, *y*, *z\**) of the platform 1, for example, *z*\*, as a virtual variable.


The coordinates of C*<sup>i</sup>* point (*i* = 1–3) on the moving platform are given, respectively.

$$\mathbf{C}\_{1} = \left(r\cos 30^{\circ} + \mathbf{x}, -r\sin 30^{\circ} + \mathbf{y}, z\ast \right)^{\mathsf{T}}, \\ \mathbf{C}\_{2} = \left(\mathbf{x}, r + y, z\ast \right)^{\mathsf{T}}, \\ \mathbf{C}\_{3} = \left(-r\cos 30^{\circ} + \mathbf{x}, -r\sin 30^{\circ} + \mathbf{y}, z\ast \right)^{\mathsf{T}}.$$

Due to the length constraint defined by B*i*C*<sup>i</sup>* = *l*<sup>2</sup> (*i* = 1, 3), we can get:

$$(x+m)^2 + (y+n)^2 + (z\*-z\_{\mathbb{B}\_1})^2 = l\_2^{\cdot 2} \tag{15}$$

$$(x+u)^2 + (y+v)^2 + (z\*-z\_{\mathbb{B}\_3})^2 = l\_2^{-2} \tag{16}$$

where

$$\mu = r \cos 30^\circ - \mathbf{x}\_{\mathbb{B}\_1}, \\ \mu = - \left( r \sin 30^\circ + y\_{\mathbb{B}\_1} \right), \\ \mu = - \left( r \cos 30^\circ + \mathbf{x}\_{\mathbb{B}\_3} \right), \\ \nu = - \left( r \sin 30^\circ + y\_{\mathbb{B}\_3} \right).$$


$$(\mathbf{x} - \mathbf{x}\_{\mathcal{B}\_2})^2 + (y + t)^2 + (z \ast - z\_{\mathcal{B}\_2})^2 = l\_2^{\; 2} \tag{17}$$

where *t* = *r* − *yB*<sup>2</sup> .

From Equations (15)–(17), we can get the symbolic solutions as follows:

$$\begin{cases} \begin{array}{c} x = Nz\* + D \\ y = Hz\* + K \end{array} \\ z\* = \frac{-\mathcal{C}\_2 \pm \sqrt{\mathcal{C}\_2 2 - 4\mathcal{C}\_1 \mathcal{C}\_3}}{2\mathcal{C}\_1} \end{cases} \tag{18}$$

where

*<sup>M</sup>* <sup>=</sup> *<sup>m</sup>*2+*n*2+*zB*<sup>1</sup> <sup>2</sup>−*xB*<sup>2</sup> <sup>2</sup>−*<sup>t</sup>* <sup>2</sup>−*zB*<sup>2</sup> 2 <sup>2</sup> , *<sup>T</sup>* = *<sup>m</sup>*<sup>2</sup> + *<sup>n</sup>*<sup>2</sup> + *zB*<sup>1</sup> <sup>2</sup> <sup>−</sup> *<sup>u</sup>*<sup>2</sup> <sup>−</sup> *<sup>v</sup>*<sup>2</sup> <sup>−</sup> *zB*<sup>3</sup> <sup>2</sup> <sup>−</sup> <sup>2</sup>*M*(*m*−*u*) *<sup>m</sup>*+*xB*<sup>2</sup> , *<sup>P</sup>* = <sup>2</sup>(*m*−*u*)(*t*−*n*) *<sup>m</sup>*+*xB*<sup>2</sup> + 2(*n* − *v*), *<sup>Q</sup>* <sup>=</sup> <sup>2</sup>(*m*−*u*)(*zB*1−*zB*<sup>2</sup> ) *<sup>m</sup>*+*xB*<sup>2</sup> + 2 *zB*<sup>3</sup> − *zB*<sup>1</sup> , *<sup>H</sup>* <sup>=</sup> <sup>−</sup> *<sup>Q</sup> <sup>P</sup>* , *<sup>K</sup>* <sup>=</sup> <sup>−</sup>*<sup>T</sup> P* , *<sup>N</sup>* <sup>=</sup> <sup>−</sup>(*n*−*t*)*H*+(*zB*2−*zB*<sup>1</sup> ) *xB*2+*<sup>m</sup>* , *<sup>D</sup>* <sup>=</sup> <sup>−</sup>(*n*−*t*)*K*+*<sup>M</sup> xB*2+*<sup>m</sup>* , *C*<sup>1</sup> = *N*<sup>2</sup> + *H*<sup>2</sup> + 1, *C*<sup>2</sup> = 2 *ND* + *HK* + *mN* + *nH* − *zB*<sup>1</sup> , *C*<sup>3</sup> = *D*<sup>2</sup> + *K*<sup>2</sup> + 2*mD* + 2*nK* + *m*<sup>2</sup> + *n*<sup>2</sup> + *zB*<sup>1</sup> <sup>2</sup> <sup>−</sup> *<sup>l</sup>*<sup>2</sup> 2.

It can be seen that from the FPS of the PM there is also a total of five position equations in the first loop, i.e., -<sup>1</sup> two position constraint equations *zC*<sup>1</sup> = *zC*<sup>3</sup> = *z* introduced by the topological constraint that the moving platform 1 always performs three-dimensional translation, -<sup>2</sup> two length constraint conditions B1C1 = *l*<sup>2</sup> and B3C3 = *l*2, and -<sup>3</sup> the position of C2 is also constrained by the length constraint equation B2C2 = *l*<sup>2</sup> inside the second loop. In this way, there are five position constraint equations, which are equal to the NIDE ζ<sup>L</sup> = 5. Therefore, the position of the first loop is guaranteed to be solvable, since these position equations are nonlinear ones and simper, symbolic solutions can be easily obtained.

The inverse kinematics of this PM and numerical verification are omitted here due to its easiness.

### **5. Conclusions**

The optimization selection for PAR can affect the effectiveness of FPS and the solution forms. For this reason, the optimization selection criteria for PAR are proposed, i.e., when solving the position, the loop should be selected according to the criteria of "minimum constraint degree value (Δmin) and minimum number of independent displacement equations (ξmin)" in order to effectively perform FPS and obtain the symbolic solutions to the greatest possible extent. Otherwise, the FPS may be difficult, complicated, or symbolic solutions cannot be obtained. Two examples are used to illustrate the procedures of how to select the PAR.

In the recent years, the authors have performed a large number of FPS of the PMs [17,18], which proves that the procedures of the selection criteria of PAR for FPS proposed in this paper are universal.

For PMs with branch chains of different topology, the correct selection of the PAR is necessary and important. This work provides new inspiration and the road map for the FPS of these complex PMs.

**Author Contributions:** Conceptualization, H.S. and T.-l.Y.; methodology, Q.X. and J.L.; validation, Q.X.; writing—original draft preparation, H.S.; writing—review and editing, Q.X. and J.L.; funding acquisition, H.S. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research is sponsored by the NSFC (No. 51975062, 51375062).

**Conflicts of Interest:** The authors declare no conflict of interest.

### **References**


**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
