Keywords

1 Introduction

Parallel manipulators have attracted a lot of research attentions in the past few decades for their superior performance over their serial counterparts in terms of the load-carrying capacity, rigidity and accuracy. While some manipulators are very well established in terms of their applications in the industries, such as the Stewart platform manipulator (introduced in 1954) [6], and the Delta robot (introduced in 1980s) [4], many more continue to emerge. For instance, the Agile Eye [2] is a three degree of freedom (DoF) spherical parallel manipulator, mainly developed for camera orientation. The mechanical architecture of the robot allows it to achieve high velocities and acceleration. This manipulator has been immensely popular since its introduction in 1993. A partially decoupled four DoF parallel manipulator with the acronym PAMINSA has been presented in [3]. The specialty of this robot is the decoupling of the displacements along the horizontal and vertical axes, enabling static balancing, and reducing the loads on the actuators.

A new six DoF spatial parallel manipulator was introduced in [7]. The manipulator has three legs mounted on a circualr guide at the base, which allows it to exhibit large (i.e., kinematically unbounded) yaw motions, which is not very common in platform-type spatial parallel manipulators. In [7] only the inverse kinematic analysis of the manipulator was presented. In the present paper, the forward kinematic problem of the manipulator is studied in the closed-form, to the extent permissible mathematically. The loop-closure constraints are derived in the joint space. Through a sequence of elimination of variables, the set of equations is reduced to a single equation in one of the passive joint variables. This equation, called the forward kinematics univariate (FKU) (in accordance with [5]), when transformed to its algebraic form, turns out to be of degree 16. However, using symbolic simplificationsFootnote 1 performed in the computer algebra system Mathematica, it is revealed that the FKU is actually of degree 8 in the square of the remaining variable. Thus, it is established that there are essentially 8 possible poses of the manipulator, the remaining being mirror reflections of the same, at the base platform. The theoretical calculations are illustrated through a numerical example, and the validity of the results obtained is demonstrated by computing the norm of the residues of the constraint equations.

The rest of the paper is organised as follows: Sect. 2 covers the mathematical formulation, starting from the geometrical description of the manipulator, then forming the loop-closure equations and finally presenting a detailed solution procedure for the forward kinematic problem. Section 3 presents a numerical case study. The correctness of the results obtained has been verified by checking the residues of the loop-closure equations. The conclusions are presented in Sect. 4.

2 Mathematical Formulation

The geometry of the manipulator is described in this section, followed by the formulation of its forward kinematics.

Fig. 1
figure 1

Schematic representation of the manipulator

2.1 Geometry

The geometry of the \(3\)-RPRS is shown in Fig. 1. It consists of a fixed base and a moving top platform, connected by three legs of identical architecture, namely, RPRS. The first two joints in each leg are active (i.e., actuated), together imparting general six DoF spatial motion to the top platform. The first joint imparts a rotation about the axis \(Z_0\). Physically the rotary motion is achieved by mounting the links on a circular guide. The next joint is prismatic, with its axis orthogonal to the said circular guide. A rigid strut of length l is connected to the prismatically actuated link at the base, through a passive (i.e., unactuated) revolute joint situated at the point \(\varvec{b} _i\), \(i = 1,2,3\), which are given by:

$$\begin{aligned} \varvec{b} _i = [d_i\cos {\theta _i}, d_i \sin {\theta _i}, 0]^\top . \end{aligned}$$
(1)

In Eq. (1), \(d_i\) denotes the extent of the actuation of the prismatic point, and \(\theta _i\) denotes the orientation of the ith prismatic joint axis, given as the in-plane CCW rotation about the \(Z_0\) axis, measured from the \(X_0\) axis. The vector along the ith strut is expressed in the local frame of the leg as (see the frame \(X_{l3}Y_{l3} Z_{l3}\) in Fig. 1):

$$\begin{aligned} \varvec{l} _i = [l \cos {\phi _i}, 0, l \sin {\phi _i}]^\top . \end{aligned}$$
(2)

The upper extremity of the ith strut is connected to the end-effector platform by a passive spherical joint at the point \(\varvec{p} _i\), where the location of \(\varvec{p} _i\) in the base-frame \(\{0\}\) is given by:

$$\begin{aligned} \varvec{p} _i = \varvec{b} _i + \varvec{R} _i\left( \theta _i\right) \varvec{l} _i. \end{aligned}$$
(3)

In Eq. (3), \(\varvec{R} _i\left( \theta _i\right) \) is the rotation matrix corresponding to a counter-clockwise rotation about the positive \(Z_0\) axis, by an angle \({\theta _i}\). The end-effector is an equilateral triangle, with each side having length s.

The complete set of joint variables describing the configuration of the manipulator is given by \(\varvec{q} = [\theta _1, \theta _2, \theta _3, d_1, d_2, d_3, \phi _1, \phi _2, \phi _3]^\top \), of which \(\varvec{\theta } = [\theta _1, \theta _2, \theta _3, d_1, d_2, d_3]^\top \) are designated as the active variables, and \(\varvec{\phi } = [\phi _1, \phi _2, \phi _3]^\top \) are the passive rotary joint variables. In terms of these variables, the forward kinematic problem reduces to the task of finding \(\varvec{\phi }\), for given geometric parameters l, s, which have already been defined above, and the known inputs, \(\varvec{\theta }\). The first step towards that is to find the three independent equations involving \(\varvec{\theta }\) and \(\varvec{\phi }\), which are derived next.

2.2 Loop-Closure Equations

The manipulator is required to maintain loop-closure at every instance, leading to the constraints that apply on the motion of the top platform, and the manipulator in general. In this case, the loop-closure constraints can be stated as follows: the tip points of each leg, \(\varvec{p} _i\), move in space in such a manner, that the distance between any two of them is held constant, and equal to s (as the top platform is a an equilateral triangle of side s). This statement is translated into the desired three equations in \(\varvec{\phi }\) in the following:

$$\begin{aligned}&\left( \varvec{p} _1 - \varvec{p} _2\right) ^\top \cdot \left( \varvec{p} _1 - \varvec{p} _2\right) - s^2 = 0 \Rightarrow f_1\left( \phi _1,\phi _2\right) = 0, \end{aligned}$$
(4)
$$\begin{aligned}&\left( \varvec{p} _2 - \varvec{p} _3\right) ^\top \cdot \left( \varvec{p} _2 - \varvec{p} _3\right) - s^2 = 0 \Rightarrow f_2\left( \phi _2,\phi _3\right) = 0, \end{aligned}$$
(5)
$$\begin{aligned}&\left( \varvec{p} _3 - \varvec{p} _1\right) ^\top \cdot \left( \varvec{p} _3 - \varvec{p} _1\right) - s^2 = 0 \Rightarrow f_3\left( \phi _3,\phi _1\right) = 0. \end{aligned}$$
(6)

Equations (4)–(6) represent the loop-closure equations, which are solved next to obtain the values of the unknown passive joint rotation, \(\phi _i\).

2.3 Solution

Equations (4)–(6) are linear in the cosine and sine of \((\phi _1,\phi _2\)), \(\left( \phi _2,\phi _3\right) \) and \(\left( \phi _3,\phi _1\right) \), respectively. Solving for \(\cos {\phi _1}\) and \(\sin {\phi _1}\) simultaneously from Eqs. (4) and (6) and substituting in the identity \(\sin ^2\phi _1 + \cos ^2\phi _1 =1\), the unknown \(\phi _1\) is eliminated from the system of equations, while leading to a new equation in the remaining variables:

$$\begin{aligned} g(\phi _2, \phi _3) = 0. \end{aligned}$$
(7)

Also, the common solution of \(f_1 = 0\), \(f_3 = 0\) in \(\phi _1\) is obtained uniquely as

(8)

where denotes the two-argument arctangent function. At this stage, there remain two equations involving the sine and cosine of \({\phi _2}\), \({\phi _3}\): \(f_2 = 0\), and \(g = 0\). As g is found to be quadratic in these functions, it is easier to work with the algebraic forms of these equations henceforth. These are converted to polynomials in \(t_2\) using the standard tangent half-angle substitution: \(t_2 = \tan (\phi _2/2)\). After the transformation, \(g = 0\) becomes a quartic equation in \(t_2\), (say, \(h_1(t_2, \phi _3) = 0\)) while \(f_2 = 0\) turns into a quadratic,Footnote 2 say, \(h_2(t_2, \phi _3) = 0\). These steps are shown schematically in (9).

$$\begin{aligned} \left. \begin{array}{cc}\left. \begin{array}{cc} f_1\left( \phi _1,\phi _2\right) =0\\ f_3\left( \phi _1,\phi _3\right) =0\\ \end{array} \right) \mathop {\longrightarrow }\limits ^{\times \phi _1} \begin{array}{cc} g(\phi _2, \phi _3) = 0 \overset{\phi _2\rightarrow t_2}{\xrightarrow {}} h_1(t_2,\phi _3) = 0;\\ f_2(\phi _2, \phi _3) = 0 \overset{\phi _2\rightarrow t_2}{\xrightarrow {}} h_2(t_2,\phi _3) = 0.\\ \end{array}\\ \end{array} \right. \end{aligned}$$
(9)

The symbol ‘\(\mathop {\longrightarrow }\limits ^{\times x} \)’ implies the elimination of the variable x from two simultaneous equations in x, and ‘\(\overset{\phi _2\rightarrow t_2}{\xrightarrow {}} \)’ implies the conversion of a trigonometric expression in \(\phi _2\) to its algebraic equivalent, in terms of \(t_2 = \tan (\phi /2)\). The quadratic nature of \(h_2\) in \(t_2\) suggests an easy means for obtaining \(t_2\) in the closed-form, as well as eliminating \(t_2\) from the equations \(h_i = 0\), as shown below. Firstly, \(h_1(t_2, \phi _3)\) is divided by \(h_2(t_2, \phi _3)\), treating both as polynomials in \(t_2\):

$$\begin{aligned} h_1(t_2, \phi _3) = \alpha (t_2,\phi _3)h_2(t_2,\phi _3) + \beta (t_2,\phi _3), \end{aligned}$$
(10)

where \(\alpha , \beta \) are the quotient and the remainder polynomials, respectively. The underlying assumption made here is that the leading coefficient of the divisor \(h_2(t_2,\phi _3)\) is non-zero.Footnote 3 Evidently, \(\beta \) can be at the most linear in \(t_2\), and \( h_1 = 0, h_2 = 0\) means \(\beta = 0\). Therefore, one finds an expression of \(t_2\) uniquely in terms of all the known entities and \(\phi _3\), and this value of \(t_2\) is guaranteed to satisfy the equations \(h_1 = 0, h_2 = 0\) simultaneously.

$$\begin{aligned}&\beta (t_2, \phi _3) = 0 \Rightarrow c_1(\phi _3)t_2 + c_2(\phi _3) = 0;\nonumber \\&t_2 = -c_2(\phi _3)/c_1(\phi _3), \ \text {assuming} \ c_1(\phi _3) \ne 0. \end{aligned}$$
(11)

From \(t_2\), the passive variable \(\phi _2\) is found by inverting the half-tangent formula:

(12)

Equation (12) yields a unique solution of \(\phi _2\) for each value of \(\phi _3\). The solutions for \(\phi _3\) are computed next, to complete the solution of the forward kinematics problem.

The common solution \(t_2\) from Eq. (11) is substituted in the equation \(h_2(t_2, \phi _3) = 0\), to reduce it to an equation with \(\phi _3\) as the sole remaining unknown. This equation is converted to its algebraic form in terms of \(t_3 = \tan (\phi _3/2)\), and the FKU equation \(\eta \left( t_3\right) =0\) is obtained as a polynomial in the unknown \(t_3\). The FKU is of degree 16 in \(t_3\). However, upon rigorous symbolic simplification, it is found that the FKU has the following form:

$$\begin{aligned} a_0 t_{3}^{16} + a_1 t_{3}^{14} + a_2 t_{3}^{12} + a_3 t_{3}^{10} + a_4 t_{3}^{8} + a_5 t_{3}^{6} + a_6 t_{3}^{4} + a_7 t_{3}^{2} + a_8 = 0. \end{aligned}$$
(13)

The coefficients, \(a_i\), are functions of the architecture parameters and known inputs, and are therefore known exactly, in the closed form. These can therefore be evaluated to an arbitrary level of desired accuracy, and the FKU may be solved to find all the real values of \(t_3\). This is illustrated in the next section. The numerical form of the FKU after substituting the values of the architecture parameters and inputs is given in Eq. (14) as a monic polynomial:

$$\begin{aligned}&t_{3}^{16} - 21.4575 t_{3}^{14} - 86.4879 t_{3}^{12} + 2667.8104 t_{3}^{10}+ 608.5886 t_{3}^{8} \nonumber \\&- 28338.0681 t_{3}^{6} + 44125.4058 t_{3}^{4} - 21515.7426 t_{3}^{2} + 3376.6233 = 0. \end{aligned}$$
(14)

3 Numerical Results

To illustrate the mathematical developments presented above, the following numerical values are chosen for the architecture parameters: \(l = 2.2\), and \(\text{ s } \text{= } \text{2 }\). The numerical values of the active variablesFootnote 4 are chosen as \( d_1 = 1.2\), \(d_2 = 1.5\), \(d_3 = 1.7\), \(\theta _1 = 0\), \(\theta _2 = 1.832, \theta _3 = 5.497 \). The given input vector along with \(l = 2.2\) and \(s = 2\) results in 16 distinct solutions for \(t_3\) of which 8 are real and the other 8 are complex. The real values of the passive joint angles for the given set of input variables is enumerated in Table 1. In order to validate the obtained solutions numerically, all the numerical inputs are results are substituted back to the original loop-closure equations, Eqs. (4)–(6), and the residue of the vector \(\varvec{f} = [f_1, f_2, f_2]^\top \) is computed:

$$\begin{aligned} e = \Vert \varvec{f}\Vert . \end{aligned}$$
(15)

The error e is tabulated in the last column of Table 1 for each of the real branches of the solution. It can be seen from Table 1, that there are actually 4 distinct solutions (i.e., no. 1, 3, 5, 7), while the other 4 are mirror images of them (i.e., no. 2, 4, 6, 8, respectively) (Fig. 2).

Table 1 Forward kinematic solutions for input variables \( d_1 = 1.2, d_2 = 1.5, d_3 = 1.7, \theta _1 = 0, \theta _2 = 1.832, \theta _3 = 5.497\)

4 Conclusions

This paper has presented an analytical study of the forward kinematics of the \(3\)-RPRS manipulator. The manipulator has three legs, connecting a moving platform in the form of an equilateral triangle to a fixed base. Each of the legs have a rotary and a prismatic actuator in series, together imparting the full six spatial motions onto the moving platform. The legs contain a single passive variable, the determination of which is the objective of the forward kinematic analysis. Three loop-closure equations are formed to find the three unknowns, and these equations are subsequently reduced to a single polynomial of degree 16. Further, this polynomial is shown to have only even-powered terms, therefore revealing that the manipulator can have at most 8 poses for a given set of inputs, and the corresponding mirror images about the fixed base. The coefficients of the polynomial are obtained in closed-form, for a generic architecture of the manipulator, thus solving the forward kinematics problem comprehensively. The results were numerically validated by substituting, in the loop-closure constraint equations and evaluating the residue of each equation. The resulting residues were found to be very close to zero, thereby providing necessary validation of the correctness of the solutions.

Fig. 2
figure 2

Configurations depicting the real solutions for the given inputs (numbered as per Table 1). a Pose no. 1, b Pose no. 3, c Pose no. 5, d Pose no. 7