Keywords

1 Introduction

Multiple criteria were considered in sphericalparallel Manipulator (SPM) design such as workspace [1], dexterity [2], precision [3], and singularity free space [4].

In addition to serial singularities; the 3-RRR SPM has parallel singularities within its workspace [5], this generates many control problems and has negatives effects on the dexterity. The serial singularities could be avoided by enlarging the workspace through bigger manipulator in order to largely cover the desired workspace. However; singularities inside the workspace have to be treated differently by optimizing the manipulator design parameters. For a teleoperation application [2], a 3-RRR architecture (Fig. 1) was adopted in order to realize surgical tasks through the reproduction of a surgery expertmotion. This application needs a high precision; dexterity and especially an optimal control of the system. This can be only with a free singularity workspace.

Fig. 1.
figure 1

Kinematics of 3-RRR

In this scope; this paper presents an optimization process of the 3-RRR SPM in order to obtain the design parameters that give high level dexterity and a singularity free workspace.

In the next section, the kinematics of the SPM is presented and the design parameters are identified the Optimization problem is then detailed and multiple iterations with different conditions were realized. The first optimization aimed a prescribed workspace with maximum dexterity; the second one considered additionally obtaining a singularity free workspace. Results were finally discussed.

2 Kinematics of the 3-RRR

The 3-RRR SPM is based on a mobile platform over three identical open kinematic chains or legs (Fig. 1). Every chain is composed of three revolute joints with axes intersecting in one point called center of the robot. The axes of the base joints are orthogonal while, on the mobile platform, they are at a 120° angle.

The orientation of the platform is given by the ZXZ configuration of the EULER angles: \( \left[ {\uppsi,\,\uptheta,\,\varphi } \right] \). (Boudreau, 2004)

For a leg \( k \) the three joints are distributed as shown in Fig. 2 with \( \varvec{Z}_{{\varvec{ik}}} \) the axe of the ith joint and \( \varvec{Z}_{\varvec{E}} \) axe of the platform given by

Fig. 2.
figure 2

One Leg parameters of 3-RRR

$$ {\text{Z}}_{\text{E}} = \left[ {\begin{array}{*{20}c} {\text{sin}\left(\Psi \right){ \sin }\left(\uptheta \right)} \\ { - \cos \left(\Psi \right){ \sin }\left(\uptheta \right)} \\ {{ \cos }\left(\uptheta \right)} \\ \end{array} } \right] $$
(1)

The joints parameters of each leg are \( \theta_{1k} \theta_{2k} ,\theta_{3k} \left( {k = 1,2,3} \right) \).

2.1 Inverse Geometric Model

The inverse geometric model of the SPM developed previously in (A. Chaker, 2012) was obtained through the relation:

$$ \varvec{Z}_{3K} .\varvec{Z}_{2K} = { \cos }(\beta ) $$
(2)

A three equations system was then derived:

$$ \left\{ {\begin{array}{*{20}c} {f_{1} = A_{1} .cos \left( {\theta_{1A} } \right) + B_{1} .\sin \left( {\theta_{1A} } \right) + C_{1} } \\ {f_{2} = A_{2} .cos \left( {\theta_{1B} } \right) + B_{2} .\sin \left( {\theta_{1B} } \right) + C_{2} } \\ {f_{3} = A_{3} .cos \left( {\theta_{1C} } \right) + B_{3} .\sin \left( {\theta_{1C} } \right) + C_{3} } \\ \end{array} } \right. $$
(3)

With \( Ci \): as constants (\( i = 1..3 \)). The solutions of this system are conditioned with the relation that defines workspace frontiers:

$$ \left( {\frac{{C_{i}^{2} }}{{A_{i}^{2} + B_{i}^{2} }}} \right) \le 1 $$
(4)

2.2 Kinematics Model

The kinematic formulation is derived from Eq. 2 (A. Chaker, 2012):

$$ \dot{\varvec{Z}}_{2K} \varvec{.\dot{Z}}_{3K} + \dot{\varvec{Z}}_{3K} \varvec{.\dot{Z}}_{2K} = 0 $$
(5)

The following system is then obtained:

$$ \text{B}.\varvec{\dot{q} = }{\text{A}} .\varvec{\omega} $$
(6)

With  \( \dot{\varvec{q}} = [\dot{\theta }_{1A} \dot{\theta }_{1B} \dot{\theta }_{1C} ]^{T} \) the joints velocity and

B = diag [\( (Z_{1A} \wedge Z_{2A} ) \).\( Z_{3A} (Z_{1B} \wedge Z_{2B} ) \).\( Z_{3B} (Z_{1C} \wedge Z_{2C} ) \).\( Z_{3C} ]\)

A = [(\( Z_{3A} \wedge Z_{2A} )^{T} (Z_{3B} \wedge Z_{2B} )^{T} (Z_{3C} \wedge Z_{2C} )^{T} ]^{T} \)

And \( \varvec{\omega} \) the angle velocity of the platform defined in the global basis

The kinematics of the robot can be written as function of the jacobian matrix J as follow

$$ \varvec{\omega}= (\varvec{A}^{ - 1} .{\text{B}}).\dot{\varvec{q}} = \varvec{J}.\dot{\varvec{q}} $$
(7)

3 Optimization

The optimization is realized for a desired workspace having the platform axis \( \varvec{Z}_{\varvec{E}} \) able to evoluate on a cone with a 30° half angle. The considered objective functions in this optimization process are: the prescribed workspace accessibility function, the power function, the dexterity function and the singularity function.

3.1 The Accessibility Objective Function

This function is based on the accessibility constraint and helps verifying either the platform position belongs to the desired workspace or not. It is described as:

$$ {\text{F}}1 = \sum\nolimits_{\varvec{j}}^{\varvec{N}} {\sum\nolimits_{\varvec{i}}^{3} {\varvec{\omega i}({\text{Y,}}\varvec{P}_{\varvec{j}} )} } $$
(8)

With \( \varvec{ \omega i}({\mathbf{Y}},\varvec{P}_{\varvec{j}} ) = \left\{ {\begin{array}{*{20}l} {0\,si\,CDi \left( {\varvec{Y},\varvec{P}_{\varvec{j}} } \right) \le 0} \hfill \\ {cf\,si\,CDi \left( {\varvec{Y},\varvec{P}_{\varvec{j}} } \right) > 0} \hfill \\ \end{array} } \right. \)

Y is the design vector \( {\text{Y}} = [\alpha \beta ] \), \( {\text{CDi}}\left( {{\text{Y}},{\text{Pj}}} \right) = \left( {{\text{C}}_{\text{i}}^{2} - \left( {{\text{A}}_{\text{i}}^{2} + {\text{B}}_{\text{i}}^{2} } \right)} \right) \)

\( {\text{Pj}} \) is a given orientation of the platform

\( j = 1..N \): the number of orientations of the platform defined by \( {Pj = \psi },\,\uptheta,\,\varphi \) and cf a high value constant attributed as penalty to candidate manipulate or enable to reach the prescribed conic workspace.

3.2 The Power Objective Function

This function is used to evaluate the distance between the SPM reachable workspace and the prescribed one. Minimizing this function leads to a manipulator which workspace is as close as possible to the desired one. It is formulated as follow:

$$ {\mathbf{F}}{\mathbf{2}} = \sum\nolimits_{\varvec{j}}^{\varvec{N}} {\sum\nolimits_{\varvec{i}}^{3} {\left| {\frac{{{\text{C}}_{\text{i}}^{2} ({\text{Y,}}P_{j} )}}{{{\text{A}}_{\text{i}}^{2} \left( {{\text{Y,}}P_{j} } \right) + {\text{B}}_{\text{i}}^{2} \left( {{\text{Y,}}P_{j} } \right)}}} \right|} } $$
(9)

3.3 Dexterity Objective Function

The dexterity traduces the capacity of a robot to realize, with high precision, small and arbitrary displacements around a position in a desired workspace. The inverse of the local condition number of the Jacobian matrix \( K\left( J \right) \) is used as index to measure dexterity

$$ \varvec{K}\left( \varvec{J} \right) = \left\| J \right\|.\left\| {J^{T} } \right\| $$
(10)

The manipulator dexterity is then represented as function of the sum of the condition numbers:

$$ {\text{F}}3 = \sum\nolimits_{{\varPsi_{min} }}^{{\varPsi_{max} }} {\sum\nolimits_{{\theta_{min} }}^{{\theta_{max} }} {1/K ( {\text{Y,}}P_{{\left( {\varPsi ,\theta } \right)}} )} } $$
(11)

With \( \varPsi_{min} \), \( \varPsi_{max} \) the limit values of the \( \varPsi \) angle range; \( \theta_{min} , \theta_{max} \): the limit values of the \( \theta \) angle range;

3.4 Singularity Objective Function 

This function ensures the requirement of a singularity free desired workspace. They are tolerated only outside of the prescribed workspace where kinematic performance has to be optimal. We focus on parallel singularities defined as orientations distance that reduces the Det(A) to zero. The function F4 calculates the number of singularity positions for every candidate manipulator by verifying the condition (Det(A) = 0). This function is written as follow:

$$ {\mathbf{F}}{\mathbf{4}} = \sum\nolimits_{{\varPsi_{min} }}^{{\varPsi_{max} }} {\sum\nolimits_{{\theta_{min} }}^{{\theta_{max} }} {S{{(\bf{Y},}}P_{{\left( {\varPsi ,\theta } \right)}} ) } } $$
(12)

with: \( \varvec{S}\text{(}{\text{Y}},P_{{\left( {\varvec{\varPsi},\varvec{\theta}} \right)}} ) = \left\{ {\begin{array}{*{20}l} 0 \hfill & {if\,{\text{Det}}\left( {\text{A}} \right) \ne 0} \hfill \\ 1 \hfill & {if\,{\text{Det}}\left( {\text{A}} \right) = 0} \hfill \\ \end{array} } \right. \)

4 First Optimization : Dexterity

The first optimization, named Optimization 1, is operated with the three objective functions F1, F2etF3. The aim is to have an optimal structure able to cover all the desired workspace and guarantee a high level of local dexterity. The optimization problem is then written as:

$$ {\mathbf{Min}}\,{\mathbf{f}} = {\mathbf{min}}\left[ {{\mathbf{f}}\left( {\mathbf{1}} \right) \, {\mathbf{f}}\left( {\mathbf{2}} \right)} \right] $$
$$ \bullet \quad {\mathbf{f}}\left( {\mathbf{1}} \right) = {\mathbf{F}}{\mathbf{1}} + {\mathbf{F}}{\mathbf{2}} $$
$$ \bullet \quad {\mathbf{f}}\left( {\mathbf{2}} \right) = {\mathbf{F}}{\mathbf{3}} $$

Optimization 1 with \( \varphi \text{ } = 0{^\circ } \):

We obtain the design parameter vector: \( Y_{opt} = \left[ {{\mathbf{38}}{\mathbf{.}}{\mathbf{86}}^\circ \,{\mathbf{31}}{\mathbf{.}}{\mathbf{07}}^\circ \,{\mathbf{17}}{\mathbf{.}}{\mathbf{31}}^\circ } \right] \)

Figure 3 shows the dexterity distribution in the workspace. The maximum dexterity value is 0.42 with a mean value of 0.2127. The desired workspace, represented in yellow on the Fig. 4, is completely reachable and is free of singularities.

Fig. 3.
figure 3

Dexterity distribution for \( {\varphi } = 0 \)

Fig. 4.
figure 4

Workspace for \( {\varphi } = 0 \). (Color figure online)

Other self rotation angles were tested with the resulting manipulator, for a value of \( \varvec{\varphi } = {\mathbf{50}}^\circ \) we have the workspace in Fig. 5. We notice the reduction of the manipulator workspace size which affects the prescribed workspace accessibility and the appearance of a consistent singularity zone (in red) in the center of the workspace.

Fig. 5.
figure 5

Workspace for \( {\varphi } = 50 \). (Color figure online)

Local dexterity falls to a maximum of 0.22 and a dissymmetrical distribution appears with very low values in the center of the workspace Fig. 6. This corresponds clearly to the singularity zone.

Fig. 6.
figure 6

Dexterity distribution for \( {\varphi } = 50 \)

These results make clear the effect of self rotation angle on the SPM performance. Examining the effect of this parameter on the optimization results is then a necessity. Two symmetrical values were taken: \( \varphi = \pm 50^\circ \) in order to enlarge the range of optimization and find better design vector candidates with angles \( \alpha , \beta {\text{et}}\gamma \) leading to better dexterity performance and singularity free workspace

Optimization 1 pour \( \varphi \text{ } = 50{^\circ } \):

The design vector resulting is \( Y_{opt} = \left[ {{\mathbf{38}}{\mathbf{.}}{\mathbf{76}}^\circ \,{\mathbf{37}}{\mathbf{.}}{\mathbf{76}}^\circ \,{\mathbf{29}}{\mathbf{.}}{\mathbf{99}}^\circ } \right] \)

With a maximum value of dexterity 0.39 and 0.1357 as mean value (Fig. 7)

Fig. 7.
figure 7

Dexterity distribution for \( {\varphi } = 50^\circ \)

We notice also a dissimitrical distribution of the dexterity;but we have a desired workspace competely reachable (Fig. 8).

Fig. 8.
figure 8

Workspace for \( {\varphi } = 50^\circ \)

Optimization pour \( \varphi \text{ } = - 50{^\circ } \):

In this case; the resulting vector is \( Y_{opt} = \left[ {{\mathbf{39}}{\mathbf{.}}{\mathbf{79}}^\circ \,{\mathbf{39}}{\mathbf{.}}{\mathbf{7}}^\circ \,{\mathbf{29}}{\mathbf{.}}{\mathbf{16}}^\circ } \right] \). The maximum dexterity value is 0.5 with a mean of 0.2830 (Fig. 9) and a resulting workspace covering the entire desired one (Fig. 10).

Fig. 9.
figure 9

Dexterity for optimization 1 and t\( {\varphi } = - 50 \)

Fig. 10.
figure 10

Workspace for optimization 1 \( {\varphi } = - 50^\circ \)

5 Second Optimization: Dexterity

The second optimization, named Optimization 2, is launched considering the three objective functions to minimize F1, F2 and F4.we formulate the problem as follow:

$$ {\mathbf{Min}}\,{\mathbf{f}} = {\mathbf{min}}\left[ {{\mathbf{f}}\left( {\mathbf{1}} \right) \, {\mathbf{f}}\left( {\mathbf{2}} \right)} \right] $$
$$ \bullet \quad {\mathbf{f}}\left( {\mathbf{1}} \right) = {\mathbf{F}}{\mathbf{1}} + {\mathbf{F}}{\mathbf{2}} $$
$$ \bullet \quad {\mathbf{f}}\left( {\mathbf{2}} \right) = {\mathbf{F}}{\mathbf{4}} $$

the same desired workspace is aimed and the three self rotation values \( \varphi = 0^\circ,50^\circ, - 50^\circ \) are considered.

Optimization 2 for \( \varvec{\varphi} = {\mathbf{0}}^\circ . \)

The optimum solution resultis \( Y_{opt} = \left[ {{\mathbf{38}}.{\mathbf{88}}^\circ \,{\mathbf{38}}. \, {\mathbf{6}}^\circ \,{\mathbf{20}}.{\mathbf{58}}^\circ } \right] \)

Considering Fig. 11, dexterity reaches a maximum of 0.49 and the mean value is 0.2452. Figure 12 shows that the prescribed workspace is totally covered and singularity zones were discarded out of the useful workspace.

Fig. 11.
figure 11

Dexterity for optimization 2, \( {\varphi } = 0 \)

Fig. 12.
figure 12

Workspace for optimization 2, \( {\varphi } = 0 \)

Optimization 2 for \( \varphi = - 50^\circ \):

The optimum solution obtained is: \( Y_{opt} = \left[ {{\mathbf{39}}{\mathbf{.}}{\mathbf{77}}^\circ \,{\mathbf{39}}{\mathbf{.}}{\mathbf{61}}^\circ \,{\mathbf{27}}{\mathbf{.}}{\mathbf{34}}^\circ } \right] \)

The dexterity distribution regain in symmetry with a maximum value of 0.49, (Fig. 13). Figure 14 shows the prescribed workspace covered by the manipulator

Fig. 13.
figure 13

Dexterity for optimization 2, \( {\varphi } = - 50^\circ \)

Fig. 14.
figure 14

Workspace for optimization 2, \( {\varphi } = - 50^\circ \)

6 Conclusion

This paper discussed the optimization process if a 3-RRR SPM. We concluded that all the three parameters have to be considered: the prescribed task workspace; the dexterity and avoiding singularity zones. Design vectors were determined for the two first parameters and performances were discussed. A clear effect of the self rotation angle on the dexterity and the singularity zone was noticed. The optimization process where then reconducted for three values of \( \varvec{\varphi}. \) The optimum design vector showed better performance by reaching the desired workspace with better dexterity and a singularity free workspace. Otherwise, discarding singularity out of the useful workspace induces a rise of the design parameters and then a bigger manipulator.