acmlicensed 2024 XXXXXXXXX MAPLETRANS X Y Z 0

# On the Certification of the Kinematics of 3-DOF Spherical Parallel
Manipulators

Alexandre Lê<EMAIL_ADDRESS><EMAIL_ADDRESS>Safran
Electronics & Defense 100 avenue de Paris Massy Île-de-France France 91344
Sorbonne Université, Université de Paris Cité, Institut de Mathématiques de
Jussieu Paris Rive Gauche 4 place Jussieu Paris Île-de-France France 75252
CEDEX 05  Inria Paris 2 rue Simone Iff Paris Île-de-France France 75012  ,
Damien Chablat<EMAIL_ADDRESS>LS2N, UMR CNRS Nantes France  ,
Guillaume Rance<EMAIL_ADDRESS>Safran Electronics & Defense
100 avenue de Paris Massy Île-de-France France 91344  and  Fabrice Rouillier
<EMAIL_ADDRESS>Sorbonne Université, Université de Paris Cité,
CNRS, Institut de Mathématiques de Jussieu Paris Rive Gauche 4 place Jussieu
Paris Île-de-France France 75252 CEDEX 05  Inria Paris 2 rue Simone Iff Paris
Île-de-France France 75012

(2024)

###### Abstract.

Abstract. This paper aims to study a specific kind of parallel robot:
Spherical Parallel Manipulators (SPM) that are capable of unlimited rolling. A
focus is made on the kinematics of such mechanisms, especially taking into
account uncertainties (e.g. on conception & fabrication parameters, measures)
and their propagations. Such considerations are crucial if we want to control
our robot correctly without any undesirable behavior in its workspace (e.g.
effects of singularities). In this paper, we will consider two different
approaches to study the kinematics and the singularities of the robot of
interest: symbolic and semi-numerical. By doing so, we can compute a
singularity-free zone in the work- and joint spaces, considering given
uncertainties on the parameters. In this zone, we can use any control law to
inertially stabilize the upper platform of the robot.

###### Key words and phrases:

parallel robots, non-linear systems, polynomial systems, singularity,
kinematics, certification, inertial stabilization

<ccs2012> <concept> <concept_id>10010520.10010553.10010554</concept_id>
<concept_desc>Computer systems organization Robotics</concept_desc>
<concept_significance>500</concept_significance> </concept> <concept>
<concept_id>10010147.10010148.10010164.10010168</concept_id>
<concept_desc>Computing methodologies Representation of
polynomials</concept_desc> <concept_significance>500</concept_significance>
</concept> <concept>
<concept_id>10010147.10010341.10010342.10010343</concept_id>
<concept_desc>Computing methodologies Modeling methodologies</concept_desc>
<concept_significance>500</concept_significance> </concept> <concept>
<concept_id>10010147.10010341.10010342.10010344</concept_id>
<concept_desc>Computing methodologies Model verification and
validation</concept_desc> <concept_significance>500</concept_significance>
</concept> <concept>
<concept_id>10010147.10010341.10010342.10010345</concept_id>
<concept_desc>Computing methodologies Uncertainty
quantification</concept_desc> <concept_significance>500</concept_significance>
</concept> </ccs2012>

[500]Computer systems organization Robotics [500]Computing methodologies
Representation of polynomials [500]Computing methodologies Modeling
methodologies [500]Computing methodologies Model verification and validation
[500]Computing methodologies Uncertainty quantification

##  1\. Context of the study

###  1.1. Introduction

In order to take a panorama picture on a moving career using high definition
cameras, a classical approach is to use a gimbal system Hilkert, (2008);
Masten, (2008). Gimbal systems can be regarded as serial robots and provide up
to 3 DOF (yaw, pitch, roll). However, those ones are limited by their
architectures: stabilizing the camera means stabilizing a mass which
downgrades the quality of inertial stabilization. If we want to improve the
inertial stablization of such devices (in terms of quality and even DOF), a
solution can found by studying other architectures: parallel robots.

###  1.2. Generalities on parallel robots

_Parallel robots_ are defined in Leinonen, (1991) as robots that control the
motion of their end-effectors by means of at least two kinematic chains going
from the end-effector towards the fixed base. In other words, parallel robots
are manipulators that are composed of two plateforms: one at the base and the
other at the top called the _moving platform_. These platforms are connected
by $n$ kinematic chains that can be regarded as robot legs. Each kinematic
chain has joints $A_{ij}$ that can be either motorized with actuactors (we
call them _active joints_) – or not (we call them _passive joints_). Finally,
two consecutive joints are linked by a _body_. A typical kinematic chain of a
parallel robot is depicted in Figure 1.

[scale=0.85]TikZ/robot_parallele_structure

Figure 1. General structure of a parallel robot

Due to their architecture, parallel robots are mechanisms presenting very good
performance in terms of dynamics, stiffness and accuracy to manipulate large
loads. Moreover, such architectures also make it possible to reduce the mass
of the movable links. Indeed, all the actuators are mainly fixed on the base
and many parts are subject to traction/compression constraints to the extent
that it possible to use less powerful actuators. Such nice properties are very
suitable for our applications. First appearance of parallel robots are
hexapods (in the middle of the 20th century) that are basically used for
flight simulations or pneumatic testing using their prismatic legs. However,
as they were less widespread than their serial counterparts, studies and
knowledge about their modeling had been limited even if they are gaining
interests in the recent years (medical, food industry, etc.).

###  1.3. Generalities on SPMs

There is no unique way Merlet, (2006); Khalil and Briot, (2015) to classify
parallel robots (some authors speak in terms of the number of DOF while others
focus on their types, e.g. revolute or prismatic joints). In this paper, we
will especially study a specific type of parallel robots: _Spherical Parallel
Manipulators_ (SPM) that are non-redundant111the number of actuators
corresponds to the DOF. SPMs only make rotational motions with their revolute
joints. In the special case of non-redundant SPMs, the mobile platform has 3
DOF that we will call _orientation_. The following figures illustrate some
remarkable (non-redundant) SPMs:

  * •

Fig. 2(a) depicts the _agile eye_ by Gosselin and Hamel, (1994) ;

  * •

Fig. 2(b) depicts the _agile wrist_ by Shintemirov et al., (2015) ;

  * •

Fig. 2(c) depicts the _agile wrist with coaxial input shafts_ by Tursynbek et
al., (2019).

(a) Agile eye

(b) Agile wrist

(c) Coaxial agile wrist

Figure 2. Examples of non-redundant SPMs (3-RRR)

The last type of SPM is particularly suitable for our case since it allows
unlimited rolling that can be useful to obtain a panorama while stabilizing
the upper platform in the same time. However, all the non-redundant SPMs have
the same modeling that will be detailled in the next section.

##  2\. Modeling of a non-redundant 3-DOF SPM

###  2.1. Description

[scale=0.7]TikZ/poignet_agile_sc_rep_with_etas

Figure 3. Illustration of a typical SPM with conception paramaters (red $+$
green), local frames (dark blue)

Before modeling the SPM, let us describe the robot in terms of conception
parameters and frames. Figure 3 illustrates a typical SPM where these elements
are shown. According to this figure, any SPM can be described as a manipulator
that has two platforms connected with 3 legs. Each leg has 2 links (or body)
and an actuated joint at its base. The actuated joint variables (angles) will
be denoted as $\theta_{i}$ for the $i$th leg. This figure also highlights the
fact that SPMs only make pure rotations around $O$ called _center of rotation_
of the SPM. Using this property, their motions can be described with only
vectors. Those vectors must be expressed in the same frame. For convinience,
we will express all the vectors and coordinates in the reference frame
$\mathcal{F}_{0}\triangleq\left(O,\bm{x}_{0},\bm{y}_{0},\bm{z}_{0}\right)$.

There are three types of vectors: the ones describing the base denoted as
$\bm{u}_{i}$, the ones describing the moving platform denoted as $\bm{v}_{i}$
and the ones describing the intermediate joints denoted as $\bm{w}_{i}$, with
$i\in\left\llbracket 1,3\right\rrbracket$. All these vectors are concurrent in
$O$.

First $\prescript{0}{}{\bm{u}_{i}}$ (i.e. $\bm{u}_{i}$ w.r.t.
$\mathcal{F}_{0}$) can be obtained using the following transformations:

$\displaystyle\prescript{0}{}{\bm{u}_{i}}$
$\displaystyle=\bm{R}_{z}{\left(\eta_{i}\right)}\,\bm{R}_{x}{\left(\beta_{1}-\pi\right)}\,\prescript{0}{}{\bm{z}_{0}}$
(1)
$\displaystyle=\left[\;\begin{matrix}-\sin\left(\eta_{i}\right)\sin\left(\beta_{1}\right)\\\
\cos\left(\eta_{i}\right)\sin\left(\beta_{1}\right)\\\
-\cos\left(\beta_{1}\right)\end{matrix}\;\right]$

where $\bm{R}_{x}$ (resp. $\bm{R}_{y}$ and $\bm{R}_{z}$) denotes the rotation
matrix around the local $x$-axis (resp. $y$\- and $z$-axis). Then, vectors
$\bm{w}_{i}$ w.r.t. frame $\mathcal{F}_{0}$ can be expressed as:

$\displaystyle\prescript{0}{}{\bm{w}_{i}}$
$\displaystyle=\bm{R}_{z}{\left(\eta_{i}\right)}\,\bm{R}_{x}{\left(\beta_{1}-\pi\right)}\,\bm{R}_{z}{\left(\theta_{i}\right)}\,\bm{R}_{x}{\left(\alpha_{1}\right)}\,\prescript{0}{}{\bm{z}_{0}}$
(2)
$\displaystyle=\left[\;\begin{matrix}-\sin{\left(\eta_{i}\right)}\sin{\left(\beta_{1}\right)}\cos{\left(\alpha_{1}\right)}+\sin{\left(\alpha_{1}\right)}\left[\cos{\left(\eta_{i}\right)}\sin{\left(\theta_{i}\right)}-\sin{\left(\eta_{i}\right)}\cos{\left(\beta_{1}\right)}\cos{\left(\theta_{i}\right)}\right]\\\
\cos{\left(\eta_{i}\right)}\sin{\left(\beta_{1}\right)}\cos{\left(\alpha_{1}\right)}+\sin{\left(\alpha_{1}\right)}\left[\sin{\left(\eta_{i}\right)}\sin{\left(\theta_{i}\right)}+\cos{\left(\eta_{i}\right)}\cos{\left(\beta_{1}\right)}\cos{\left(\theta_{i}\right)}\right]\\\
\sin{\left(\beta_{1}\right)}\cos{\left(\theta_{i}\right)}\sin{\left(\alpha_{1}\right)}-\cos{\left(\alpha_{1}\right)}\cos{\left(\beta_{1}\right)}\end{matrix}\;\right]$

Finally, the moving platform vectors $\prescript{0}{}{\bm{v}_{i}}$ are:

$\prescript{0}{}{\bm{v}_{i}}=\bm{M}\,\bm{R}_{z}{\left(\eta_{i}\right)}\,\bm{R}_{x}{\left(-\beta_{2}\right)}\,\prescript{0}{}{\bm{z}_{0}}$
(3)

where $\bm{M}$ denotes the orientation matrix of the mobile platform and can
be expressed using several formalisms (Euler angles, Tait-Bryan angles,
quaternions, …). In our case, the $ZXY$ Tait-Bryan angles are used to describe
our orientation:

$\bm{M}\triangleq\bm{R}_{z}{\left(\chi_{3}\right)}\,\bm{R}_{x}{\left(\chi_{1}\right)}\,\bm{R}_{y}{\left(\chi_{2}\right)}$
(4)

These equations highlight the fact that a robot can be described in terms of
conception parameters and 2 types of variables: either its joint variables or
its end-effector coordinates, namely its moving platform’s orientation. The
joint variables are real values that belong to the _joint space_ $\mathcal{Q}$
and will be put into a vector
$\bm{\theta}\triangleq\left[\;\begin{matrix}\theta_{1}&\theta_{2}&\theta_{3}\end{matrix}\;\right]^{\mathsf{T}}$.
The end-effector coordinates are real values that belong to the _workspace_
$\mathcal{W}$ and will be concatenated into a vector
$\bm{\chi}\triangleq\left[\;\begin{matrix}\chi_{1}&\chi_{2}&\chi_{3}\end{matrix}\;\right]^{\mathsf{T}}$.
This is fundamental to establish any modeling of a robot. In this paper, the
_kinematics_ of SPMs are studied through their _geometric_ and _first order
kinematic models_.

###  2.2. Geometric and first order kinematic models

The _geometric model_ of a parallel manipulator is a system of equations
describing the relationships between the actuated joint variables
$\bm{\theta}$ and the coordinates (orientations) $\bm{\chi}$ of the moving
platform.

$\mathcal{W}$$\bm{\chi}$$\mathcal{Q}$$\bm{\theta}$$\bm{\theta}_{d}$Inverse
problem Forward problem  Figure 4. Principle of the geometric model

An extended problem is to also consider passive intermediate joints
($\bm{\theta}_{d}$) which will not be covered in this article. Figure 4
describes the two points of view of the same problem as previously stated. As
we only focus on non-redundant SPMs, their geometric models consist in a
system $\bm{f}$ of $n_{\text{dof}}=n_{a}=3$ independent equations with
variables $\bm{\theta}$ and $\bm{\chi}$. The following system describes such a
model for SPMs:

$\bm{f}\left(\bm{\theta},\bm{\chi}\right)\triangleq\left[\;\begin{matrix}\bm{w}_{1}^{\mathsf{T}}\,\bm{v}_{1}-\cos{\left(\alpha_{2}\right)}\\\
\bm{w}_{2}^{\mathsf{T}}\,\bm{v}_{2}-\cos{\left(\alpha_{2}\right)}\\\
\bm{w}_{3}^{\mathsf{T}}\,\bm{v}_{3}-\cos{\left(\alpha_{2}\right)}\end{matrix}\;\right]=\bm{0}_{3\times
1}$ (5)

The forward geometric problem (FGM) is taking (5) with $\bm{\theta}$ being
kwown and try to solve it by finding the corresponding $\bm{\chi}$. The
solutions found are then called _assembly modes_ of the parallel robot.
Conversely, the inverse geometric problem (IGM) is taking (5) and try to solve
it by finding the corresponding $\bm{\theta}$. The solutions found are then
called _working modes_ of the parallel robot. By differentiating (5) w.r.t.
time, we get the _first order kinematic model_ which can be written as
$\bm{A}\,\dot{\bm{\chi}}+\bm{B}\,\dot{\bm{\theta}}=\bm{0}_{3\times 1}$ where
$\bm{A}\triangleq\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}\bm{f}}{\IfBeginWith{\bm{f}}{f}{\partial\mathopen{}^{0}\\!\bm{f}}{\partial\mathopen{}^{0}\bm{f}}}}{\StrSubstitute{\StrSubstitute{\bm{\chi}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{\bm{f}}}{\StrSubstitute{\StrSubstitute{\bm{\chi}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}}}}}$
denotes the _parallel Jacobian matrix_ and
$\bm{B}\triangleq\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}\bm{f}}{\IfBeginWith{\bm{f}}{f}{\partial\mathopen{}^{0}\\!\bm{f}}{\partial\mathopen{}^{0}\bm{f}}}}{\StrSubstitute{\StrSubstitute{\bm{\theta}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{\bm{f}}}{\StrSubstitute{\StrSubstitute{\bm{\theta}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}}}}}$
denotes the _serial Jacobian matrix_.

##  3\. Implementation of the geometric model

###  3.1. Requirements and strategy

The geometric model was hitherto obtained through symbolic computation (here
using Maple software 2022 version). However, in order to be implemented, we
must:

  * •

define a prescribed workspace $\mathcal{W}^{\star}$: in our case we want to
ensure that our SPM can stabilize its moving platform up to $\pm 20^{\circ}$
in roll & pitch. Thus, $\mathcal{W}^{\star}$ is the set

$\mathcal{W}^{\star}\triangleq\left\\{\left(\chi_{1},\chi_{2},\chi_{3}\right)\in\mathbb{R}^{3}\text{\;s.t.\;}\left|\chi_{1}\right|\leq
20^{\circ}\text{\;and\;}\left|\chi_{2}\right|\leq 20^{\circ}\right\\}$ (6)

######  Remark 1.

We previously defined $\mathcal{W}$ as the _workspace_ of our robot which is
the set of all orientations $\bm{\chi}$ that its moving platform can reach.
However, we only focus on our _prescribed workspace_
$\mathcal{W}^{\star}\subseteq\mathcal{W}$. This distinction is useful to
upgrade/optimize the performances of our robot that are subjects to
specifications.

  * •

specify conception parameters (see Tab. 1): $\beta_{1}=0$ is chosen in order
to have coaxial input shafts (see Fig. 2(c) and 3). The $\eta_{i}$s are
defined such that the platforms’ joints are regularly spaced. The other
conception parameters are chosen using the global conditioning index approach
and optimal values determined in Bai, (2010) (see Appendix A).

Parameters | $\eta_{i}$ | $\alpha_{1}$ | $\alpha_{2}$ | $\beta_{1}$ | $\beta_{2}$
---|---|---|---|---|---
Values (rad) | $2(i-1)\pi/3$ | $\pi/4$ | $\pi/2$ | $0$ | $\pi/2$
Table 1. Exact values of conception parameters

  * •

be able to certify the SPM’s FGM and IGM in order to solve them correctly.

The last point is crucial. Although the system $\bm{f}$ is non-linear (which
can make the FGM and IGM harder to solve), it can be turned into a polynomial
system through appropriate changes of variables. This allows $\bm{f}$ to
become a system $\bm{S}$ of the form

$\bm{S}\triangleq\left\\{p_{1}(\bm{U},\bm{X})=0,\dots,p_{n_{a}}(\bm{U},\bm{X})=0\right\\}$
(7)

where $\bm{U}=(U_{1},\dots,U_{d})$ is the $d$-uple of parameters,
$\bm{X}=(X_{1},\dots,X_{n})$ the $n$-uple of unknowns and $p_{i}$,
$i\in\left\llbracket 1,n_{a}\right\rrbracket$ being polynomials in the
indeterminates $\bm{U}$, $\bm{X}$ with rational coefficients. The tangent
half-angle formulas are interesting changes of variables: this substitution
has the advantage to keep the same number of equations, parameters and
variables ($n_{a}=d=n=3$).

######  Remark 2.

This would not be case for sine/cosine changes of variables that double the
number of variables and equations.

Depending on the point of view (IGM or FGM), $\bm{U}$ and $\bm{X}$ can either
be $\bm{j}\triangleq\left\\{j_{i}=\tan{(\theta_{i}/2)},i=\left\llbracket
1,3\right\rrbracket\right\\}$ or
$\bm{o}\triangleq\left\\{o_{i}=\tan{(\chi_{i}/2)},i=\left\llbracket
1,3\right\rrbracket\right\\}$. Additionally, such changes of variables are
still valid considering our joint- and workspace:
$\theta_{i},\chi_{1},\chi_{2}\neq\pm\pi\;[2\pi]$. Appendix C shows the
explicit expression of $\bm{S}$, the geometric model of our SPM in its
polynomial form. We also assume that $\bm{S}$ has a finite number of complex
solutions: for almost all $d$-uples
$\bm{u}\triangleq\left(u_{1},\dots,u_{d}\right)\in\mathbb{C}^{d}$, the system
$\left.\bm{S}\right|_{\bm{U}=\bm{u}}=\left\\{p_{1}(\bm{u},\bm{X})=0,\dots,p_{n_{a}}(\bm{u},\bm{X})=0\right\\}$
has finitly many complex solutions. Such a system is called _generically zero-
dimensionnal_ and will be solved using _Algebraic Geometry_ techniques Cox et
al., (2015) by associating $\bm{S}$ with $\mathcal{I}=\left\langle
p_{1},\dots,p_{n_{a}}\right\rangle$ being the _ideal_ of
$\mathbb{Q}[\bm{U},\bm{X}]$ generated by the polynomials
$p_{1},\dots,p_{n_{a}}$, such that
$\overline{\operatorname{proj}_{\bm{U}}\left(\mathcal{V}\left(\mathcal{I}\right)\right)}=\mathbb{C}^{d}$,
where $\operatorname{proj}_{\bm{U}}$ denotes the projection onto the parameter
space and $\overline{\mathcal{V}}$ the closure of any subset
$\mathcal{V}\subset\mathbb{C}^{d}$. Thus, the complex solutions of $\bm{S}$
define the _algebraic variety_ $\mathcal{V}(\mathcal{I})$.

However, we also want to go further by considering the robustness of our SPM:
solving (5) means assuming that the (theorical) conception parameter values
will perfectly correspond to the real case values, which is a strong
hypothesis and obviously not true. Indeed, parallel robots are unavoidably
subject to uncertainties such as fabrication parameters (assembling tolerances
of the mechanical parts) or noise in the sensors. Additionally, implementing
the kinematics requires numerical approximations (convert irrational parameter
values into rational ones).

Despite this, we want to ensure that for small deformations of parameters,
solutions found will still be close to the perfect case. In other words, we
want to _certify_ our SPM’s modeling. One of the tools dedicated to this
certification work is the notion of _discriminant variety_. This object is
closely related to the idea of _projection_ onto the space of paramaters
$\operatorname{proj}_{\bm{U}}$, as illustrated in Figure 5. The goal is to
have a set of parameters that does not meet and is far from all the numerical
unstabilities of the so called discriminant variety. First let us recall its
definition from Lazard and Rouillier, (2007); Chablat et al., (2020).

######  Definition 1 (Discriminant Variety).

The discriminant variety of $\mathcal{V}(\mathcal{I})$ w.r.t.
$\operatorname{proj}_{\bm{U}}$ denoted as $\mathcal{W}_{D}$ is the smallest
algebraic variety of $\mathbb{C}^{d}$ such that given any simply connected
subset $\mathcal{C}$ of $\mathbb{R}^{d}\,\backslash\,\mathcal{W}_{D}$, the
number of real solutions of $\bm{S}$ is constant over $\bm{U}$. In our case,

$\mathcal{W}_{D}\triangleq\mathcal{W}_{\mathrm{sd}}\cup\mathcal{W}_{c}\cup\mathcal{W}_{\infty}$

where:

  * •

$\mathcal{W}_{\mathrm{sd}}$ is the closure of the projection by
$\operatorname{proj}_{\bm{U}}$ of the components of $\mathcal{V}(\mathcal{I})$
of dimension $<d$

  * •

$\mathcal{W}_{c}$ is the union of the closure of the critical values of
$\operatorname{proj}_{\bm{U}}$ in restriction to $\mathcal{V}(\mathcal{I})$
and of the projection of singular values of $\mathcal{V}(\mathcal{I})$

  * •

$\mathcal{W}_{\infty}$ is the set of $\bm{U}=\left(U_{1},\dots,U_{d}\right)$
such that
$\operatorname{proj}^{-1}\left(\mathcal{C}\right)\cap\mathcal{V}(\mathcal{I})$
is not compact for any compact neighborhood $\mathcal{C}$ of $\bm{U}$ in
$\operatorname{proj}_{\bm{U}}\left(\mathcal{V}(\mathcal{I})\right)$.

[]TikZ/var_dis

Figure 5. Certification by avoiding the discriminant variety $\mathcal{W}_{D}$
w.r.t. the projection onto the paramater space

In our case of non-redundant SPM, we have as many polynomials
($p_{1},\dots,p_{3}$) as unknowns ($X_{1},\dots,X_{3}$) which involves that
$\mathcal{W}_{\mathrm{sd}}=\varnothing$.

###  3.2. Uncertainty analysis

####  3.2.1. Propagation of uncertainty on the fabrication parameters

In order to be _numerically_ implemented and from the practical point of view,
we need to ensure that the modelling is still equivalent to and valid for a
“deformed” system (e.g. approximation of irrational numbers $\sqrt{2}$,
$\sqrt{3}$, expressing the polynomial system $\bm{S}$ with only rational or
integer coefficients, uncertainties on fabrication parameters). In particular,
it is worth analyzing the impact of such uncertainties on the coefficients of
our system. This can be done by considering _interval analysis_ tools such as
_interval arithmetic_ Neumaier, (1990); Merlet, (2004) or _ball arithmetic_
van der Hoeven, (2009); Johansson, (2020) where computations are made with
intervals instead of real or float numbers. Both tools allow numerical
computations to be more rigorous by taking into account all the possible
uncertainties being purely numerical (e.g. round-off errors) or physical. In
the specific case of ball arithmetic, intervals are rather called _ball
intervals_.

######  Definition 2 (Ball interval).

A _ball interval_ $[m\pm r]$ is defined as the set of real numbers $x$ such
that $x\in\left[m-r,m+r\right]$ where $m$ denotes the _midpoint_ of the ball
interval and $r$ its _radius_.

From the computational point of view, $m$ and $r$ are binary floating-point
numbers, i.e. $m,r\in\mathbb{Z}\,2^{\mathbb{Z}}$, although all the real
numbers included in the interval are considered. This tool is implemented in
the arb C library222see https://arblib.org/ and is availiable in Maple (v.
$\geq 2022$) through the `RealBox(`$m$`,`$r$`)` function. Such a formalism is
suitable for a rigourous and reliable computation on the error bounds and will
be used in this article to analyze the propagation of fabrication parameters
uncertainties on the system of interest. By introducing a realistic
uncertainty of $r=10^{-5}\;\text{rad}$ on the fabrication parameters using the
RealBox function, the coefficients of $\bm{S}$ (depending on $o_{i}$ and
$j_{i}$, $i\in\left\llbracket 1,n_{a}\right\rrbracket$) have in the worst case
an uncertainty of $r^{\prime}_{\max}=7\times 10^{-5}$.

####  3.2.2. On the coaxiality of the input shafts

Another important question deals with the coaxiality of the SPM’s input
shafts. Indeed, in theory, the actuators must be _perfectly_ concentric to
allow an illimited rotation around the $z$-axis (yaw). This is nevertheless
not the case in practice because of the uncertainties on the fabrication
parameters, i.e. $\beta_{1}$ in our modelling is not exactly equal to $0$ for
each leg of the SPM. Despite this unfavorable theoretical argument,
experimental prototypes Tursynbek et al., (2019) have shown that such a
mechanism is absolutely capable of moving this way. That leads to say that
among all the possible geometrical configurations induced by the uncertainties
on $\beta_{1}$, the coaxial SPM can make an illimited rotation around the yaw
axis because of the backlashes of its actuated joints. By undergoing such a
phenomenon, the robot can be associated with a virtual one having a perfect
axis of coaxiality. Thus, studying the system in its exact form makes sense.
Using the above-mentionned approach and given this context, let us certify the
IGM and FGM.

##  4\. Certifying the Inverse Geometric Model of 3-DOF SPMs

###  4.1. Workspace analysis

As previously stated, solving the IGM is equivalent to solve $\bm{S}$ with
$\bm{o}\equiv\bm{\chi}$ being (orientation) parameters related and (joint)
unknowns $\bm{j}\equiv\bm{\theta}$. The goal is to ensure that each
orientation value of our prescribed workspace $\mathcal{W}^{\star}$ has the
same number of distinct working modes. In addition, this fact must hold
despite data uncertainties such as small variations on parameters $\bm{o}$.
However, there is one special case that does not verify those properties and
that we want to avoid: numerical unstabilities of the IGM. One of them are
_Type-1 singularities_ (or _serial singularities_). These phenomena appear
when matrix $\bm{B}$ from the kinematic model degenerates: the number of
(real) distinct working modes varies and small variations on $\bm{\chi}$ in
the neighborhood require huge efforts to move $\bm{\theta}$. Therefore,
_certifiying_ implies checking if we are “far enough” from Type-1
singularities and other numerical unstabilities for all the values of
$\bm{\chi}\in\mathcal{W}^{\star}$. One way to check this singularity is to
compute the _discriminant variety_ of the IGM (in its polynomial form). This
object is convinient to compute since we deal with a parametric system in
which each polynomial equation has only 1 variable and is of degree 2 such
that
$\mathrm{IGM}\equiv\bm{S}=\left\\{p_{1}\left(j_{1},\bm{o}\right)=0,p_{2}\left(j_{2},\bm{o}\right)=0,p_{3}\left(j_{3},\bm{o}\right)=0\right\\}$
where $p_{i}=a_{i}\,j_{i}^{2}+b_{i}\,j_{i}+c_{i}$ with $i\in\left\llbracket
1,n_{a}=3\right\rrbracket$. In this particular case, studying the discriminant
variety $\mathcal{W}_{D}$ w.r.t. the projection onto the orientation space
means computing the _resultant_ of each polynomial $p_{i}$,
$\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}p_{i}}{\IfBeginWith{p_{i}}{f}{\partial\mathopen{}^{0}\\!p_{i}}{\partial\mathopen{}^{0}p_{i}}}}{\StrSubstitute{\StrSubstitute{j_{i}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{p_{i}}}{\StrSubstitute{\StrSubstitute{j_{i}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}}}}}$
w.r.t. variable $j_{i}$. Hence,

$\displaystyle\mathcal{W}_{D}(o_{1},o_{2},o_{3})$
$\displaystyle=\bigcup\limits_{i=1}^{n_{a}}\operatorname{Res}{\left(p_{i},\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}p_{i}}{\IfBeginWith{p_{i}}{f}{\partial\mathopen{}^{0}\\!p_{i}}{\partial\mathopen{}^{0}p_{i}}}}{\StrSubstitute{\StrSubstitute{j_{i}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{p_{i}}}{\StrSubstitute{\StrSubstitute{j_{i}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}},j_{i}\right)}}}}}$
(8)
$\displaystyle=\bigcup\limits_{i=1}^{n_{a}}-\operatorname{LC}{(p_{i})}\operatorname{discrim}\left(p_{i},j_{i}\right)$

where $\operatorname{discrim}\left(p_{i},j_{i}\right)=b_{i}^{2}-4a_{i}c_{i}$
is the _discriminant_ of $p_{i}$ w.r.t. variable $j_{i}$ and
$\operatorname{LC}(p_{i})$ is the _leading coefficient_ of $p_{i}(j_{i})$. As
illustrated in Figure 5, the discriminant variety $\mathcal{W}_{D}$ w.r.t.
$\operatorname{proj}_{\bm{o}}$ deals with the partition of the (orientation)
parameter space in function of the number of working modes. This amounts to
study all numerical unstabilities of the IGM according to (8) since:

  * •

$\operatorname{discrim}{\left(p_{i},j_{i}\right)}=0$ describe a hypersurface
in $(o_{1},o_{2},o_{3})$ where at least two working modes are superposed which
is synonym of Type-1 singularity. In this case, there is at least one double
root and critical values $(o_{1},o_{2},o_{3})$ verifying that belong to
$\mathcal{W}_{c}$. In our case, we have

$\mathcal{W}_{c}=\left\\{\begin{aligned}
8\left(o_{3}^{2}+1\right)^{2}\left(o_{1}^{2}+2o_{1}-1\right)\left(o_{1}^{2}-2o_{1}-1\right)&=0,\\\\[8.61108pt]
-32\left(-o_{1}^{4}o_{2}^{4}+4\sqrt{3}\,o_{1}^{3}o_{2}^{3}+4o_{1}^{4}o_{2}^{2}+4\sqrt{3}\,o_{1}^{3}o_{2}-4\sqrt{3}\,o_{1}o_{2}^{3}\right.\hskip
30.00005pt\\\
\left.-o_{1}^{4}-12o_{1}^{2}o_{2}^{2}-o_{2}^{4}-4\sqrt{3}\,o_{1}o_{2}+4o_{2}^{2}-1\right)\left(o_{3}^{2}+1\right)^{2}&=0,\\\\[8.61108pt]
32\left(o_{1}^{4}o_{2}^{4}+4\sqrt{3}\,o_{1}^{3}o_{2}^{3}-4o_{1}^{4}o_{2}^{2}+4\sqrt{3}\,o_{1}^{3}o_{2}-4\sqrt{3}\,o_{1}o_{2}^{3}+o_{1}^{4}+12o_{1}^{2}o_{2}^{2}\right.\hskip
30.00005pt\\\
\left.+o_{2}^{4}-4\sqrt{3}\,o_{1}o_{2}-4o_{2}^{2}+1\right)\left(o_{3}^{2}+1\right)^{2}&=0\end{aligned}\right\\}$
(9)

  * •

$\operatorname{LC}{\left(p_{i}\right)}=0$ describe a hypersurface in
$(o_{1},o_{2},o_{3})$ where at least one solution goes to infinity. Values
$(o_{1},o_{2},o_{3})$ verifying that belong to $\mathcal{W}_{\infty}$. In our
case, we have

$\mathcal{W}_{\infty}=\left\\{\begin{aligned}
-\sqrt{2}\,o_{1}^{2}o_{3}^{2}-2\sqrt{2}\,o_{1}o_{3}^{2}+\sqrt{2}\,o_{1}^{2}+\sqrt{2}\,o_{3}^{2}-2\sqrt{2}\,o_{1}-\sqrt{2}&=0,\\\\[8.61108pt]
-2\sqrt{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{3}+2\sqrt{2}\,\sqrt{3}\,o_{2}^{2}o_{3}-2\sqrt{2}\,\sqrt{3}\,o_{2}o_{3}^{2}\\\
-2\sqrt{2}\,o_{1}^{2}o_{2}^{2}o_{3}^{2}+12\sqrt{2}\,o_{3}o_{1}o_{2}+2\sqrt{2}\,o_{1}o_{2}^{2}o_{3}^{2}-\sqrt{2}\,o_{1}^{2}+\sqrt{2}\,o_{2}^{2}+2\sqrt{2}\,o_{3}^{2}+2\sqrt{2}\,o_{1}\\\
+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}o_{3}^{2}+2\sqrt{2}\,o_{1}^{2}o_{2}^{2}+\sqrt{2}\,o_{1}^{2}o_{3}^{2}-\sqrt{2}\,o_{2}^{2}o_{3}^{2}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}+2\sqrt{2}\,o_{1}o_{2}^{2}+2\sqrt{2}\,o_{1}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,o_{2}&=0,\\\\[8.61108pt]
-2\sqrt{2}+2\sqrt{2}\,o_{1}o_{2}^{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{3}-2\sqrt{2}\,\sqrt{3}\,o_{2}^{2}o_{3}+2\sqrt{2}\,\sqrt{3}\,o_{2}o_{3}^{2}\\\
+2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}-2\sqrt{2}\,o_{1}^{2}o_{2}^{2}o_{3}^{2}+12\sqrt{2}\,o_{3}o_{1}o_{2}-\sqrt{2}\,o_{1}^{2}+\sqrt{2}\,o_{2}^{2}+2\sqrt{2}\,o_{3}^{2}+2\sqrt{2}\,o_{1}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}o_{3}^{2}+2\sqrt{2}\,o_{1}o_{2}^{2}+2\sqrt{2}\,o_{1}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{2}\\\
+2\sqrt{2}\,o_{1}^{2}o_{2}^{2}+\sqrt{2}\,o_{1}^{2}o_{3}^{2}-\sqrt{2}\,o_{2}^{2}o_{3}^{2}&=0\end{aligned}\right\\}$
(10)

Both cases imply a drop in the number of working modes. Figure 6 depicts the
plot of the discriminant variety of the SPM’s IGM. We can notice that
$\mathcal{W}_{c}$ representing all the Type-1 singularities of our robot is
invariant w.r.t. $o_{3}\equiv\chi_{3}$. This makes sense since we consider the
rotation w.r.t. yaw first (see (4)) and the unlimited rolling property allows
our robot to yaw without changing its geometry. But most importantly, our
workspace $\mathcal{W}^{\star}$ does not meet the discriminant variety of the
IGM ($\mathcal{W}_{D}$ w.r.t. $\operatorname{proj}_{\bm{o}}$). More precisely,
as we deal with 3 quadratic polynomials in $j_{i}$, solving the IGM for each
orientation $\bm{\chi}\in\mathcal{W}^{\star}$ implies finding $2^{3}=8$
distinct solutions (working modes). Therefore, we can guarentee that our SPM’s
IGM will not meet any numerical unstability especially Type-1 singularities,
given our conception parameters and our prescribed workspace
$\mathcal{W}^{\star}$: we have certified the IGM of our SPM for our
application in its exact form.

(a) Critical points of the IGM (Type-1 singularities)

(b) “Infinite points” of the IGM

Figure 6. Discriminant variety of the IGM w.r.t. the projection onto the
orientation space

######  Remark 3.

From now on, we will only focus on $\mathcal{W}_{c}$, the set of the critical
points of the IGM corresponding to all Type-1 singular configurations. Indeed,
$\mathcal{W}_{\infty}$ is only a concern if we solve the IGM in its current
polynomial form whereas $\mathcal{W}_{c}$ basically depends on our SPM’s
geometry.

[]TikZ/pa_co_st1_EN_overview

Figure 7. Type-1 singularity loci of the SPM in the orientation space

Figure 7 depicts the critical values of the IGM in the $(o_{1},o_{2})$-plan by
highlighting some Type-1 singular configurations. The latter confirms the loss
of at least 1 DOF as all the configurations have a fully folded or extended
leg. A similar (but non-certified) result can be obtained using the
conditoning index approach (see Appendix B, Fig. 10(b)).

######  Remark 4.

One trivial serial singular configuration can be found by solving the first
equation of (9). We then obtain
$o_{1}=\left\\{-1\pm\sqrt{2},1\pm\sqrt{2}\right\\}$ or $\chi_{1}=\left\\{\pm
45^{\circ},\pm 135^{\circ}\right\\}$. The Type-1 singularities of interest
comes with any orientation having a roll of $\chi_{1,\mathrm{sing}}=\pm
45^{\circ}$. Starting with $\chi_{1}=0$, having
$\left|\chi_{1}\right|>45^{\circ}$ is impossible due to the first leg (the
green one in Fig. 7) being totally extended.

It might also be of interest to determine the maximum tolerance on the
fabrication parameters towards the Type-1 singularities. In the sequel, we
introduce an uncertainty on the fabrication parameters belonging to
$\bm{\varpi}$ defined as

$\bm{\varpi}\triangleq\left[\;\begin{matrix}\alpha_{1}&\alpha_{2}&\beta_{2}&\eta_{1}&\eta_{2}&\eta_{3}\end{matrix}\;\right]^{\mathsf{T}}$
(11)

Given our remarks on the coaxiality of our mechanism (see Subsection 3.2.2),
we set $\beta_{1}=0$ which also keeps the invariance of the IGM’s discriminant
variety w.r.t. $o_{3}$. Figure 8 depicts the discriminant variety of the IGM
considering such uncertainties.

Figure 8. Type-1 singularity loci of the SPM in the orientation space
considering uncertainties on the fabrication parameters

As seen on this figure, we can introduce an uncertainty up to
$10^{-1}\;\text{rad}$ on the fabrication parameters $\varpi_{i}$ before
meeting the discriminant variety of the IGM, which is in fact a comfortable
margin.

So far, we have proved that our prescribed workspace $\mathcal{W}^{\star}$ is
Type-1 singular-free. However, from the pratical point of view, it is better
to translate this information into the joint space in order to set the
actuated joint stops. These limits in $\theta_{1}$, $\theta_{2}$ and
$\theta_{3}$ play a double role since they allow our robot to move within
$\mathcal{W}^{\star}$ and avoid singular orientations at the same time. Such a
work deals with the _joint space analysis_ of our SPM and is presented in the
next subsection.

###  4.2. Joint space analysis

By taking into account the invariance in orientation w.r.t. yaw, the idea is
to set $\chi_{3}\equiv o_{3}=0$ and compute a unique working mode from the
same leaf of solution for a certain number of pair $(o_{1},o_{2})$ recovering
$\mathcal{W}^{\star}(o_{3}=0)$. Such a set is a square in the
$(o_{1},o_{2})$-plane. The uniqueness of the working mode is obtained by
choosing an initial joint vector $\bm{\theta}_{0}$ being one of the working
modes corresponding to the SPM’s equilibrium orientation, i.e. $\chi_{0,i}=0$,
$\forall\,i\in\left\llbracket 1,3\right\rrbracket$. By solving (5) being the
IGM at equilibrium, we have $\theta_{0,i}=\pm\,\pi/2$,
$\forall\,i\in\left\llbracket 1,3\right\rrbracket$. The existence of $2^{3}=8$
distinct working modes confirms the regularity of the robot at equilibrium. We
arbitrarily choose $\bm{\theta}_{0}$ with all values $\theta_{0,i}$ being
positive such that
$\theta_{i}=\frac{-b_{i}-\sqrt{\operatorname{discrim}{\left(p_{i},j_{i}\right)}}}{2\operatorname{LC}{\left(p_{i},j_{i}\right)}}$,
$\forall\,i\in\left\llbracket 1,3\right\rrbracket$. Hence, we have

$\bm{\chi}_{0}=\bm{o}_{0}=\left[\;\begin{matrix}0&0&0\end{matrix}\;\right]^{\mathsf{T}}\;\xleftrightarrow{(+++)}\;\left\\{\begin{aligned}
\bm{\theta}_{0}&=\left[\;\begin{matrix}\pi/2&\pi/2&\pi/2\end{matrix}\;\right]^{\mathsf{T}}\\\
\bm{j}_{0}&=\left[\;\begin{matrix}1&1&1\end{matrix}\;\right]^{\mathsf{T}}\end{aligned}\right.$
(12)

All the values of $o_{1}\equiv\chi_{1}$ and $o_{2}\equiv\chi_{2}$ belonging to
$\mathcal{W}^{\star}(o_{3}=0)$ are considered in the computation of the IGM
even though the square is discretized using _ball intervals_. After paving the
whole prescribed workspace with $35\times 35=1225$ ball intervals, we compute
the IGM for each ball interval by setting $\left[m\left(o_{i}\right)\pm
r\left(o_{i}\right)\right]$ such that
$-\tan{\left(\frac{\pi}{18}\right)}\simeq-\frac{177}{1000}\leq
m\left(o_{i}\right)\leq\frac{177}{1000}\simeq\tan{\left(\frac{\pi}{18}\right)}$
with $r\left(o_{i}\right)=\frac{5}{900}$, $\forall\,i\in\left\llbracket
1,2\right\rrbracket$ and $m\left(o_{3}\right)=0$ with
$r\left(o_{3}\right)=10^{-4}$. The choice of the radii $r\left(o_{1}\right)$
and $r\left(o_{2}\right)$ ensures that the ball intervalls overlap in order to
cover the whole set $\mathcal{W}^{\star}\left(o_{3}=0\right)$. The obtained
results are also expressed with the same formalism as the input data, i.e.
$\left[m\left(j_{i}\right)\pm r\left(j_{i}\right)\right]$,
$\forall\,i\in\left\llbracket 1,3\right\rrbracket$. Each joint variable
$j_{i}\equiv\theta_{i}$ has a minimum value and a maximum value such that

$\min{\left(m\left(j_{i}\right)-r\left(j_{i}\right)\right)}\leq
j_{i}\leq\max{\left(m\left(j_{i}\right)+r\left(j_{i}\right)\right)},\qquad\forall\,i\in\left\llbracket
1,3\right\rrbracket$ (13)

Those values respectively define the lower and upper bound for the joint stops
as shown in Table 2.

Joint $i$ | $\min{\left(j_{i}\right)}$ | $\max{\left(j_{i}\right)}$ | Joint stops | $\max{\left(r\left(j_{i}\right)\right)}$ | $\min{\left(\Delta{\left(p_{i},j_{i}\right)}\right)}$
---|---|---|---|---|---
$1$ | $0.6693723886$ | $1.525710784$ | $\theta_{1}\in\left[67^{\circ},114^{\circ}\right]$ | $0.05831109206017$ | $3.149730917$
$2$ | $0.6089969554$ | $2.127382005$ | $\theta_{2}\in\left[62^{\circ},130^{\circ}\right]$ | $0.18036268138497$ | $10.08465368$
$3$ | $0.4729818360$ | $1.702299683$ | $\theta_{3}\in\left[50^{\circ},120^{\circ}\right]$ | $0.15685467160577$ | $10.01625750$
Table 2. Extrema joint values obtained after the computation of the IGM of
$\mathcal{W}^{\star}\left(o_{3}=0\right)$

By considering the unlimitted rolling of our SPM, i.e.
$\chi_{3}\in\mathbb{R}$, we can define $\mathcal{Q}_{0}^{\star}$ such that

$\mathcal{Q}_{0}^{\star}\triangleq\left\\{\left(\theta_{1},\theta_{2},\theta_{3}\right)\in\mathbb{R}^{3}\;\middle|\;\begin{aligned}
67^{\circ}\leq\theta_{1}-\chi_{3}\leq 114^{\circ}\\\
62^{\circ}\leq\theta_{2}-\chi_{3}\leq 130^{\circ}\\\
50^{\circ}\leq\theta_{3}-\chi_{3}\leq
120^{\circ}\end{aligned},\quad\forall\,\chi_{3}\in\mathbb{R}\right\\}$ (14)

Given our leaf of solution, the image of $\mathcal{W}^{\star}$ through the IGM
is the set $\mathcal{Q}^{\star}$ defined as

$\mathcal{Q}^{\star}\triangleq\left\\{\bm{\theta}=\left[\;\begin{matrix}\theta_{1}&\theta_{2}&\theta_{3}\end{matrix}\;\right]^{\mathsf{T}}\in\mathbb{R}^{3}\;\middle|\;\bm{\theta}\in\mathcal{Q}_{0}^{\star}\;\text{and}\;\mathrm{FGM}\left(\bm{\theta}\right)\in\mathcal{W}^{\star}\right\\}$
(15)

######  Remark 5.

We necessarily have
$\mathcal{Q}_{0}^{\star}\supset\mathcal{Q}^{\star}\triangleq\mathrm{IGM}{\left(\mathcal{W}^{\star}\right)}$.

##  5\. Certifying the Forward Geometric Model of 3-DOF SPMs

###  5.1. Issue and adopted strategy

The goal of the FGM certification is to ensure that the number of assembly
modes stays constant for any acceptable joint reference value
$\bm{\theta}\in\mathcal{Q}^{\star}$ allowing the SPM to move within our
prescribed workspace $\mathcal{W}^{\star}$. Moreover, the previous fact must
stay true despite the above-mentioned data uncertainties. Special cases that
do not verify such conditions are numerical unstabilities including _Type-2
singularities_ (or _parallel singularities_). These phenomena appear when
matrix $\bm{A}$ from the kinematic model degenerates: the number of distinct
assembly modes changes and small variations on $\bm{\theta}$ in the
neighborhood implies huge variations on $\bm{\chi}$. The robot loses its
rigidity by gaining one (or more) uncontrollable motion: the upper platform
can move without any input joint efforts Khalil and Briot, (2015).
Consequently, such configurations should be avoided: this leads to ensure that
the set $\mathcal{Q}^{\star}$ is non-singular. Certification using the
discriminant variety done in the previous section could also theorically be
extended to the FGM. In this case, roles between parameters and variables
would be switched. However, we would obtain a parametric system in which each
equation depends of $o_{1}$, $o_{2}$ and $o_{3}$ at the same time. The
discriminant variety of the FGM is thus too substantial to compute. We need to
investigate numerical stability and robustness using another approach. One way
to ensure such properties is to prove the regularity of the FGM for any
$\bm{\theta}\in\mathcal{Q}^{\star}$ given our application, i.e. each
$\bm{\theta}\in\mathcal{Q}^{\star}$ has a _unique_ assembly mode $\bm{\chi}$
given the leaf of solution of interest. This will be done considering the
_path tracking_ problem in orientation.

###  5.2. Path tracking in orientation

A closely related problem to the FGM is the path tracking problem. In our
case, the upper platform moves with respect to the base frame. Knowing the
joint values, the calculator needs to compute the orientation (FGM) at each
step given the sampling rate. This computation can be done using a _Newton
iterative scheme_. Such a numerical method estimates the pose of the robot by
taking advantage of the fact that the unknown current orientation at time
$t+\delta t$ will be close to the orientation that was known at time $t$.
However in order to be used in a certified manner, the Newton’s method _must_
return a value that is _unique_ within its neighborhood: one way to ensure
such a condition is the use of the _Kantorovich unicity operator_ Merlet,
(2006). In the sequel, the following notation will be used for a $(n\times n)$
matrix $\bm{M}\triangleq\left[\;\begin{matrix}M_{ij}\end{matrix}\;\right]$ and
a vector $\bm{x}$ of size $n$:

  * •

$\left\lVert\bm{x}\right\rVert_{\infty}\triangleq\max\limits_{i\in\left\llbracket
1,n\right\rrbracket}\left|x_{i}\right|$ denotes the maximum norm (or
$\infty$-norm) on $\mathbb{R}^{n}$.

  * •

$\left\lVert\bm{M}\right\rVert_{\infty}\triangleq\max\limits_{i\in\left\llbracket
1,n\right\rrbracket}\sum_{j=1}^{n}\left|M_{ij}\right|$ denotes the row sum
norm, an induced matrix norm on $\mathbb{R}^{n\times n}$.

The Newton-Kantorovich theorem Kantorovich, (1948); Tapia, (1971); Demidovich
and Maron, (1973) states the Kantorovich test. Its aim is to investigate the
existence and uniqueness of the root of $\bm{f}(\bm{x})=\bm{0}$ in a certain
region. We will use the version formulated in Demidovich and Maron, (1973).

######  Theorem 1 (Newton-Kantorovich).

Let $\bm{f}:\mathcal{D}\subseteq\mathbb{R}^{n}\to\mathbb{R}^{n}$ a function of
class $\mathcal{C}^{2}$. Let $\bm{x}_{0}$ be a point and
$\overline{\bm{U}}\left(\bm{x}_{0}\right)$ its neighborhood defined by
$\overline{\bm{U}}\left(\bm{x}_{0}\right)\triangleq\left\\{\bm{x}\in\mathcal{D}\;\text{s.t.}\;\left\lVert\bm{x}-\bm{x}_{0}\right\rVert_{\infty}\leq
2B_{0}\right\\}$. Let
$\bm{J}_{0}\triangleq\bm{J}\left(\bm{x}_{0}\right)=\left.\partial\mathopen{}\bm{f}/\partial\mathopen{}\bm{x}\right|_{\bm{x}=\bm{x}_{0}}$
be an invertible jacobian matrix. If there exists three real constants
$A_{0}$, $B_{0}$ and $C$ such that:

  1. _(i)_

$\left\lVert\bm{J}_{0}^{-1}\right\rVert_{\infty}\leq A_{0}$

  2. _(ii)_

$\left\lVert\bm{J}_{0}^{-1}\,\bm{f}\left(\bm{x}_{0}\right)\right\rVert_{\infty}\leq
B_{0}$

  3. _(iii)_

$\forall\,i\in\left\llbracket 1,n\right\rrbracket,\forall\,j\in\left\llbracket
1,n\right\rrbracket$ and
$\bm{x}\in\overline{\bm{U}}\left(\bm{x}_{0}\right),\;\displaystyle\sum_{k=1}^{n}\left|\IfStrEq{2}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}f_{i}(\bm{x})}{\IfBeginWith{f_{i}(\bm{x})}{f}{\partial\mathopen{}^{0}\\!f_{i}(\bm{x})}{\partial\mathopen{}^{0}f_{i}(\bm{x})}}}{\StrSubstitute{\StrSubstitute{x_{j}\partial\mathopen{}x_{k}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{2}{f_{i}(\bm{x})}}{\StrSubstitute{\StrSubstitute{x_{j}\partial\mathopen{}x_{k}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}\right|\leq
C}}}}$

  4. _(iv)_

$2nA_{0}B_{0}C\leq 1$

then there is a unique solution of $\bm{f}(\bm{x})=\bm{0}$ in
$\overline{\bm{U}}\left(\bm{x}_{0}\right)$ and the (real) Newton iterative
scheme
$\bm{x}_{k+1}=\bm{x}_{k}-\bm{J}^{-1}\left(\bm{x}_{k}\right)\,\bm{f}\left(\bm{x}_{k}\right)$
with the initial estimate $\bm{x}_{0}$ quadratically converges towards this
unique solution.

######  Remark 6.

A successful Kantorovich test is a _sufficient_ condition to certify the
absence of any numerical instabilities (including singularities).

If the Kantorovich test is valid, it provides a lower bound on the radius of
the convergence domain towards the unique and guaranteed solution for Newton
schemes. Hence, its pairing with a classical Newton scheme is in the heart of
the certification of our SPM. In the case of the FGM certification, we have
$\bm{x}\equiv\bm{o}$ and
$\bm{J}\triangleq\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}\bm{f}}{\IfBeginWith{\bm{f}}{f}{\partial\mathopen{}^{0}\\!\bm{f}}{\partial\mathopen{}^{0}\bm{f}}}}{\StrSubstitute{\StrSubstitute{\bm{x}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{\bm{f}}}{\StrSubstitute{\StrSubstitute{\bm{x}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}\equiv\IfStrEq{0}{0}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}\bm{S}}{\IfBeginWith{\bm{S}}{f}{\partial\mathopen{}^{0}\\!\bm{S}}{\partial\mathopen{}^{0}\bm{S}}}}{\StrSubstitute{\StrSubstitute{\bm{o}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}{\frac{\IfStrEq{0}{0}{\partial\mathopen{}{\IfBeginWith{{f}{\partial\mathopen{}^{0}\\!{\partial\mathopen{}^{0}}{0}{\bm{S}}}{\StrSubstitute{\StrSubstitute{\bm{o}}{}\partial\mathopen{}}{\partial\mathopen{}f}{\partial\mathopen{}\\!f}}}}}}}}}}}$.
The path tracking is initialized with the SPM’s equilibrium configuration
selected in the joint space analysis (see (12)) so that the initial
orientation estimate $\bm{o}_{0}=\mathrm{FGM}{\left(\bm{j}_{0}\right)}$ is
perfectly known. Then, for a small displacement from $\bm{j}_{0}$ to
$\bm{j}_{1}\in\mathcal{Q}^{\star}$, we apply the Kantorovich test to the new
coordinates. If valid, the above-mentionned test ensures the existence of an
assembly mode $\bm{o}_{1}=\mathrm{FGM}{\left(\bm{j}_{1}\right)}$ and its
uniqueness in a certain region that includes the convergence domain of the
Newton scheme. Otherwise, the test is reapplied to coordinates that are closer
to the last valid one. Finally, the same thing goes on for any displacement
from $\bm{j}_{k}\in\mathcal{Q}^{\star}$ to
$\bm{j}_{k+1}\in\mathcal{Q}^{\star}$.

###  5.3. Implementation of the Kantorovich test

The path tracking strategy can be viewed as a semi-numerical approach to
certify the robot (more precisely its FGM in our case). It is worth recalling
that we manipulate a polynomial system $\bm{S}$ with integer coefficients.
Morever, these coefficients are expressed with classical intervals to take
into account the uncertainties.

######  Definition 3 (Interval).

An _interval_ $[x]$ is defined as the set of real numbers $x$ such that
$\underline{x}\leq x\leq\overline{x}$. This interval has a _width_
$\operatorname{width}([x])\triangleq\overline{x}-\underline{x}$ and a
_midpoint_
$\operatorname{mid}([x])\triangleq\left(\overline{x}+\underline{x}\right)/2$.
The _mignitude_ (resp. _magnitude_) of $[x]$ is given by
$\min{\left(\left|\underline{x}\right|,\left|\overline{x}\right|\right)}$
(resp.
$\max{\left(\left|\underline{x}\right|,\left|\overline{x}\right|\right)}$).

In our implementation, the intervals are defined by the binary _system
precision_ $\sigma$ such that
$\operatorname{width}{\left(\left[x\right]\right)}=1/2^{\sigma}$ and will be
denoted as $\left[x\right]_{\sigma}$ in the sequel. The constants $A_{0}$,
$B_{0}$ and $C$ are computed in a certified manner using _multiple-precision
arithmetic_ : $A_{0}$ exclusively depends on the parallel Jacobian evaluated
at the current coordinates, $B_{0}$ defines the neighborhood
$\overline{\bm{U}}$ that will be used to determine $C$. The choice of
multiple-precision (rather than double or floatting) arithmetic allows to
perform any calculation on numbers whose digits of precision are limited only
by the availiable memory of the device. Furthermore, the estimated
orientations $\bm{o}_{k+1}$ returned by the certified Newton scheme are also
computed using classical intervals. Figure 9 summarizes the way the path
tracking in orientation is implemented.

[]TikZ/utilisation_kanto_interval

Figure 9. Implementation of the path tracking in orientation

Starting with
$\bm{j}_{0}=\left[\;\begin{matrix}\left[1\right]_{9}&\left[1\right]_{9}&\left[1\right]_{9}\end{matrix}\;\right]^{\mathsf{T}}$
and
$\bm{o}_{0}=\left[\;\begin{matrix}[0,0]&[0,0]&[0,0]\end{matrix}\;\right]^{\mathsf{T}}$,
we apply the path tracking in orientation to the neighborhood of $\bm{j}_{0}$
which is a ball $\mathcal{B}_{0}\subset\mathcal{Q}^{\star}$ containing
$\bm{j}_{0}$ and whose size depends on the system precision. By taking into
account all the possible values of $\bm{j}_{1}\in\mathcal{B}_{0}$, we are
considering a family of infinite systems in $\mathcal{B}_{0}$. The success of
the Kantorovich test certifies the computation of
$\mathrm{FGM}\left(\bm{j}_{1}\right)=\bm{o}_{1}$,
$\forall\,\bm{j}_{1}\in\mathcal{B}_{0}$. The ball
$\mathcal{B}^{\prime}_{0}\subset\mathcal{W}^{\star}$ containing all the
solutions $\bm{o}_{1}$ is included in the convergence domain (provided by the
Kantorovich test) that contains the initial estimate $\bm{o}_{0}$. Applying
the Kantorovich test directly in the joint space may generate lots of
computations as we deal with three variables $j_{1}$, $j_{2}$ and $j_{3}$.
Part of the implementation strategy is also to reduce the computational cost
by considering the geometrical simplifications of our mechanism. Indeed, by
taking into account the invariance w.r.t. $o_{3}\in\mathcal{W}$, two
coordinates ($o_{1}$ and $o_{2}$) are sufficient to detect any problematic
configurations. Thus, the only values considered in the joint space are the
ones coming from the computation of
$\bm{j}=\mathrm{IGM}\left(o_{1},o_{2},o_{3}=0\right)$ A scanning of our
workspace $\mathcal{W}^{\star}\left(o_{3}=0\right)$ proves that the
Kantorovich test is valid everywhere, despite a poor binary system precision
of $\sigma=9$ bits and a displacement step of $\frac{1}{100}$ in
$\mathcal{W}^{\star}$. This certifies the FGM of our robot given our
applications.

##  6\. Conclusion and further works

In this paper, we have presented two approaches to certify the symetrical
spherical parallel manipulator with coaxial input shafts. The first approach
is the symbolic one involving the computation of the discriminant variety
w.r.t. the projection onto the parameter space for the inverse model. The
explicit expressions obtained allowed us to clearly determine a set in the
orientation space free of Type-1 singularities (and other numerical
instabilities) that includes our prescribed workspace. This strategy could not
(yet) be applied to the forward model as its coefficients and degrees are much
bigger compared to the inverse ones. Therefore, we used a semi-numerical
approach involving the Kantorovich unicity operator and a classical Newton
scheme to certify the forward model with a successful path tracking in
orientation. The numerical computations were done here considering
uncertainties on the fabrication parameters that are translated into
uncertainties on the coefficients of our system with interval and multiple
precision arithmetic. These certification tools and strategies could naturally
be extended to any other parallel robot. This work was also the opportunity to
apprehend the behavior of our mechanism in terms of motion with the
computation of the joint stops. Further works will use the basic concepts of
this article to extend the study to other spherical parallel manipulators with
different conception parameters.

We thank Jean-Pierre Merlet and Clément Gosselin for the fruitful discussions
and their feedbacks regarding the parallel mechanism of interest. We are also
grateful to people we interacted with for this article.

## References

  * Bai, (2010) Bai, S. (2010).  Optimum design of spherical parallel manipulators for a prescribed workspace.  Mechanism and Machine Theory, 45(2):200–211.
  * Chablat et al., (2020) Chablat, D., Moroz, G., Rouillier, F., and Wenger, P. (2020).  Using Maple to analyse parallel robots.  In Gerhard, J. and Kotsireas, I., editors, Maple in Mathematics Education and Research, Maple in Mathematics Education and Research, pages 50–64. Springer, Cham.
  * Cox et al., (2015) Cox, D., Little, J., and O’Shea, D. (2015).  Ideals, Varieties, and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra (Forth Edition).  Springer.
  * Demidovich and Maron, (1973) Demidovich, B. and Maron, I. (1973).  Éléments de calcul numérique.  MIR - Moscou.  Translated from russian to french by V. Polonski.
  * Gosselin and Hamel, (1994) Gosselin, C. and Hamel, J.-F. (1994).  The agile eye: a high-performance three-degree-of-freedom camera-orienting device.  In Proceedings of the 1994 IEEE International Conference on Robotics and Automation, pages 781–786 vol.1.
  * Hilkert, (2008) Hilkert, J. (2008).  Inertially stabilized platform technology concepts and principles.  IEEE Control Systems Magazine, 28(1):26–46.
  * Johansson, (2020) Johansson, F. (2020).  Ball arithmetic as a tool in computer algebra.  In Gerhard, J. and Kotsireas, I., editors, Maple in Mathematics Education and Research, pages 334–336, Cham. Springer International Publishing.
  * Kantorovich, (1948) Kantorovich, L. V. (1948).  On Newton’s method for functional equations.  Functional Analysis and Applied Mathematics, 59(7):1237–1240.
  * Khalil and Briot, (2015) Khalil, W. and Briot, S. (2015).  Dynamics of Parallel Robots : From Rigid Bodies to Flexible Elements.  Springer.
  * Lazard and Rouillier, (2007) Lazard, D. and Rouillier, F. (2007).  Solving parametric polynomial systems.  Journal of Symbolic Computation, 42(6):636–667.
  * Leinonen, (1991) Leinonen, T. (1991).  Terminology for the theory of machines and mechanisms.  Mechanism and Machine Theory, 26(5):435–539.
  * Masten, (2008) Masten, M. K. (2008).  Inertially stabilized platforms for optical imaging systems.  IEEE Control Systems Magazine, 28(1):47–64.
  * Merlet, (2004) Merlet, J.-P. (2004).  Solving the forward kinematics of gough-type parallel manipulator with interval analysis.  The International Journal of Robotics Research, 23:221–236.
  * Merlet, (2006) Merlet, J.-P. (2006).  Parallel Robots (Second Edition).  Springer.
  * Neumaier, (1990) Neumaier, A. (1990).  Interval methods for systems of equations.  Cambridge University Press.
  * Shintemirov et al., (2015) Shintemirov, A., Niyetkaliyev, A., and Rubagotti, M. (2015).  Numerical optimal control of a spherical parallel manipulator based on unique kinematic solutions.  IEEE/ASME Transactions on Mechatronics, 21:1–1.
  * Tapia, (1971) Tapia, R. A. (1971).  The Kantorovich Theorem for Newton’s Method.  The American Mathematical Monthly, 78(4):389–392.
  * Tursynbek et al., (2019) Tursynbek, I., Niyetkaliye, A., and Shintemirov, A. (2019).  Computation of unique kinematic solutions of a spherical parallel manipulator with coaxial input shafts.  In 2019 IEEE 15th International Conference on Automation Science and Engineering (CASE), pages 1524–1531.
  * van der Hoeven, (2009) van der Hoeven, J. (2009).  Ball arithmetic.  33 pages.

##  Appendix A Determination of the SPM design using the GCI approach

The _global conditioning index_ $\mathrm{GCI}$ is _numerically_ computed using
the following kinematic criteria

$\mathrm{GCI}\triangleq\dfrac{\iint_{\mathcal{W}^{\star}}\zeta{\left(\bm{J}\right)}\IfStrEq{0}{0}{\mathop{}\mathopen{}\mathrm{d}\chi_{1}}{\IfBeginWith{\chi_{1}}{f}{\mathop{}\mathopen{}\mathrm{d}^{0}\\!\chi_{1}}{\mathop{}\mathopen{}\mathrm{d}^{0}\chi_{1}}}\IfStrEq{0}{0}{\mathop{}\mathopen{}\mathrm{d}\chi_{2}}{\IfBeginWith{\chi_{2}}{f}{\mathop{}\mathopen{}\mathrm{d}^{0}\\!\chi_{2}}{\mathop{}\mathopen{}\mathrm{d}^{0}\chi_{2}}}}{\iint_{\mathcal{W}^{\star}}\IfStrEq{0}{0}{\mathop{}\mathopen{}\mathrm{d}\chi_{1}}{\IfBeginWith{\chi_{1}}{f}{\mathop{}\mathopen{}\mathrm{d}^{0}\\!\chi_{1}}{\mathop{}\mathopen{}\mathrm{d}^{0}\chi_{1}}}\IfStrEq{0}{0}{\mathop{}\mathopen{}\mathrm{d}\chi_{2}}{\IfBeginWith{\chi_{2}}{f}{\mathop{}\mathopen{}\mathrm{d}^{0}\\!\chi_{2}}{\mathop{}\mathopen{}\mathrm{d}^{0}\chi_{2}}}}\hskip
30.00005pt\text{where}\quad\zeta(\bm{J})\triangleq\dfrac{1}{\kappa{\left(\bm{J}\right)}}=\dfrac{1}{\left\lVert\bm{J}\right\rVert\,\left\lVert\bm{J}^{-1}\right\rVert}$
(16)

where $\bm{J}$ being the SPM’s _Jacobian matrix_ depending on $\bm{\chi}$,
$\bm{\theta}$ and conception parameters of Tab. 1,
$\left\lVert\bm{J}\right\rVert$ its Frobenius norm defined by
$\left\lVert\bm{J}\right\rVert\triangleq\operatorname{Tr}^{1/2}{\left(\bm{J}^{\mathsf{T}}\,\frac{1}{n_{a}}\operatorname{\mathbf{1}}_{n_{a}}\,\bm{J}\right)}$
and $0\leq\zeta{\left(\bm{J}\right)}\leq 1$ its conditioning index. With such
a method and $80\times 80$ points, we get $\mathrm{GCI}=0.93$,
$\zeta_{\min}=0.8902$ and $\zeta_{\max}=0.9487$.

##  Appendix B conditioning index of the Jacobian matrices

(a) $\zeta{\left(\bm{J}\right)}$

(b) $\zeta{\left(\bm{B}\right)}<0.25$ (Type-1 singularities)

Figure 10. Conditioning index of the Jacobian matrices of the SPM

##  Appendix C Geometric model of the SPM in its polynomial form

$\bm{S}\triangleq\left\\{\begin{aligned}
-\sqrt{2}\,j_{1}^{2}o_{1}^{2}o_{3}^{2}-2\sqrt{2}\,j_{1}^{2}o_{1}o_{3}^{2}+\sqrt{2}\,j_{1}^{2}o_{1}^{2}+\sqrt{2}\,j_{1}^{2}o_{3}^{2}+4\sqrt{2}\,j_{1}o_{1}^{2}o_{3}+\sqrt{2}\,o_{1}^{2}o_{3}^{2}\\\
-2\sqrt{2}\,j_{1}^{2}o_{1}-2\sqrt{2}\,o_{1}o_{3}^{2}-\sqrt{2}\,j_{1}^{2}-4\sqrt{2}\,j_{1}o_{3}-\sqrt{2}\,o_{1}^{2}-\sqrt{2}\,o_{3}^{2}-2\sqrt{2}\,o_{1}+\sqrt{2}&=0\\\\[8.61108pt]
\sqrt{2}\,o_{1}^{2}-2\sqrt{2}\,o_{3}^{2}+2\sqrt{2}\,o_{1}-2\sqrt{2}\,j_{2}^{2}-\sqrt{2}\,o_{2}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{1}^{2}o_{2}-2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{1}^{2}o_{3}\\\
+2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{2}^{2}o_{3}-2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{2}o_{3}^{2}\\\
-2\sqrt{2}\,\sqrt{3}\,j_{2}o_{1}^{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{2}o_{2}^{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{1}o_{2}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}o_{3}^{2}-2\sqrt{2}\,j_{2}^{2}o_{1}^{2}o_{2}^{2}o_{3}^{2}+12\sqrt{2}\,j_{2}^{2}o_{1}o_{2}o_{3}+8\sqrt{2}\,j_{2}o_{1}^{2}o_{2}^{2}o_{3}\\\
+12\sqrt{2}\,j_{2}o_{1}o_{2}o_{3}^{2}+2\sqrt{2}\,j_{2}^{2}o_{1}o_{2}^{2}o_{3}^{2}-\sqrt{2}\,o_{1}^{2}o_{3}^{2}+2\sqrt{2}\,o_{1}o_{3}^{2}-\sqrt{2}\,j_{2}^{2}o_{1}^{2}+\sqrt{2}\,j_{2}^{2}o_{2}^{2}\\\
+2\sqrt{2}\,j_{2}^{2}o_{3}^{2}-8\sqrt{2}\,j_{2}o_{3}+2\sqrt{2}\,j_{2}^{2}o_{1}+2\sqrt{2}\,o_{1}o_{2}^{2}-2\sqrt{2}\,\sqrt{3}\,o_{2}-2\sqrt{2}\,o_{1}^{2}o_{2}^{2}+\sqrt{2}\,o_{2}^{2}o_{3}^{2}\\\
+2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{1}^{2}o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{1}o_{2}o_{3}^{2}-8\sqrt{2}\,\sqrt{3}\,j_{2}o_{1}o_{2}o_{3}-12\sqrt{2}\,o_{3}o_{1}o_{2}\\\
+2\sqrt{2}\,j_{2}^{2}o_{1}^{2}o_{2}^{2}+\sqrt{2}\,j_{2}^{2}o_{1}^{2}o_{3}^{2}-\sqrt{2}\,j_{2}^{2}o_{2}^{2}o_{3}^{2}-4\sqrt{2}\,j_{2}o_{1}^{2}o_{3}+4\sqrt{2}\,j_{2}o_{2}^{2}o_{3}\\\
-12\sqrt{2}\,j_{2}o_{1}o_{2}+2\sqrt{2}\,j_{2}^{2}o_{1}o_{2}^{2}+2\sqrt{2}\,j_{2}^{2}o_{1}o_{3}^{2}+2\sqrt{2}\,o_{1}o_{2}^{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,j_{2}^{2}o_{2}\\\
+2\sqrt{2}\,\sqrt{3}\,j_{2}o_{1}^{2}-2\sqrt{2}\,\sqrt{3}\,j_{2}o_{2}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{3}-2\sqrt{2}\,\sqrt{3}\,o_{2}^{2}o_{3}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}+2\sqrt{2}\,o_{1}^{2}o_{2}^{2}o_{3}^{2}+2\sqrt{2}&=0\\\\[8.61108pt]
\sqrt{2}\,o_{1}^{2}-2\sqrt{2}\,o_{3}^{2}+2\sqrt{2}\,o_{1}-\sqrt{2}\,o_{2}^{2}-2\sqrt{2}\,j_{3}^{2}+8\sqrt{2}\,j_{3}o_{1}^{2}o_{2}^{2}o_{3}+12\sqrt{2}\,j_{3}o_{1}o_{2}o_{3}^{2}\\\
+2\sqrt{2}\,j_{3}^{2}o_{1}o_{2}^{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{1}^{2}o_{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{1}^{2}o_{3}-2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{2}^{2}o_{3}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}o_{1}^{2}o_{3}^{2}\\\
-2\sqrt{2}\,\sqrt{3}\,j_{3}o_{2}^{2}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{1}o_{2}-2\sqrt{2}\,j_{3}^{2}o_{1}^{2}o_{2}^{2}o_{3}^{2}+12\sqrt{2}\,j_{3}^{2}o_{1}o_{2}o_{3}\\\
-\sqrt{2}\,j_{3}^{2}o_{1}^{2}+\sqrt{2}\,j_{3}^{2}o_{2}^{2}+2\sqrt{2}\,j_{3}^{2}o_{3}^{2}-8\sqrt{2}\,j_{3}o_{3}+2\sqrt{2}\,j_{3}^{2}o_{1}-\sqrt{2}\,o_{1}^{2}o_{3}^{2}+2\sqrt{2}\,o_{1}o_{3}^{2}\\\
+2\sqrt{2}\,o_{1}o_{2}^{2}+2\sqrt{2}\,\sqrt{3}\,o_{2}-2\sqrt{2}\,o_{1}^{2}o_{2}^{2}+\sqrt{2}\,o_{2}^{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{1}^{2}o_{2}o_{3}^{2}\\\
-2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{1}o_{2}o_{3}^{2}+8\sqrt{2}\,\sqrt{3}\,j_{3}o_{1}o_{2}o_{3}-12\sqrt{2}\,o_{3}o_{1}o_{2}+2\sqrt{2}\,o_{1}o_{2}^{2}o_{3}^{2}\\\
-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{2}-2\sqrt{2}\,\sqrt{3}\,o_{1}^{2}o_{3}+2\sqrt{2}\,\sqrt{3}\,o_{2}^{2}o_{3}+2\sqrt{2}\,\sqrt{3}\,o_{2}o_{3}^{2}-2\sqrt{2}\,\sqrt{3}\,o_{1}o_{2}\\\
+2\sqrt{2}\,o_{1}^{2}o_{2}^{2}o_{3}^{2}-4\sqrt{2}\,j_{3}o_{1}^{2}o_{3}+4\sqrt{2}\,j_{3}o_{2}^{2}o_{3}-12\sqrt{2}\,j_{3}o_{1}o_{2}+2\sqrt{2}\,j_{3}^{2}o_{1}o_{2}^{2}\\\
+2\sqrt{2}\,j_{3}^{2}o_{1}o_{3}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}^{2}o_{2}-2\sqrt{2}\,\sqrt{3}\,j_{3}o_{1}^{2}+2\sqrt{2}\,\sqrt{3}\,j_{3}o_{2}^{2}+2\sqrt{2}\,j_{3}^{2}o_{1}^{2}o_{2}^{2}\\\
+\sqrt{2}\,j_{3}^{2}o_{1}^{2}o_{3}^{2}-\sqrt{2}\,j_{3}^{2}o_{2}^{2}o_{3}^{2}+2\sqrt{2}&=0\end{aligned}\right.$
(17)