1 Introduction

The Jacobian matrix is a fundamental aspect for the velocity analysis and the evaluation of motion performance characteristics of an arbitrary manipulator. In analyzing the motion performance of a manipulator, experience and intuition have suggested to determine the most dextrous posture of the manipulator in the reachable workspace for performing a given task. Under this scenario, the main objective is to position the manipulator in such a way that it is best able to respond to input motions. Hence, there will be preferred postures where the manipulator can move with a set of desired motion characteristics. However, to determine such postures, the manipulator’s Jacobian matrix must be dimensionally homogeneous.

In general, a first order (velocity) analysis of a parallel manipulator usually has a typical form given by \(\mathbf {F}\dot{\mathbf {x}}=\mathbf {G}\dot{\mathbf {q}}\), where \(\dot{\mathbf {q}}\) is a vector containing the joint velocities of the actuated joints, \(\mathbf {F}\) and \(\mathbf {G}\) are the so-called Jacobian matrices of the manipulator, and \(\dot{\mathbf {x}}\) is a vector associated with the velocity state of the mobile platform, that is, it may contain the angular velocity vector of the mobile platform and/or velocities of specially selected points pertaining to the mobile platform. In this context, it should be noted that, if the manipulator has a mix of revolute and prismatic actuators, or its mobile platform undergoes a general motion (translation and rotation), the Jacobian matrices \(\mathbf {F}\) and \(\mathbf {G}\) are usually not homogeneous in terms of units. Thus, the evaluation of motion performance would mix translational and rotational capabilities, which is apparently meaningless [1, 2].

Important efforts have been focused to the homogenization [3]–[6] of the Jacobian matrices for both, planar and spatial manipulators. On this regard, particularly notorious has been the number of researchers interested in the planar 3-RRR parallel manipulator. On the one hand [7] and [8], propose, whereas [9], [10], and [11] evaluate the motion performance of the planar 3-RRR parallel manipulator based on a \(3 \times 3\) non-homogeneous Jacobian matrix, which is scaled with a parameter known as characteristic length. However, the choice of the characteristic length remains arbitrary [2]. On the other hand, [3, 4], and [These methods are similar to each other 12] presented some methods to obtain homogeneous Jacobian matrices for the planar 3-RRR parallel manipulator. and basically, they were developed by considering the velocity components of two or three noncolinear points pertaining to the mobile platform of the planar 3-RRR parallel manipulator. Although these methods serve to formulate dimensionally Jacobian matrices, they suffer from: (a) a rather heavy computational burden, and/or (b) an ambiguous conception of the velocity state of the mobile platform, since the implementation of these methods requires the definition of reference points on the end effector, and no general rationale can be formulated to guide this choice, which makes any comparison between different manipulators very difficult to achieve [13].

Thus, instead of looking for a new mathematical model of the velocity analysis of the manipulator, it is preferable to consider the actual velocity model, represented by \(\mathbf {F}\dot{\mathbf {x}}=\mathbf {G}\dot{\mathbf {q}}\), since it is very compact and also, it has been historically known as the most typical velocity model for the planar 3-RRR parallel manipulator. The solution of the inhomogeneity problem associated with such a velocity model may be achieved in a very simple way by realizing that equation \(\mathbf {F}\dot{\mathbf {x}}=\mathbf {G}\dot{\mathbf {q}}\) is not an indivisible entity, which is a fact that has been previously recognized for spatial manipulators [14]. Hence the typical mathematical model will be regarded as the aggregate of a pair of dimensionally homogeneous systems of equations: (a) two scalar equations for the translational velocity of a point pertaining to the mobile platform of the manipulator, and (b) one scalar equation for the angular velocity of the moving platform. Thus, based on a very compact and dimensionally homogeneous Jacobian matrix, it is possible to estimate the optimal values and directions of the velocity of a point representing the mobile platform of the manipulator. These optimal directions can be very helpful in planning manipulation tasks and provide the foundations for a better understanding of the kinematic behavior of the manipulator.

2 The planar 3-RRR parallel manipulator

The kinematic architecture of the planar 3-RRR parallel manipulator is illustrated by means of the schematic diagram shown in Fig. 1.

Fig. 1
figure 1

Schematic diagram of the planar 3-RRR parallel manipulator

The planar 3-RRR parallel manipulator is composed of nine revolute joints, which are used to articulate seven moving bodies and one fixed body. This manipulator was designed to move the mobile platform (link 7) on a plane by means of the actuation of three rotatory motors that produce three independent rotations of links 1, 3, and 5, with respect to fixed link (link 0).

3 Kinematic position analysis

To obtain a systematic approach, the kinematic position analysis is divided in the following sections.

3.1 Constraint equations

As it was shown in [15], three independent equations can be derived to describe the three circular loci of moving points A, B and C:

$$\begin{aligned} \left( x_A-x_D\right) ^2+\left( y_A-y_D\right) ^2=L_1^2 \end{aligned}$$
(1)
$$\begin{aligned} \left( x_A+d_1\cos {\phi }-x_E\right) ^2+\left( y_A+d_1\sin {\phi }-y_E\right) ^2=L_2^2 \end{aligned}$$
(2)
$$\begin{aligned} \left( x_A+d_2\cos {(\phi +\alpha )}-x_F\right) ^2+\left( y_A+d_2\sin {(\phi +\alpha )}-y_F\right) ^2=L_3^2 \end{aligned}$$
(3)

whose centers are located at points moving D, E, and F, respectively, see Fig. 2. Additionally, \(\mathbf {a} \!=\! (x_A, y_A)^T\), \(\mathbf {d} \!=\! (x_D, y_D)^T\), \(\mathbf {e} \!=\! (x_E, y_E)^T\), and \(\mathbf {f} \!=\! (x_F, y_F)^T\), are the position vectors of moving points A, D, E, and F, all measured with respect to fixed point G, respectively. Equations (1)–(3) are the constraint equations sought.

Fig. 2
figure 2

Auxiliary kinematic diagram of the planar 3-RRR parallel manipulator

Fig. 3
figure 3

Mobile platform of the planar 3-RRR parallel manipulator

3.2 Forward displacement analysis

The forward displacement analysis consists in finding the position of moving point P, given by \(\mathbf {p} \!=\! (x, y)^T\), and the orientation of the mobile platform, represented by angle \(\phi \), for a given set of values of actuator’s angular displacements, denoted by angles, \(\psi _1\), \(\psi _2\), and \(\psi _3\), see Fig. 2. The approach followed in this paper is basically an adaptation of the method shown in [15]. Thus, subtracting Eq. (1) from Eqs. (2) and (3) results in the following set of equations:

$$\begin{aligned} H_1 x_A + H_2 y_A + H_3 + L_1^{2}-L_2^{2}=0 \end{aligned}$$
(4)
$$\begin{aligned} H_4 x_A +H_5 y_A +H_6 + L_1^{2}- L_3^{2}=0 \end{aligned}$$
(5)

where:

$$\begin{aligned} H_1\;=\; & {} 2d_1\cos \phi +2x_D-2x_E\\ H_2 \;=\; & {} 2d_1\sin \phi +2 y_D-2 y_E\\ H_3\;=\; & {} -2 d_1 x_E \cos \phi - 2 d_1 y_E \sin \phi + d_1^{2}-x_D^{2}+ x_E^{2}- y_D^{2}+ y_E^{2}\\ H_4\;=\; & {} 2 d_2 \cos \left( \phi + \alpha \right) + 2 x_D - 2 x_F\\ H_5\;=\; & {} 2 d_2 \cos \left( \phi + \alpha \right) + 2 y_D - 2 y_F\\ H_6\;=\; & {} d_2^{2}-2 d_2 x_F \cos \left( \phi + \alpha \right) - 2 d_2 y_F \cos \left( \phi + \alpha \right) - x_D^{2}+ x_F^{2}- y_D^{2}+ y_F^{2} \end{aligned}$$

and, from the geometry shown in Fig. 2:

$$\begin{aligned}&x_D = l_1 \cos \psi _1, \,\,\, y_D = l_1 \sin \psi _1, \,\,\, x_E = k_1 + l_2 \cos \psi _2, \,\,\, y_E = k_2 + l_2 \sin \psi _2,\end{aligned}$$
(6)
$$\begin{aligned}&x_F = k_3 + l_3 \cos \psi _3, \,\,\, y_F = k_4 + l_3 \sin \psi _3. \end{aligned}$$
(7)

Next, Eqs. (4) and (5) can be cast in the following matrix form:

$$\begin{aligned} \mathbf {H} \, \mathbf {a} = \mathbf {w}, \,\,\, \mathbf {H} \equiv \left[ \begin{array}{cc} H_1&{}H_2\\ H_4&{}H_5\end{array}\right] , \,\,\, \mathbf {a} \equiv \left[ \begin{array}{c}x_A\\ y_A\end{array}\right] , \,\,\, \mathbf {w} \equiv \left[ \begin{array}{c} L_2^2-L_1^2-H_3\\ L_3^2-L_1^2-H_6\end{array}\right] . \end{aligned}$$
(8)

Equation (8) can be symbolically solved for \(\mathbf {a}=(x_A, y_A)^T\) in terms of the angle \(\phi \) as follows:

$$\begin{aligned} \mathbf {a} = \mathbf {H}^{-1} \mathbf {w} \end{aligned}$$
(9)

or, equivalently:

$$\begin{aligned} x_A=\frac{H_2\,{L_1}^{2}-H_2\,{L_3}^{2}-H_5\,{L_1}^{2}+H_5\,{L_2}^{2}+H_2\,H_6-H_3\,H_5}{H_1\,H_5-H_2\,H_4} \end{aligned}$$
(10)
$$\begin{aligned} y_A=-\frac{H_1\,{L_1}^{2}-H_1\,{L_3}^{2}-H_4\,{L_1}^{2}+H_4\,{L_2}^{2}+H_1\,H_6-H_3\,H_4}{H_1\,H_5-H_2\,H_4} \end{aligned}$$
(11)

Additionally, substitution of Eqs. (10) and (11) into equation (1) produces a scalar equation in terms of the trigonometric functions of angle \(\phi \), which, considering the following tangent half-angle formulas:

$$\begin{aligned} \sin {\phi } = \frac{2\tau }{1+\tau ^2}, \,\,\, \cos {\phi } = \frac{1-\tau ^2}{1+\tau ^2} \end{aligned}$$
(12)

leads to the eight-degree, univariate polynomial given by:

$$\begin{aligned} \sum _{i=0}^{8}{k_i\tau ^{i}}=0, \,\,\, \tau \equiv \tan {\frac{\phi }{2}}. \end{aligned}$$
(13)

Once Eq. (13) is numerically solved for unknown \(\tau \), angle \(\phi \) may be computed as follows:

$$\begin{aligned} \phi = 2 \arctan (\tau ) \end{aligned}$$
(14)

which, when substituted into Eqs. (10) and (11), produces the Cartesian coordinates, \(x_A\) and \(y_A\), of point A.

Finally, the Cartesian coordinates of point P can be computed from the geometry shown in Figs. 2 and 3:

$$\begin{aligned} x = x_A + R_A \cos (\phi + \alpha _A), \,\,\, y = y_A + R_A \sin (\phi + \alpha _A) \end{aligned}$$
(15)

thus completing the solution of the forward displacement analysis.

3.3 Position vectors required

As it will evident later, there are certain position vectors that will be used in the velocity analysis. For that reason, such vectors are computed next. From here, it is assumed that the Cartesian coordinates of point A, \(x_A\), and \(y_A\), as well as the orientation angle of the mobile platform, \(\phi \), have been successfully computed in terms of the input angles \(\psi _1\), \(\psi _2\), and \(\psi _3\). Thus, from the geometry shown in Figs. 2 and 3, there can be obtained the following symbolic expressions:

$$\begin{aligned} \mathbf {r}_{A/D} = \mathbf {a} - \mathbf {d} = \left[ \begin{array}{c} x_A - l_1 \cos \psi _1 \\ y_A - l_1 \sin \psi _1 \end{array}\right] \end{aligned}$$
(16)
$$\begin{aligned} \mathbf {r}_{B/E} = \mathbf {b} - \mathbf {e} = \left[ \begin{array}{c} x_A + d_1 \cos \phi - k_1 -l_2 \cos \psi _2 \\ y_A + d_1 \sin \phi - k_2 -l_2 \sin \psi _2 \end{array}\right] \end{aligned}$$
(17)
$$\begin{aligned} \mathbf {r}_{C/F} = \mathbf {c} - \mathbf {f} = \left[ \begin{array}{c} x_A + d_2 \cos (\phi + \alpha ) - k_3 -l_3 \cos \psi _3 \\ y_A + d_2 \sin (\phi + \alpha ) - k_4 -l_3 \sin \psi _3 \end{array}\right] \end{aligned}$$
(18)
$$\begin{aligned} \mathbf {r}_{A/P} = \left[ \begin{array}{c} -R_A \cos (\phi + \alpha _A)\\ -R_A \sin (\phi + \alpha _A) \end{array}\right] , \mathbf {r}_{B/P} = \left[ \begin{array}{c} -R_B \cos (\phi + \alpha _B)\\ -R_B \sin (\phi + \alpha _B) \end{array}\right] , \mathbf {r}_{C/P} = \left[ \begin{array}{c} -R_C \cos (\phi + \alpha _C)\\ -R_C \sin (\phi + \alpha _C) \end{array}\right] \end{aligned}$$
(19)
$$\begin{aligned} \mathbf {r}_{D/G} = \mathbf {d} = \left[ \begin{array}{c} l_1 \cos \psi _1 \\ l_1 \sin \psi _1 \end{array}\right] , \mathbf {r}_{E/M} = \left[ \begin{array}{c} l_2 \cos \psi _2 \\ l_2 \sin \psi _2 \end{array}\right] , \mathbf {r}_{F/N} = \left[ \begin{array}{c} l_3 \cos \psi _3 \\ l_3 \sin \psi _3 \end{array}\right] \end{aligned}$$
(20)

It should be noted that position vectors (16)–(20) depend only on variables \(x_A\), \(y_A\), \(\phi \), \(\psi _1\), \(\psi _2\), and \(\psi _3\), which are already known.

4 Velocity analysis

First, from the geometry shown in Fig. 2, it is possible to formulate the following vector-loop equations:

$$\begin{aligned} \mathbf {r}_{P/G} + \mathbf {r}_{A/P}\; = \;& {} \mathbf {r}_{D/G} + \mathbf {r}_{A/D} \end{aligned}$$
(21)
$$\begin{aligned} \mathbf {r}_{G/M} + \mathbf {r}_{P/G} + \mathbf {r}_{B/P}\; = \;& {} \mathbf {r}_{E/M} + \mathbf {r}_{B/E} \end{aligned}$$
(22)
$$\begin{aligned} \mathbf {r}_{G/N} + \mathbf {r}_{P/G} + \mathbf {r}_{C/P}\; = \; & {} \mathbf {r}_{F/N} + \mathbf {r}_{C/F} \end{aligned}$$
(23)

where \(\mathbf {r}_{j/k}\) stands for the position vector of point j with respect to point k.

Taking the first time derivative of Eqs. (21)–(22), and resorting to the transport theorem [16], it is obtained that:

$$\begin{aligned} \mathbf {v} + \varvec{\omega }_{7/0} \times \mathbf {r}_{A/P}\; = \; & {} \varvec{\omega }_{1/0} \times \mathbf {r}_{D/G} + \varvec{\omega }_{2/0} \times \mathbf {r}_{A/D}\end{aligned}$$
(24)
$$\begin{aligned} \mathbf {v} + \varvec{\omega }_{7/0} \times \mathbf {r}_{B/P}\; = \; & {} \varvec{\omega }_{3/0} \times \mathbf {r}_{E/M} + \varvec{\omega }_{4/0} \times \mathbf {r}_{B/E}\end{aligned}$$
(25)
$$\begin{aligned} \mathbf {v} + \varvec{\omega }_{7/0} \times \mathbf {r}_{C/P}\; = \; & {} \varvec{\omega }_{5/0} \times \mathbf {r}_{F/N} + \varvec{\omega }_{6/0} \times \mathbf {r}_{C/F} \end{aligned}$$
(26)

where:

$$\begin{aligned}&\varvec{\omega }_{7/0} = \dot{\phi } \, \mathbf {k}, \,\,\, \varvec{\omega }_{1/0} = \dot{\psi }_1 \mathbf {k}, \,\,\, \varvec{\omega }_{3/0} = \dot{\psi }_2 \mathbf {k}, \,\,\, \varvec{\omega }_{5/0} = \dot{\psi }_3 \mathbf {k},\\\nonumber&\varvec{\omega }_{2/0} = \dot{\theta }_1 \mathbf {k}, \,\,\, \varvec{\omega }_{4/0} = \dot{\theta }_2 \mathbf {k}, \,\,\, \varvec{\omega }_{6/0} = \dot{\theta }_3 \mathbf {k}, \,\,\, \mathbf {v} \equiv \dot{\mathbf {r}}_{P/G} = \dot{x} \, \mathbf {i} + \dot{y} \, \mathbf {j}. \end{aligned}$$

being \(\mathbf {i}\), \(\mathbf {j}\), and \(\mathbf {k}\) unit vectors representing axes X, Y, and Z, respectively, and \(\varvec{\omega }_{i/j}\) represents to the angular velocity vector of body i with respect to body j. Moreover, a dot over a symbol stands for the first time derivative of that symbol, e.g., \(\dot{x} \equiv d x/dt\), where symbol t represents to time.

4.1 Typical Jacobian matrix

Since \(\dot{\theta }_1\), \(\dot{\theta }_2\), and \(\dot{\theta }_3\) are passive joint velocities, they should be eliminated from Eqs. (24)–(26). To this end, Eqs. (24)–(26) are dot-multiplied by vectors \(\mathbf {r}_{A/D}\), \(\mathbf {r}_{B/E}\), and \(\mathbf {r}_{C/F}\), respectively, thus yielding:

$$\begin{aligned}&\mathbf {v} \cdot \mathbf {r}_{A/D} + \dot{\phi } \, (\mathbf {k} \times \mathbf {r}_{A/P}) \cdot \mathbf {r}_{A/D} = \dot{\psi }_1 \, (\mathbf {k} \times \mathbf {r}_{D/G}) \cdot \mathbf {r}_{A/D}&\end{aligned}$$
(27)
$$\begin{aligned}&\mathbf {v} \cdot \mathbf {r}_{B/E} + \dot{\phi } \, (\mathbf {k} \times \mathbf {r}_{B/P}) \cdot \mathbf {r}_{B/E} = \dot{\psi }_2 \, (\mathbf {k} \times \mathbf {r}_{E/M}) \cdot \mathbf {r}_{B/E}&\end{aligned}$$
(28)
$$\begin{aligned}&\mathbf {v} \cdot \mathbf {r}_{C/F} + \dot{\phi } \, (\mathbf {k} \times \mathbf {r}_{C/P}) \cdot \mathbf {r}_{C/F} = \dot{\psi }_3 \, (\mathbf {k} \times \mathbf {r}_{F/N}) \cdot \mathbf {r}_{C/F}&\end{aligned}$$
(29)

Equations (27)–(28) can be arranged in the following matrix array:

$$\begin{aligned} \mathbf {P} \mathbf {u} = \mathbf {Q} \dot{\mathbf {q}} \end{aligned}$$
(30)

where:

$$\begin{aligned} \mathbf {P} \equiv \left[ \begin{array}{ccc} \mathbf {p}_1&\mathbf {p}_2&\mathbf {p}_3 \end{array} \right] , \,\,\, \mathbf {u} = \left[ \begin{array}{c} \dot{x}\\ \dot{y}\\ \dot{\phi } \end{array} \right] , \,\,\, \mathbf {Q} \equiv \left[ \begin{array}{ccc} \mathbf {q}_1&\mathbf {q}_2&\mathbf {q}_3 \end{array} \right] , \,\,\, \quad \dot{\mathbf {q}} = \left[ \begin{array}{c} \dot{\psi }_1\\ \dot{\psi }_2\\ \dot{\psi }_3 \end{array} \right] \end{aligned}$$
(31)

with:

$$\begin{aligned}&\mathbf {p}_1 \equiv \left[ \begin{array}{c} x_A - l_1 \cos \psi _1 \\ x_A + d_1 \cos \phi - k_1 -l_2 \cos \psi _2 \\ x_A + d_2 \cos (\phi + \alpha ) - k_3 -l_3 \cos \psi _3 \end{array} \right] , \end{aligned}$$
(32)
$$\begin{aligned}&\mathbf {p}_2 \equiv \left[ \begin{array}{c} y_A - l_1 \sin \psi _1 \\ y_A + d_1 \sin \phi - k_2 -l_2 \sin \psi _2 \\ y_A + d_2 \sin (\phi + \alpha ) - k_4 -l_3 \sin \psi _3 \end{array} \right] , \,\,\, \mathbf {p}_3 \equiv \left[ \begin{array}{c} \mu _1 \\ \mu _2 \\ \mu _3 \end{array} \right] , \end{aligned}$$
(33)
$$\begin{aligned} \mathbf {q}_1 \equiv \left[ \begin{array}{c} \sigma _1 \\ 0 \\ 0 \end{array} \right] , \,\,\, \mathbf {q}_2 \equiv \left[ \begin{array}{c} 0 \\ \sigma _2 \\ 0 \end{array} \right] , \,\,\, \mathbf {q}_3 \equiv \left[ \begin{array}{c} 0 \\ 0 \\ \sigma _3 \end{array} \right] , \end{aligned}$$
(34)
$$\begin{aligned} \mu _1 \equiv (\mathbf {k} \times \mathbf {r}_{A/P}) \cdot \mathbf {r}_{A/D}, \,\,\, \mu _2 \equiv (\mathbf {k} \times \mathbf {r}_{B/P}) \cdot \mathbf {r}_{B/E}, \,\,\, \mu _3 \equiv (\mathbf {k} \times \mathbf {r}_{C/P}) \cdot \mathbf {r}_{C/F}, \end{aligned}$$
(35)
$$\begin{aligned} \sigma _1 \equiv (\mathbf {k} \times \mathbf {r}_{D/G}) \cdot \mathbf {r}_{A/D}, \,\,\, \sigma _2 \equiv (\mathbf {k} \times \mathbf {r}_{E/M}) \cdot \mathbf {r}_{B/E}, \,\,\, \sigma _3 \equiv (\mathbf {k} \times \mathbf {r}_{F/N}) \cdot \mathbf {r}_{C/F}. \end{aligned}$$
(36)

Solving Eq. (30) for vector \(\mathbf {u}\), which represents the velocity state of the moving platform, leads to:

$$\begin{aligned} \mathbf {u} = \mathbf {J} \dot{\mathbf {q}}, \quad \mathbf {J} \equiv \mathbf {P}^{-1} \mathbf {Q} \end{aligned}$$
(37)

where the \(3 \times 3\) matrix \(\mathbf {J}\) is the typical Jacobian matrix related to the planar 3-RRR parallel manipulator. It is important to observe that matrix \(\mathbf {J}\) is not homogeneous in terms of units, since the columns of matrix \(\mathbf {P}\) do not share the same units. Hence, measures of robot dexterity depending upon eigenvalues and singular values of matrix \(\mathbf {J}\) have no invariant physical meaning [17].

4.2 New homogeneous Jacobian matrix

This section is based on the general idea of separating the rotational and the translational motion, which was previously proposed for the motion performance of spatial manipulators [14]. Thus, Eq. (30) will be regarded as the aggregate of a pair of dimensionally homogeneous systems of equations: (a) two scalar equations for the translational velocity of point P of the mobile platform of the manipulator, namely, \(\mathbf {v} \equiv \dot{\mathbf {r}}_{P/G} = \dot{x} \, \mathbf {i} + \dot{y} \, \mathbf {j}\), and (b) one scalar equation for the angular motion \(\dot{\phi }\) of the moving platform.

The homogenization process begins with the obtaining of the symbolic form of the Jacobian matrix \(\mathbf {J}\), see Eq. (37), which first requires the symbolic form of inverse matrix \(\mathbf {P}^{-1}\), that is:

$$\begin{aligned} \mathbf {P}^{-1} = \frac{1}{(\mathbf {p}_1 \times \mathbf {p}_2) \cdot \mathbf {p}_3} \left[ \begin{array}{c} (\mathbf {p}_2 \times \mathbf {p}_3)^T \\ (\mathbf {p}_3 \times \mathbf {p}_1)^T \\ (\mathbf {p}_1 \times \mathbf {p}_2)^T \end{array} \right] \end{aligned}$$
(38)

where the concept of reciprocal basis [18, 19] has been used. In this way, the original Jacobian matrix \(\mathbf {J}\) becomes:

$$\begin{aligned} \mathbf {J} \equiv \mathbf {P}^{-1} \mathbf {Q} = \frac{1}{(\mathbf {p}_1 \times \mathbf {p}_2) \cdot \mathbf {p}_3} \left[ \begin{array}{ccc} (\mathbf {p}_2 \times \mathbf {p}_3) \cdot \mathbf {q}_1 &{} (\mathbf {p}_2 \times \mathbf {p}_3) \cdot \mathbf {q}_2 &{} (\mathbf {p}_2 \times \mathbf {p}_3) \cdot \mathbf {q}_3 \\ (\mathbf {p}_3 \times \mathbf {p}_1) \cdot \mathbf {q}_1 &{} (\mathbf {p}_3 \times \mathbf {p}_1) \cdot \mathbf {q}_2 &{} (\mathbf {p}_3 \times \mathbf {p}_1) \cdot \mathbf {q}_3 \\ (\mathbf {p}_1 \times \mathbf {p}_2) \cdot \mathbf {q}_1 &{} (\mathbf {p}_1 \times \mathbf {p}_2) \cdot \mathbf {q}_2 &{} (\mathbf {p}_1 \times \mathbf {p}_2) \cdot \mathbf {q}_3 \end{array} \right] = \left[ m_{ij} \right] \end{aligned}$$
(39)

Then Eq. (37) may be divided as follows:

$$\begin{aligned} \left[ \begin{array}{c} \dot{x} \\ \dot{y} \end{array} \right] = \left[ \begin{array}{ccc} m_{11} &{} m_{12} &{} m_{13} \\ m_{21} &{} m_{22} &{} m_{23} \end{array} \right] \left[ \begin{array}{c} \dot{\psi }_1 \\ \dot{\psi }_2 \\ \dot{\psi }_3 \end{array} \right] , \quad \mathbf {v} = \mathbf {N} \dot{\mathbf {q}} \end{aligned}$$
(40)
$$\begin{aligned} \dot{\phi } = m_{31} \dot{\psi }_1 + m_{32} \dot{\psi }_2 + m_{33} \dot{\psi }_3 \end{aligned}$$
(41)

where the symbolic expressions for matrix elements \(m_{ij}\) are given in Eq. (39).

From the foregoing discussion, it may be concluded that the \(2 \times 3\) matrix \(\mathbf {N}\) is the new Jacobian matrix sought. It should be noted that the elements of matrix \(\mathbf {N}\) depend on the columns of the original velocity matrices, namely, matrices \(\mathbf {P}\) and \(\mathbf {Q}\), see Eq. (30). Moreover, the most important feature is that matrix \(\mathbf {N}\) is dimensionally homogeneous. Furthermore, matrix \(\mathbf {N}\) serves to state a direct relationship between the velocity of point P, pertaining to the mobile platform, and the input angular velocities of the manipulator’s actuators. Hence, by resorting to matrix \(\mathbf {N}\), there is no necessity of involving the translational velocities of additional points pertaining to the mobile platform.

5 Optimization of the velocity vector of point P

On the one hand, a manipulator may be considered as a mechanical transformer of motion, where the task to be performed must ultimately be realized as a sequence of motions developed by the actuators [20]. On the other hand, for a given configuration of the manipulator, one may intuitively realize that there are preferred directions for motion of point P. These optimal directions can be quite helpful in planning manipulation tasks [21]. Such directions may be graphically illustrated by means of the so-called velocity ellipsoid.

5.1 Velocity ellipsoid

The velocity ellipsoid is an useful tool for visualizing the velocity transmission characteristics of a manipulator at a specific configuration. To this end, from Eq. (40), one may realize that Jacobian matrix \(\mathbf {N}\) is simply a linear transformation that maps the joint velocity into the translational velocity of the mobile platform.

It is desired to describe the geometric locus of the set of all mobile platform velocities \(\mathbf {v}\) that can be generated by a given set of joint velocities, \(\dot{\mathbf {q}} = (\dot{\psi }_1, \dot{\psi }_2, \dot{\psi }_3)^T\), with the manipulator in a given configuration. To this end, Eq. (40) may be mathematically manipulated as follows. First, it should be noted that Jacobian matrix \(\mathbf {N}\) is not square, and therefore it does not have a direct inverse matrix. Moreover, if Eq. (40) is attempted to be solved for \(\dot{\mathbf {q}}\) in terms of \(\mathbf {v}\), it results in a linear system of two equations in three unknowns. Hence, the system under study admits an infinite number of solutions, i.e., the solution \(\dot{\mathbf {q}}\) for a given \(\mathbf {v}\) is not unique. However, it allows to impose one condition on a specific solution which could be preferred for a designer. A viable solution approach consists in formulating the problem as a constrained linear optimization problem [19, 22]. Thus, assuming that the velocity vector \(\mathbf {v}\) and the new Jacobian matrix \(\mathbf {N}\) are available in some way, it is desired to find the vector of joint velocities \(\dot{\mathbf {q}}\) that satisfy the linear Eq. (40) and simultaneously minimize the quadratic cost functional of joint velocities given by:

$$\begin{aligned} \zeta (\dot{\mathbf {q}}) \equiv \frac{1}{2} \dot{\mathbf {q}} \cdot \dot{\mathbf {q}} \end{aligned}$$
(42)

This problem can be efficiently solved by resorting to the method of Lagrange multipliers. To this end, a vector of unknown Lagrange multipliers \(\varvec{\Lambda }\) is incorporated into the original cost functional (42), thus yielding a new cost functional defined as follows:

$$\begin{aligned} \xi (\dot{\mathbf {q}},\varvec{\Lambda }) \equiv \frac{1}{2} \dot{\mathbf {q}} \cdot \dot{\mathbf {q}} + \varvec{\Lambda }^T (\mathbf {N} \dot{\mathbf {q}} - \mathbf {v}) \end{aligned}$$
(43)

which is subject to no constraints, since the vector of Lagrange multipliers \(\varvec{\Lambda }\) has been cleverly incorporated into the new cost functional, in such a way that there is no violation of velocity constraint represented by Eq. (40), i.e., \(\varvec{\Lambda }^T (\mathbf {N} \dot{\mathbf {q}} - \mathbf {v})=\varvec{\Lambda }^T (\mathbf {0})=\mathbf {0}\).

Summarizing, Eq. (43) represents an unconstrained minimization problem whose unknowns are contained in the components of vectors \(\dot{\mathbf {q}}\) and \(\varvec{\Lambda }\). Thus, the normality condition of the problem at hand, i.e., the necessary condition to satisfy, can be stated as:

$$\begin{aligned} d \xi = \left( \frac{\partial \xi }{\partial \dot{\mathbf {q}}} \right) d\dot{\mathbf {q}} + \left( \frac{\partial \xi }{\partial \varvec{\Lambda }} \right) d \varvec{\Lambda } = 0 \end{aligned}$$
(44)

which can be broken down in the two conditions below:

$$\begin{aligned} \frac{\partial \xi }{\partial \dot{\mathbf {q}}} = \dot{\mathbf {q}} + \mathbf {N}^T \varvec{\Lambda } = \mathbf {0} \end{aligned}$$
(45)
$$\begin{aligned} \frac{\partial \xi }{\partial \varvec{\Lambda }} = \mathbf {N} \dot{\mathbf {q}} - \mathbf {v} = \mathbf {0} \end{aligned}$$
(46)

From Eq. (45), it is obtained that:

$$\begin{aligned} \dot{\mathbf {q}} = - \mathbf {N}^T \varvec{\Lambda } \end{aligned}$$
(47)

Substitution of Eq. (47) in (46) leads to:

$$\begin{aligned} \mathbf {v} = - \mathbf {N} \mathbf {N}^T \varvec{\Lambda } \end{aligned}$$
(48)

Under the assumption that matrix \(\mathbf {N}\) has full rank, the product \(\mathbf {N} \mathbf {N}^T\) results in a nonsingular square matrix, which can be inverted. Solving for \(\varvec{\Lambda }\) yields:

$$\begin{aligned} \varvec{\Lambda } = -(\mathbf {N} \mathbf {N}^T)^{-1} \mathbf {v} \end{aligned}$$
(49)

which, when substituted into Eq. (47) produces the sought optimal solution:

$$\begin{aligned} \dot{\mathbf {q}} = \mathbf {N}^T (\mathbf {N} \mathbf {N}^T)^{-1} \mathbf {v} \end{aligned}$$
(50)

It should be noted that left multiplication of both sides of Eq. (50) by \(\mathbf {N}\) leads directly to the original Eq. (40).

The process continues by taking the dot product of Eq. (50):

$$\begin{aligned} \dot{\mathbf {q}} \cdot \dot{\mathbf {q}} = \dot{\mathbf {q}}^T \dot{\mathbf {q}} = \{ \mathbf {N}^T (\mathbf {N} \mathbf {N}^T)^{-1} \mathbf {v} \}^T \{ \mathbf {N}^T (\mathbf {N} \mathbf {N}^T)^{-1} \mathbf {v} \} \end{aligned}$$
(51)

equation that can be further simplified by resorting to matrix properties \((\mathbf {A} \mathbf {B})^T = \mathbf {B}^T \mathbf {A}^T\), and \((\mathbf {A}^T)^{-1} = (\mathbf {A}^{-1})^T\), thus yielding:

$$\begin{aligned} \mathbf {v}^T \{ (\mathbf {N} \mathbf {N}^T)^{-1} \} \mathbf {v} = \dot{\mathbf {q}} \cdot \dot{\mathbf {q}} \end{aligned}$$
(52)

Now, if the set of joint velocities of constant (unit) norm, given by:

$$\begin{aligned} \dot{\mathbf {q}} \cdot \dot{\mathbf {q}}=1 \end{aligned}$$
(53)

is considered, then the tip of the velocity vector \(\mathbf {v}\) lies on an ellipsoid given by the following equation:

$$\begin{aligned} \mathbf {v}^T \{ (\mathbf {N} \mathbf {N}^T)^{-1} \} \mathbf {v} = 1 \end{aligned}$$
(54)

In general, Eq. (53), which describes the points on the surface of a unit spheroid [23] in the joint velocity space, is mapped into an ellipsoid [20] in the space of velocities of point P defined by Eq. (54). Hence, Eq. (54) is usually known as the velocity ellipsoid.

It is important to remark that, since Jacobian matrix \(\mathbf {N}\) is configuration dependent, the shape of the velocity ellipsoid is also configuration dependent, and as the moving platform moves from one configuration to another, the shape of the velocity ellipsoid changes accordingly [8].

5.2 Characterization of the velocity transmission

For the parallel manipulator under study, the input and output velocities are regarded as the vector of actuated joint velocities, \(\dot{\mathbf {q}}\), and the translational velocity vector \(\mathbf {v}\) of point P, respectively. As it was shown in Sect. 4.2, through Eq. (40), the new Jacobian matrix \(\mathbf {N}\) transforms the three-dimensional vector of actuated joint velocities, \(\dot{\mathbf {q}}\), into a two-dimensional moving platform velocity vector, \(\mathbf {v}\). It could be important to find some way to compare the input and output velocities, i.e., to look for some characterization scheme of the velocity transmission of the manipulator. This could be beneficial for a better understanding of the kinematic behavior of the manipulator. One way to characterize the transmission of velocity is to compare the amplitude and direction of the translational velocity vector \(\mathbf {v}\) generated by a unit vector of actuated joint velocities, i.e., \(\dot{\mathbf {q}} \cdot \dot{\mathbf {q}} = 1\). This is presented next.

5.2.1 Maximum and minimum values of \(\mathbf {v}\)

This section describes an optimization process to compute the maximum and minimum magnitudes of the translational velocity of the mobile platform, which is represented by vector \(\mathbf {v}\). As an additional result, it is also possible to compute the optimal directions for achieving the maximum and the minimum values of velocity vector \(\mathbf {v}\).

First, the square of the magnitude of vector \(\mathbf {v}\), denoted as \(\mathbf {v}^2 \equiv \mathbf {v} \cdot \mathbf {v}\), can be computed from Eq. (40) as follows:

$$\begin{aligned} \mathbf {v}^2 \equiv \mathbf {v} \cdot \mathbf {v} = \mathbf {v}^T \mathbf {v} = \{ \mathbf {N} \dot{\mathbf {q}} \}^T \{ \mathbf {N} \dot{\mathbf {q}} \} = \dot{\mathbf {q}}^T \mathbf {G} \, \dot{\mathbf {q}}, \quad \mathbf {G} \equiv \mathbf {N}^T \mathbf {N} \end{aligned}$$
(55)

which will be considered as the function to be optimized under the following constraint:

$$\begin{aligned} \dot{\mathbf {q}} \cdot \dot{\mathbf {q}} \equiv \dot{\mathbf {q}}^T \dot{\mathbf {q}} = \dot{\psi }_1^2 + \dot{\psi }_2^2 + \dot{\psi }_3^2 = 1 \end{aligned}$$
(56)

Next, a new function \(\mathbf {v}^2_N\) is defined by adjoining the constraint (56) to \(\mathbf {v}^2\) via a Lagrange multiplier \(\lambda \):

$$\begin{aligned} \mathbf {v}^2_N \equiv \dot{\mathbf {q}}^T \mathbf {G} \, \dot{\mathbf {q}} - \lambda (\dot{\mathbf {q}} \cdot \dot{\mathbf {q}}-1) \end{aligned}$$
(57)

Hence, the problem is now reduced to finding the maximum and minimum values of \(\mathbf {v}^2\) subject to constraint \(\dot{\mathbf {q}} \cdot \dot{\mathbf {q}}=1\). The solution to this problem can be obtained by solving:

$$\begin{aligned} \Bigg ( \frac{\partial \, \mathbf {v}^2_N}{\partial \, \dot{\mathbf {q}}} \Bigg )^T = \mathbf {0} \end{aligned}$$
(58)

which is the partial derivative [24] of a scalar, \(\mathbf {v}^2_N\), with respect to a vector, \(\dot{\mathbf {q}}\), thus yielding:

$$\begin{aligned} \mathbf {G} \, \dot{\mathbf {q}}- \lambda \dot{\mathbf {q}} = \mathbf {0} \end{aligned}$$
(59)

It should be noted that, if \(\lambda \) could be known in some way, then Eq. (59) would be linear for \(\dot{\mathbf {q}}\). In fact, if the term \(\lambda \dot{\mathbf {q}}\) is replaced by \(\lambda \mathbf {I} \dot{\mathbf {q}}\), then Eq. (59) becomes:

$$\begin{aligned} (\mathbf {G} - \lambda \mathbf {I} ) \dot{\mathbf {q}}=\mathbf {0} \end{aligned}$$
(60)

where \(\mathbf {I}\) is the \(3 \times 3\) identity matrix.

Since the objective is to obtain vector \(\dot{\mathbf {q}}\) such that \(\dot{\mathbf {q}} \ne \mathbf {0}\), then, to satisfy Eq. (60), the following condition must be fulfilled:

$$\begin{aligned} \det \, (\mathbf {G} - \lambda \mathbf {I} )= 0 \end{aligned}$$
(61)

Notice that Eqs. (59)—(61) represent a well-known mathematic process which is called the eigenvalue problem. In this context, the number \(\lambda \) is called an eigenvalue of the matrix \(\mathbf {G}\), and the vector \(\dot{\mathbf {q}}\), computed from Eq. (60), is the associated eigenvector. Moreover, since \(\mathbf {G}\) is a \((3 \times 3)\) symmetric, and positive definite matrix, it will have three real and positive [25] eigenvalues, \(\lambda _{1}>\lambda _{2}>\lambda _{3}\), which can be computed from Eq. (61). However, since the locus of the image under the transformation is an ellipse, and, the ellipse has only two principal axes, then the eigenvalues will be taken as follows: \(\lambda _{MAX} \equiv \lambda _{1}>\lambda _{MIN} \equiv \lambda _{2}\), and \(\lambda _{3}=0\), i.e., only those eigenvalues whose numerical values are different from zero serve to describe the shape of the ellipse.

On the other hand, from Eq. (59) it is obtained that:

$$\begin{aligned} \mathbf {G} \, \dot{\mathbf {q}}= \lambda \dot{\mathbf {q}} \end{aligned}$$
(62)

equation that, when substituted into equation (55), and by virtue of equation (56), leads to:

$$\begin{aligned} \mathbf {v}^2 = \dot{\mathbf {q}}^T \lambda \dot{\mathbf {q}} = \lambda \dot{\mathbf {q}}^T \dot{\mathbf {q}} = \lambda \end{aligned}$$
(63)

Thus, Eq. (63) allows to compute the maximum and minimum magnitudes of vector \(\mathbf {v}\), which are given as follows:

$$\begin{aligned} || \mathbf {v} ||_{MAX} = \sqrt{\lambda _{MAX}}, \quad || \mathbf {v} ||_{MIN} = \sqrt{\lambda _{MIN}} \end{aligned}$$
(64)

Moreover, the maximum and minimum solutions of Eq. (40) can be written in terms of the eigenvectors associated with matrix \(\mathbf {G}\) as follows:

$$\begin{aligned} \mathbf {v}_{MAX} = \mathbf {N} \, \dot{\mathbf {q}}_{MAX}, \quad \mathbf {v}_{MIN} = \mathbf {N} \, \dot{\mathbf {q}}_{MIN} \end{aligned}$$
(65)

where \(\dot{\mathbf {q}}_{MAX}\) and \(\dot{\mathbf {q}}_{MIN}\) are the eigenvectors corresponding to eigenvalues \(\lambda _{MAX}\) and \(\lambda _{MIN}\), respectively.

Summarizing, Eqs. (64) and (65) provide the magnitude and the direction of the extreme velocities of point P, for any feasible configuration reached by the planar 3-RRR parallel manipulator under study.

5.3 Geometric description of the velocity transformation

In particular, for the manipulator under study, the spheroid represented by Eq. (53) is really a sphere, and, the ellipsoid (54) becomes an ellipse. Thus, from Eq. (40), it can be shown that Jacobian matrix \(\mathbf {N}\) maps a vector of joint velocities \(\dot{\mathbf {q}}\), inscribed in the unit sphere \(\dot{\mathbf {q}} \cdot \dot{\mathbf {q}} = 1\), in \(\mathfrak {R}^3\), onto an ellipse in \(\mathfrak {R}^2\), given by Eq. (54), as it is graphically illustrated in Fig. 4.

Fig. 4
figure 4

Geometric visualization of the linear mapping \(\mathbf {v}= \mathbf {N} \dot{\mathbf {q}}\)

As it is graphically shown in Fig. 4, there are only a maximum and a minimum of velocity vector \(\mathbf {v}\), which are located along the principal axes of an ellipse and determine its shape. Moreover, in the direction of the major axis of the ellipse, point P can move at high speed. On the other hand, in the direction of the minor axis point P can move only at low speed. If the ellipse is almost a circle, point P can move in all directions uniformly. Furthermore, the larger the ellipse is, the faster point P can move [26].

It is also important to distinguish optimal directions for developing velocity from those for controlling velocity. The optimal direction for effecting velocity is along the major axis of the ellipse, where the transmission ratio is at maximum. Conversely, the velocity is most accurately controlled along the minor axis of the ellipse, where the transmission it at minimum [20].

6 Case study

The objective of this section is to show the applicability of the foregoing mathematical formulation. Since the pursuing results are of numerical nature, there are required the numerical values of the geometrical dimensions of the manipulator. On this regard, it was arbitrarily constructed a computer solid model of the manipulator, whose geometrical dimensions are:

$$\begin{aligned}&l_1 = l_2 = l_3 = 1.00 \, \text {m}, L_1 = L_2 = L_3 = 1.00 \, \text {m}, d_1 = 1.00 \, \text {m}, d_2 = 1.00 \, \text {m}, \alpha = 30^{\circ },\\\nonumber&R_A = R_B = R_C = 0.57 \, \text {m}, \alpha _A=30^{\circ }, \alpha _B=150^{\circ }, \alpha _C=90^{\circ }. \end{aligned}$$

The solid model of the manipulator is shown in Fig. 5.

Fig. 5
figure 5

Computer solid model of the planar 3-RRR parallel manipulator

Fig. 5 shows an arbitrarily selected configuration of the manipulator for which the angles produced by the actuators take the following numerical values, \(\psi _1 = 343.30^{\circ }\), \(\psi _2 = 88.19^{\circ }\), and \(\psi _3 = 203.04^{\circ }\).

6.1 Velocity ellipse

The purpose of this section is to show the compatibility between the theoretical results introduced in Sects. 5.1 and 5.2.1. To this end, there is proposed the following methodology.

  1. 1.

    Directly, from Eq. (65), there are computed the optimum velocity vectors \(\mathbf {v}_{MAX} = (0.4086, 0.7677)^T\), and \(\mathbf {v}_{MIN} = (-0.6515, 0.3467)^T\), see Sect. 5.2.1. The velocities are given in meters per second. A graphical description of these vectors is shown in Fig. 6a.

  2. 2.

    Equation (54) takes the form \(1.7222 \, \dot{x}^2 - 0.4261 \, \dot{x} \, \dot{y} + 1.4352 \, \dot{y}^2 - 1=0\), see Sect. 5.1. The resulting geometric figure is the ellipse shown in Fig. 6b.

  3. 3.

    Insertion of Fig. 6a into Fig. 6b, leads to figure Fig. 6c.

Fig. 6
figure 6

Illustration of: a velocity vectors \(\mathbf {v}_{MAX}\) and \(\mathbf {v}_{MIN}\), b resulting ellipse, (c) vectors \(\mathbf {v}_{MAX}\) and \(\mathbf {v}_{MIN}\) inscribed into the ellipse

As it is shown in Fig. 6c, velocity vectors \(\mathbf {v}_{MAX}\) and \(\mathbf {v}_{MIN}\) lie along the major and minor axes of the ellipse, respectively. Thus, Fig. 6 may be considered as a graphical verification of that the tip of the velocity vector of the mobile platform lies on a two dimensional ellipse whose symbolic formula is given by Eq. (54), thus showing the compatibility between the theoretical results introduced in sections 5.1 and 5.2.1.

6.2 Velocity ellipse distribution

The velocity ellipse is an useful geometric tool to visualize the velocity transmission characteristics of the manipulator at an specific configuration. As it would be expected, the shape of the velocity ellipse changes continuously within the manipulator’s workspace, see Fig. 7. As far as the shape of the velocity ellipse changes, the magnitude of the velocity vector of point P also changes.

Fig. 7
figure 7

Velocity ellipse distribution

From Fig. 7, it should be noted that the shape of the velocity ellipse is long and narrow near the boundaries of the reachable workspace. It also can be seen that when point P is near the boundary of the reachable workspace, the major axis of the velocity ellipse points out almost tangentially, whereas the minor axis of the velocity ellipse points out radially.

6.3 Distribution of maximum velocity

The magnitude of the maximum velocity vector, \(\Vert \mathbf {v}\Vert _{MAX}\), given by Eq. (64), can be calculated over the whole workspace, which yields the plot shown in Fig. 8.

Fig. 8
figure 8

Maximum velocity distribution

The numerical data leading to the distribution of the minimum velocity of point P is shown in Fig. 8. It was observed that the maximum magnitude of the velocity vector \(\mathbf {v}_{MAX}\) is equal to \(5.9014 \, \text {m/s}\), and it is reached at position \(x = 1.96 \, \text {m}, y = 1.2653 \, \text {m}\), see the square box shown in Fig. 8. This particular position may be regarded as a good choice for the home position of the planar 3-RRR parallel manipulator if the designer’s purpose is based on a maximal velocity criterion. Moreover, to facilitate its visualization, other points were heuristically selected and they are marked with stars in Fig. 8.

6.4 Distribution of minimum velocity

The magnitude of the minimum velocity vector, \(\Vert \mathbf {v}\Vert _{MIN}\), given by Eq. (64), can be calculated over the whole workspace, which yields the plot shown in Fig. 9.

Fig. 9
figure 9

Minimum velocity distribution

The numerical data leading to the distribution of the minimum velocity of point P is shown in Fig. 9. It was observed that the minimum magnitude of the velocity vector \(\mathbf {v}_{MIN}\) is equal to \(0.60009 \, \text {m/s}\), and it is reached at position \(x = 1.95 \, \text {m}, y = 1.01 \, \text {m}\), see the triangle shown in Fig. 9. This particular position may be regarded as a good choice for the home position of the planar 3-RRR parallel manipulator if the designer’s purpose is based on an accurate control criterion. Moreover, to facilitate its visualization, other points were heuristically selected and they are marked with big dots in Fig. 9.

7 Conclusions

It has been introduced a new dimensionally homogeneous Jacobian matrix for the planar 3-RRR parallel manipulator. The proposed matrix is simpler and more compact, when compared with other Jacobian matrices reported in literature. The proposed approach may be considered as a means of representing motion performance characteristics of the planar 3-RRR parallel manipulator in such a way that the performance characteristics are quantified analytically and illustrated graphically to the designer during the conceptual design stage. In addition, it may serve to position the manipulator in such a way that it is best able to respond to motion control commands, and it can be very helpful in planning manipulation tasks and provide the foundations for a better understanding of the kinematic behavior of the manipulator.