# Inertial line-of-sight stabilization using a 3-dof spherical parallel manipulator with coaxial input shafts

Alexandre Lê, Guillaume Rance, Fabrice Rouillier, Damien Chablat

## ► To cite this version:

Alexandre Lê, Guillaume Rance, Fabrice Rouillier, Damien Chablat. Inertial line-of-sight stabilization using a 3-dof spherical parallel manipulator with coaxial input shafts. OPTRO2024 - 11th International Symposium on Optronics in defence & security, Jan 2024, Bordeaux, France. hal-04483255

HAL Id: hal-04483255

https://inria.hal.science/hal-04483255v1

Submitted on 29 Feb 2024

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# INERTIAL LINE-OF-SIGHT STABILIZATION USING A 3-DOF SPHERICAL PARALLEL MANIPULATOR WITH COAXIAL INPUT SHAFTS

Alexandre LÉ(1),(2),(3), Guillaume RANCE(1), Fabrice ROUILLIER(2),(3), and Damien CHABLAT(4)

**KEYWORDS:** Spherical Parallel Robots, LOS stabilization, Sights, Speed Control.

**ABSTRACT:**

This article dives into the use of a 3-RRR Spherical Parallel Manipulator (SPM) for the purpose of inertial Line Of Sight (LOS) stabilization. Such a parallel robot provides three Degrees of Freedom (DOF) in orientation and is studied from the kinematic point of view. In particular, one guarantees that the singular loci (with the resulting numerical instabilities and inappropriate behavior of the mechanism) are far away from the prescribed workspace. Once the kinematics of the device is certified, a control strategy needs to be implemented in order to stabilize the LOS through the upper platform of the mechanism. Such a work is done with MATLAB Simulink® using a SimMechanics™ model of our robot.

# 1. INTRODUCTION

## 1.1. Context of the study

A classical approach for Line Of Sight (LOS) stabilization involves the use of gimbal-based systems [Masten, 2008, Hilkert, 2008]. Such devices behave like *serial* robots and provide up to two Degrees Of Freedom (DOF) in orientation. This article is focusing on LOS stabilization using a *parallel robot* that provides three DOF in orientation. Unlike their *serial* counterparts, parallel manipulators are closed-loop kinematic chains with at least two legs mostly actuated at their bases (the other joints are then passive). As a result, many parts of the robot are subject to traction/compression constraints so that it is possible to use less powerful actuators. They are also known for presenting very good performance in terms of dynamics, stiffness and accuracy. More general information about parallel robots can be

found in [Merlet, 2006]. Nowadays, the vast majority of commercial gyrostabilized sights uses gimbal systems for a LOS stabilization w.r.t. two rotational DOF: unlimited bearing, and elevation. Given all the before-mentioned advantages of parallel robots, the idea is to use a Spherical Parallel Manipulator (SPM) [Gosselin and Hamel, 1994] with coaxial input shafts (CoSPM) to inertially stabilize the LOS w.r.t. a third rotational DOF called bank. Such an upgrade improves the quality of LOS stabilization in the sense that the field of view is mechanically non-rotating around the LOS axis.

<figure><img src="image_2.png" /><figcaption>Figure 1. Illustration of the SPM with coaxial input shafts of interest</figcaption></figure>

## 1.2. Presentation of the mechanism

The CoSPM of interest is depicted in Figure 1. It is a parallel robot with three kinematic chains (the first one in red, the second one in yellow and the third

<footnote>(1) Safran Electronics & Defense, 100 avenue de Paris, 91344 Massy CEDEX, Île-de-France, France (e-mail: {alexandre-thanh.le, guillaume.rance}@safrangroup.com).</footnote>

<footnote>(2) Sorbonne Université, Université de Paris Cité, Institut de Mathématiques de Jussieu Paris Rive Gauche, 4 place Jussieu, 75252 Paris CEDEX 05, Île-de-France, France.</footnote>

<footnote>(3) Inria Paris, 2 rue Simone If, 75012 Paris, Île-de-France, France (e-mail: {alexandre.le, fabrice.rouillier}@inria.fr).</footnote>

<footnote>(4) Nantes Université, École Centrale Nantes, CNRS, LS2N, UMR 6004, F-44000, Nantes, France (e-mail: damien.chablat@cnrs.fr)</footnote>
<figure><img src="image_3.png" /><figcaption>Figure 2. Rotation order using the Euler Tait-Bryan ZYX convention</figcaption></figure>

one in green). Such a manipulator is spherical in the sense that the upper platform only makes pure spherical motions that are described in this article as a composition of three elementary rotations using the Euler Tait-Bryan ZYX convention as illustrated in Figure 2. Given that formalism, the device can at least make:

* unlimited bearing $\chi_3$ (rotation around the $z_0$-axis) thanks to its coaxial input shafts;

* an elevation angle $\chi_2$ (rotation around the $y_1$-axis) of 100°;

* a bank angle $\chi_1$ (rotation around the $x_2$-axis) of $\pm 10^\circ$.

This subset of the workspace of interest is called *prescribed regular workspace* and will be denoted as $W^*$ in the sequel. The three before-mentioned DOFs in $\chi_1, \chi_2$ and $\chi_3$ are called *orientation* of the sight. It is worth stressing that such orientations are obtained through the angular motion of the three actuators located at the base of the SPM as shown in Figure 3 (the other joints being passive).

<figure><img src="image_4.png" /><figcaption>Figure 3. Tools for the description of the SPM</figcaption></figure>

In the sequel, one can put the orientation angles into the vector $\chi \triangleq [\chi_1 \ \chi_2 \ \chi_3]^T$ whereas the three actuators can be described by the actuated joint vector $\theta \triangleq [\theta_1 \ \theta_2 \ \theta_3]^T$. Moreover, one introduces the basis that are useful for the definition of the design parameters of the mechanism:

* $B_b \triangleq \{x_b, y_b, z_b\}$ related to the base of the robot;

* $B_* \triangleq \{x_*, y_*, z_\}$ related to the upper platform containing the sight device.

At home configuration, one obviously has $B_b \equiv B_*$. Furthermore, the axis $-x_*$ defines the LOS axis of the device given our conventions.

<figure><img src="image_5.png" /><figcaption>Figure 4. Details on the design parameters and the vectors of the SPM with coaxial input shafts</figcaption></figure>

Figure 4 and Table 1 highlight the several design parameters of the robot. Each leg $i$ (3 in total, see
<table><caption>Table 1. Design parameters of the SPM of interest</caption><thead><tr><th>Design parameter</th><th>Notation</th><th>Value (rad)</th><th>Definition</th></tr></thead><tbody><tr><td rowspan="3">Proximal link α<sub>1,i</sub><br>(i<sup>th</sup> leg)</td><td>α<sub>1,1</sub></td><td>π/4</td><td>∠(<b>u</b><sub>1</sub>, <b>w</b><sub>1</sub>)</td></tr><tr><td>α<sub>1,2</sub></td><td>π/4</td><td>∠(<b>u</b><sub>2</sub>, <b>w</b><sub>2</sub>)</td></tr><tr><td>α<sub>1,3</sub></td><td>π/2</td><td>∠(<b>u</b><sub>3</sub>, <b>w</b><sub>3</sub>)</td></tr><tr><td rowspan="3">Distal link α<sub>2,i</sub><br>(i<sup>th</sup> leg)</td><td>α<sub>2,1</sub></td><td>π/2</td><td>∠(<b>w</b><sub>1</sub>, <b>v</b><sub>1</sub>)</td></tr><tr><td>α<sub>2,2</sub></td><td>π/2</td><td>∠(<b>w</b><sub>2</sub>, <b>v</b><sub>2</sub>)</td></tr><tr><td>α<sub>2,3</sub></td><td>π/2</td><td>∠(<b>w</b><sub>3</sub>, <b>v</b><sub>3</sub>)</td></tr><tr><td rowspan="3">Pivot linkage disposition η<sub>i</sub><br>(i<sup>th</sup> leg)</td><td>η<sub>1</sub></td><td>π/4</td><td>∠(<b>y</b><sub>*</sub>, <b>v</b><sub>1</sub>)</td></tr><tr><td>η<sub>2</sub></td><td>-π/4</td><td>∠(<b>y</b><sub>*</sub>, <b>v</b><sub>2</sub>)</td></tr><tr><td>η<sub>3</sub></td><td>0</td><td>∠(<b>y</b><sub>*</sub>, <b>v</b><sub>3</sub>)</td></tr><tr><td>Inner platform's geometry</td><td>β<sub>1</sub></td><td>0</td><td>∠(<b>u</b><sub>i</sub>, -<b>z</b><sub>b</sub>)</td></tr><tr><td>Upper platform's geometry</td><td>β<sub>2</sub></td><td>π/2</td><td>∠(<b>z</b><sub>*</sub>, <b>v</b><sub>i</sub>)</td></tr></tbody></table>

Fig. 4b–4d):

* is attached to the base through an actuated revolute joint of rotation axis $u_i$;

* has two bodies – a proximal link (lighter shade) of angle $α_{1,i}$ and a distal link (darker shade) of angle $α_{2,i}$ – that are connected through a passive revolute joint of rotation axis $w_i$;

* is then linked to the platform containing the sight device by the means of another passive revolute joint of rotation axis $v_i$.

Note that this robot is asymmetrical in the sense that the proximal link can vary from one leg to another and that the pivot linkages of the upper platform are not regularly spaced (see Fig. 4e).

## 2. KINEMATIC ANALYSIS

### 2.1. Geometric model

Any SPM only makes spherical motions around its center of rotation O that is also the center of mass of the sight device in our case (see Fig. 4a). Using this kinematic property, one can describe its geometry as in [Lê et al., 2023] using vectors $u_i$, $w_i$ and $v_i$. As stressed in Figure 4, all these vectors are concurrent in O. The reader may refer to Appendix A or [Lê et al., 2023] detailing the expressions of these vectors. One can show that the geometric model of a general SPM is established using the following kinematic closure.

$$ 
\begin{aligned}
f(\theta, \chi) &\triangleq \begin{bmatrix} w_1^T(\theta_1) v_1(\chi) - \cos(\alpha_{2,1}) \\ w_2^T(\theta_2) v_2(\chi) - \cos(\alpha_{2,2}) \\ w_3^T(\theta_3) v_3(\chi) - \cos(\alpha_{2,3}) \end{bmatrix} \\
&= 0_{3 \times 1}
\end{aligned} 
\quad (1) 
$$

Appendix A shows the detailed geometric model of the SPM of interest. Solving (1) at home configures,

i.e. for $χ = 0$ yields $θ = π/2$ given the leaf of solution of interest.

### 2.2. First order kinematic model

Differentiating (1) w.r.t. time provides the first order kinematic model, i.e.

$$ \dot{f}(\theta, \chi) = J_1 \dot{\chi} + J_2 \dot{\theta} = 0_{3 \times 1} \quad (2) $$

where $\dot{\chi}$ denotes the vector of the angular rates and $\dot{\theta}$ the vector of the joint velocities. From this expression, one can deduce the first order Forward (3a) and Inverse (3b) kinematic models:

$$ \dot{\chi} = -J_1^{-1} J_2 \dot{\theta} = J \dot{\theta} \quad (3a) $$

$$ \dot{\theta} = -J_2^{-1} J_1 \dot{\chi} = J^{-1} \dot{\chi} \quad (3b) $$

with $J = -J_1^{-1}J_2$ being the Jacobian matrix of the SPM and $J^{-1} = -J_2^{-1}J_1$ its inverse, both defined through $J_1 \triangleq \partial f / \partial \chi$ and $J_2 \triangleq \partial f / \partial \theta$. However, the speed control used for the LOS stabilization requires to express this kinematic model in function of the velocity of the sight device. Such a value is expressed w.r.t. the base in the LOS frame $\mathcal{F}_*$ and will be denoted in the sequel as $*\Omega_{*|b}$. One obtains the latter through the following mapping

$$ *\Omega_{*|b} = T(\chi) \dot{\chi} \quad (4) $$

where

$$ T(\chi) = \begin{bmatrix} 1 & 0 & -\sin(\chi_2) \\ 0 & \cos(\chi_1) & \sin(\chi_1) \cos(\chi_2) \\ 0 & -\sin(\chi_1) & \cos(\chi_1) \cos(\chi_2) \end{bmatrix} \quad (5) $$

**Remark 1.** It is worth stressing that *T* becomes singular if $χ_2 = ±π/2$.

For $χ_2 \neq ±π/2$, the angular velocity vector $*\Omega_{*|b}$
is thus linked to the joint velocities $\dot{\theta}$ by

$$ ^{*}\Omega_{*/b} = T J \dot{\theta} \qquad (6) $$

Such a relationship will be later used in the speed loop control of the SPM.

## 2.3. Coaxiality of the input shafts

The next proposition states an important kinematic property of all coaxial SPMs (CoSPM).

**Proposition 1.** For any 3-DOF 3-RRR CoSPM, each actuated joint $\theta_i$ ($i \in [1, 3]$) making the same displacement $-\epsilon$ generates a pure bearing motion $\epsilon$.

*Proof.* Computing the general geometric model (1) of 3-DOF 3-RRR SPMs with $\theta'_i := \theta_i + \epsilon$, $i \in [1, 3]$ yields

$$ f(\theta_1 + \epsilon, \theta_2 + \epsilon, \theta_3 + \epsilon, \chi_1, \chi_2, \chi_3) = \mathbf{0}_{3 \times 1} $$

By expanding all the terms in $\cos(\theta_i + \epsilon)$ and $\sin(\theta_i + \epsilon)$ using the classical trigonometric identities while considering coaxiality ($\beta_1 = 0$), one can show that the expanded expressions are factorizable by $\cos(\chi_3 + \epsilon)$ or $\sin(\chi_3 + \epsilon)$, leading to

$$ f(\theta_1 + \epsilon, \theta_2 + \epsilon, \theta_3 + \epsilon, \chi) = f(\theta, \chi_1, \chi_2, \chi_3 + \epsilon) \qquad (7) $$

These factorizations cannot be achieved if $\beta_1 \neq 0$, i.e. if the mechanism is not coaxial. Equation (7) clearly shows that an $\epsilon$-displacement in bearing $\chi_3$ requires to move all the actuators $\theta_i$ by a quantity $-\epsilon$. The sign “-” appears because the motion of the $i^{th}$ actuator is described by an angle $\theta_i$ defined with the counterclockwise direction w.r.t. $^b u_i$ (and thus, with the clockwise direction w.r.t. $z_b$). $\square$

This leads to the following statement.

**Lemma 1.** Any 3-DOF 3-RRR SPM with coaxial input shafts is geometrically invariant w.r.t. bearing $\chi_3$.

One will take advantage of such a consideration for the singularity analysis of the mechanism.

## 2.4. Singularity analysis

### 2.4.1. Issues & strategies

Singularity loci are problematical configurations in which the robot does not behave properly, namely in terms of DOF. The main reasons are a loss of at least one controllable DOF (Type-1 singularity) or the gain of at least one uncontrollable DOF (Type-2 singularity). From the first order kinematic model viewpoint, Type-1 singularity occurs when $J_2(\theta, \chi)$ is no longer invertible whereas Type-2 singularity occurs when $J_1(\theta, \chi)$ becomes singular. As a result, numerical instabilities may arise in the neighborhood of such areas jeopardizing the integrity of the

device. The aim of this subsection is to study these singularities in the work- and joint spaces of interest. In particular, one ensures that both spaces are singularity-free in a certified manner for our mechanism, since singularity loci are intrinsically subject to the design parameters of the system. Such a work is crucial to prevent any unstable and undesirable behavior of the robot. In our very case, such a study can be simplified by:

* taking into account Lem. 1, i.e. the invariance of the SPM's geometry and thus its singularities w.r.t. bearing $\chi_3$;

* turning the non-linear system $f(\theta, \chi)$ into a polynomial one $F(\Theta, X)$.

It has been shown in [Lê et al., 2023] that the polynomial system $F(\Theta, X)$ of any SPM can be written as

$$ F(\Theta, X) \triangleq \begin{bmatrix} a_1(X) \Theta_1^2 + b_1(X) \Theta_1 + c_1(X) \\ a_2(X) \Theta_2^2 + b_2(X) \Theta_2 + c_2(X) \\ a_3(X) \Theta_3^2 + b_3(X) \Theta_3 + c_3(X) \end{bmatrix} = \mathbf{0}_{3 \times 1} \qquad (8) $$

where the vectors $X \triangleq [X_1 \ X_2 \ X_3]^T$ and $\Theta \triangleq [\Theta_1 \ \Theta_2 \ \Theta_3]^T$ are defined by

$$ X_i \triangleq \tan\left(\frac{\chi_i}{2}\right), \quad \Theta_i \triangleq \tan\left(\frac{\theta_i}{2}\right), \quad \forall i \in [1, 3] \qquad (9) $$

The coefficients $a_i(X)$, $b_i(X)$, and $c_i(X)$ are not shown in this article but can be easily computed.

**Remark 2.** The reader may notice that each polynomial $F_i(\Theta_i, X)$ of (8) is quadratic w.r.t. $\Theta_i$, $i \in [1, 3]$. Using such a formalism is particularly suitable for the computation of the inverse geometric model, i.e. finding the joint vector $\theta$ from a given orientation vector $\chi$.

### 2.4.2. Type-1 singularities

As in [Lê et al., 2023], finding Type-1 singularity loci of any 3-DOF 3-RRR SPM can be done by computing the critical points belonging to the discriminant variety [Lazard and Rouillier, 2007] of the inverse geometric model in its polynomial form, i.e. $W_c(X) = \text{discrim}(F, X)$. One sets $X_3$ (or $\chi_3$) at an arbitrary real value (e.g. 0). Figure 5 shows the Type-1 singularity loci of the mechanism of interest in the $(\chi_1, \chi_2)$-plane and the prescribed workspace $W^*$ defined earlier in Section 1.2.

Physically speaking, Type-1 singularities are configurations where at least one leg of the SPM is folded or unfolded. Such a phenomenon never occurs in the prescribed workspace as $W^*$ never meets $W_c(X)$.
<figure><img src="image_6.png" /><figcaption>Figure 7. Block diagrams considered for the inertial LOS stabilization</figcaption></figure>

Both values will be expressed in the LOS frame $\mathcal{F}_*$. It can then be shown that

$$ \begin{aligned} *\Omega_{b/i} &= R_z(\chi_3)R_y(\chi_2)R_x(\chi_1)^b *\Omega_{b/i} \\ &= R_z(\chi_3)R_y(\chi_2)R_x(\chi_1)T'(\nu)\dot{\nu} \end{aligned} \quad (10) $$

where $\dot{\nu} \triangleq [\dot{\nu}_1 \ \dot{\nu}_2 \ \dot{\nu}_3]^T$ denotes the angular disturbances rate vector and

$$ T'(\nu) = \begin{bmatrix} 1 & 0 & -\sin(\nu_2) \\ 0 & \cos(\nu_1) & \sin(\nu_1)\cos(\nu_2) \\ 0 & -\sin(\nu_1) & \cos(\nu_1)\cos(\nu_2) \end{bmatrix} \quad (11) $$

which is singular iff $\nu_2 = \pm \pi/2$.

### 3.2.1. Description

Figure 7a shows the block diagram of the speed control for the LOS stabilization. This control loop can be divided into three parts:

* the system itself (also called plant) which is modelled by its actuators $H_m(s)$ generating the motions $\dot{\chi}$ through $\dot{\theta}$ and its kinematic Jacobian $J$;

* the sensor $\beta(s)$ which is an Inertial Measurement Unit (IMU) and whose goal is to measure $*\Omega_{*i}$;

* the controller part $K_v$.

As the Jacobian matrices are defined through $\theta$ and $\chi$, one has at disposal a sensor measuring the current joint values $\dot{\theta}$. The orientation vector $\chi$ is then estimated through a Newton scheme solving $\dot{\chi} = f(\dot{\theta})$ which does not bring instability given the analysis done in Subsection 2.4.3.

The inertial angular velocity $*\overline{\Omega}_{*i}$ is given as the input reference signal. Its actual value is being estimated. The resulting velocity error estimation $\epsilon_\Omega$ defined by

$$ \epsilon_\Omega \triangleq *\overline{\Omega}_{*i} - *\dot{\Omega}_{*i} \quad (12) $$

is then given to the controller that computes the appropriate command $\dot{\theta}$ to the plant for the LOS stabilization despite the LOS disturbances $*\Omega_{b/i}$. Each residual error signal $\epsilon_i$, $i \in [1, 3]$ can then be defined by

$$ \epsilon_i = \int_{t_0=0}^{t} \epsilon_{\Omega,i}(\tau) \, d\tau \quad (13) $$

In the sequel, one considers the three identical actuators having a large reduction ratio $N$. As a result, the dynamics of the overall system can be considered as decoupled. Moreover, the diagonal transfer function matrix $H_m(s)$ must be regarded as a closed-loop transmittance matrix of the three actuators. The detailed block diagram of the $k^{th}$ diagonal component of this matrix is represented in Figure
7b. Such a model takes into account:

* the electric resistance R [Ω];

* the moment of inertia of the rotor $J_m$ [kg·m²];

* the electromotive force constant $K_c$ [Nm/A];

* the friction torque $\Gamma_{f,k}$ [Nm] applied to the kth actuator.

It is simplified in the sense that the electric induc-
tance L is neglected and the friction f of the me-
chanical part is treated as an external step distur-
bance torque $\Gamma_f \triangleq [ \Gamma_{f,1} \ \Gamma_{f,2} \ \Gamma_{f,3} ]^T$.

In fact, each of its components $\Gamma_{f,k}$ acts as a
*Coulomb friction* torque defined as

$$
\Gamma_{f,k} \triangleq f_k \operatorname{sgn}(\dot{\theta}_k) \quad (14)
$$

with $f_k$ being the friction coefficient applied to the k$^{th}$
actuator.

Moreover, each actuator is controlled using a pro-
portional controller $K_m(s) = K_m$ with a unitary feed-
back loop (assumed ideal). Under all these assump-
tions, $H_m(s) = \text{diag}(H_{m,11}, H_{m,22}, H_{m,33})$ can be
viewed as a diagonal matrix of first order transfer
functions

$$
H_m(s) = \frac{1}{1 + \tau_m s} \mathbf{I}_3 \quad (15)
$$

with $\tau_m = RJ_m / (N^2 K_m K_c)$ being the time constant of the actuators. In the sequel, one sets its value at $\tau_m = 1.6 \times 10^{-3}$ s. Note that the disturbance torque $\Gamma_f$ can be treated as a step input disturbance by being brought at the upstream of $H_m(s)$.

Furthermore, the sensor is modelled by a diago-
nal transfer matrix composed of pure delays $T_e$

$$
\beta(s) = e^{-T_e s} \mathbf{I}_3 \quad (16)
$$

where $T_e$ denotes the sampling period of the control
loop. In our case $T_e = 10^{-3}$ s. Finally, the determi-
nation of $K_v$ will be discussed in the next subsec-
tions.

3.2.2. Synthesis of the controller

As shown in Figure 7a, the controller $K_v$ is defined
by

$$
K_v = J^{-1} T^{-1} K_0(s) \quad (17)
$$

where:

* $J^{-1}$ is the inverse kinematic Jacobian matrix;

* $T^{-1}$ translating the Tait-Bryan angular rates $\dot{\chi}$ into the velocity vector $^*\Omega_{\star/b}$ through (4);

* $K_0(s)$ the linear part of the controller.

Recall that the overall system is considered as de-
coupled. It can then be viewed as three independent
and identical speed loops in $^*\dot{\Omega}_{\star/i,j}$, $j \in [1, 3]$. As a
result, the linear controller matrix $K_0(s)$ is diagonal

such that $K_0(s) = K_0(s) \mathbf{I}_3$. In the sequel, $K_0(s)$ is
defined as follows:

$$
K_0(s) = \bar{K}_0 \frac{(s^2 + b_1 s + b_2) \prod_{i=1}^{3} (s + a_i)}{s^2 \prod_{i=1}^{2} s^2 + c_i s + d_i} \quad (18)
$$

with $\bar{K}_0 = 25884$, $a_1 = 4644$, $a_2 = 628.3$, $a_3 = 52.97$,
$b_1 = 7356$, $b_2 = 2.584 \times 10^7$, $c_1 = 3.39 \times 10^4$, $d_1 =
2.943 \times 10^8$, $c_2 = 2899$, and $d_2 = 2.169 \times 10^7$.

The open loop of each speed component $^*\dot{\Omega}_{\star/i,j}$,
$j \in [1, 3]$ is then defined by $K_0(s)H_m(s)\beta_{jj}(s)$. Fig-
ure 8 shows its Black-Nichols chart. The system has
a phase margin of $\Delta\varphi = 60^\circ$ and a gain margin of
$\Delta G = 14.2$ dB. Such a controller will be discretized
using the zero order hold method given $T_e$.

<figure><img src="image_7.png" /><figcaption>Figure 8. Black-Nichols chart of the open-loop</figcaption></figure>

Finally, the transfer between the speed error and
the output disturbance for each loop j denoted in
the sequel as $D_j(s)$ is given by

$$
D_j(s) \triangleq \frac{\varepsilon_{\Omega,j}(s)}{s^* \Omega_{b/i,j}(s)} = \frac{\beta_{jj}(s)}{1 + K_0(s)H_m(s)\beta_{jj}(s)} \quad (19)
$$

Figure 9 displays the Bode diagram of $D_j(s)$.

**3.3. Simulations**

The following simulations are made using MATLAB
2023b with Simulink®.

3.3.1. Inertial LOS stabilization

In this subsection, the goal is to maintain the LOS
at its home configuration despite the motion of the
carrier subject to waves. For this purpose, the refer-
ence signal is defined by $^*\dot{\Omega}_{\star/i} = 0$. One assumes
that the angular disturbances are expressed through

$$
\forall i \in [1, 3], \quad \nu_i(t) = \bar{\nu}_i \cos(2\pi f_i t) \quad (20)
$$

We set the following parameters as follows:
<figure><img src="image_8.png" /><figcaption>Figure 9. Bode diagram of $D_j(s)$</figcaption></figure>

• $\bar{\nu}_1 = \bar{\nu}_2 = 10^\circ$ and $\bar{\nu}_3 = 0$;

• $f_1 = 0.1$ Hz and $f_2 = 0.075$ Hz;

• input disturbance treated as a step of magnitude 1.

The non-measurable external disturbance velocity *$\Omega_{b/i}$* can be deduced from (10), (11) and the orientation vector $\chi$ of the platform. The parallel robot is initially set in its home configuration, i.e. $\chi = 0$ and $\theta = \frac{\pi}{2}$ 1$_{3\times1}$. Given these conditions, a simulation spanning 30 seconds gives the following results:

• Figure 10 shows the time response of *$\Omega_{\star/i}$* being the angular velocity of the sight in the transient (Fig. 10a) and steady (Fig. 10b) states.

• Figure 11 plots the stabilization residual error $\epsilon$ of the sight device in the transient (Fig. 11a) and steady (Fig. 11b) states.

• Figure 12 depicts the joint values $\dot{\theta}$ used as the input signal vector of the robot modelled by its Jacobian $J$ (Fig. 12a) and steady (Fig. 12b) states.

• Figure 13 depicts the joint values $\theta$ used to counteract the disturbances and maintain the LOS.

On the one hand, one can see from Fig. 10 and 11 that the input disturbance torque is entirely rejected from the beginning of the simulation. This results also make sense regarding the Bode diagram of $D_j(s)$ (Figure 9). For instance, one focuses on the first speed component *$\Omega_{\star/i,1}$* (blue curve of Fig. 10). According to the Bode diagram of $D_j(s)$ at $\omega_1 = 2\pi f_1 \approx 0.62$ rad/s, one has $|D_1(i\omega_1)| \approx -90$ dB. This means that a unitary sine disturbance input *$\Omega_{b/i,1}$* with the same frequency $\omega_1$ will be attenuated by a factor $10^5$. Given the magnitude of *$\Omega_{b/i}$*, this speed error in the steady state has an order of magnitude of $10^{-6}$, as confirmed by Fig. 10b. Moreover, the magnitude of the residual stabilization error does not exceed 6 µrad. Such results are in

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /><figcaption>Figure 10. Inertial velocity *$\Omega_{\star/i}$* of the sight device</figcaption></figure>

<figure><img src="image_11.png" /></figure>

<figure><img src="image_12.png" /><figcaption>Figure 11. Stabilization residual error $\epsilon$</figcaption></figure>
<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /><figcaption>Figure 12. Joint velocities</figcaption></figure>

accordance with the requirements explained in Sub-
section 3.1.

<figure><img src="image_15.png" /><figcaption>Figure 13. Associated joint values</figcaption></figure>

On the other hand, the motion of the actuators
required to fulfill the inertial LOS stabilization is rea-
sonable in the sense that the joint velocities (Figure
12) do not have excessive values.

**3.3.2. Implementation using a digital model**

In this last simulation, we implemented a digital
model of the spherical parallel robot and its speed
control in a MATLAB Simulink® environment (here
2022a). The latter is interfaced with the CATIA files
of the mechanism via SimMechanics™. Figure 14

<figure><img src="image_16.png" /><figcaption>Figure 14. Digital model of the SPM</figcaption></figure>

shows the screenshot of the before-mentioned digi-
tal model.

Such a model allows us to have an overview of
the dynamics of the robot. It is in this regard com-
plementary to the kinematic study of the mecha-
nism discussed in this article. For instance, one can
evaluate the torque τ ≜ [ τ₁ τ₂ τ₃ ]ᵀ required to
move the several actuators, as shown in Figure 15,
where τᵢ denotes the torque applied to the i-th actu-
ator.

<figure><img src="image_17.png" /></figure>

<figure><img src="image_18.png" /><figcaption>Figure 15. Motor torque of the SPM</figcaption></figure>

These curves show that the engine torques re-
quired to stabilize the LOS are reasonable: one ob-
tains torques in absolute values that do not exceed
4 Nm in the transient state and 2.5 Nm in steady state.

## 4. CONCLUSION & OUTLOOK

This paper discussed on the use of a 3-DOF Spherical Parallel Manipulator with coaxial shafts that embeds a sight device for the inertial LOS stabilization. Having at disposal its kinematic model, it has been shown that a speed control loop achieves the disturbance rejection taking into account the motion of the carrier as well as the friction torque undergone by the actuators. Such results are also verified with the SimMechanics™ digital model of our robot simulating its dynamics.

Although the kinematics of the robot is certified for our regular workspace, the control strategy is not. Indeed, the inertial speed reference can in fact make the mechanism leave the safe region without knowing it. In this case, one cannot guaranty the good behavior of the device and its control. By the same logic, the current control loop does not take into account uncertainties on the system that can bring instability in the worst case. In this regard, further works will focus on the robustness of the system and a management of the joint stops to avoid the robot leaving the safe regions. Such aspects will bring the certification to the speed control.

As the article mainly focused on the kinematics of the robot, an interesting outlook could be diving into the dynamic model of the latter.

## ACKNOWLEDGMENT

The authors of this article want to thank Arnaud QUADRAT for his careful review and relevant suggestions.

## REFERENCES

[Bai et al., 2009] Bai, S., Hansen, M. R., and Angeles, J. (2009). A robust forward-displacement analysis of spherical parallel robots. *Mechanism and Machine Theory*, 44:2204–2216. (Citation on page 10)

[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. (Citation on page 1)

[Hilkert, 2008] Hilkert, J. (2008). Inertially stabilized platform technology concepts and principles.

IEEE Control Systems Magazine, 28(1):26–46. (Citation on page 1)

[Kantorovich, 1948] Kantorovich, L. V. (1948). On Newton's method for functional equations. *Functional Analysis and Applied Mathematics*, 59(7):1237–1240. (Citation on page 5)

[Lazard and Rouillier, 2007] Lazard, D. and Rouillier, F. (2007). Solving parametric polynomial systems. *Journal of Symbolic Computation*, 42(6):636–667. (Citation on page 4)

[Lê et al., 2023] Lê, A., Rouillier, F., Rance, G., and Chablat, D. (2023). On the Certification of the Kinematics of 3-DOF Spherical Parallel Manipulators. *Maple Transactions*. (Citation on pages 3, 4, 10, et 11)

[Masten, 2008] Masten, M. K. (2008). Inertially stabilized platforms for optical imaging systems. *IEEE Control Systems Magazine*, 28(1):47–64. (Citation on page 1)

[Merlet, 2006] Merlet, J.-P. (2006). *Parallel Robots (Second Edition)*. Solid Mechanics and Its Application. Springer. (Citation on pages 1 & 5)

[Rouillier, 2007] Rouillier, F. (2007). *Algorithmes pour l'étude des solutions réelles des systèmes polynomiaux*. Habilitation à diriger des recherches, Université Pierre & Marie Curie - Paris 6. (Citation on page 5)

[Tursynbek and Shintemirov, 2020] Tursynbek, I. and Shintemirov, A. (2020). Infinite torsional motion generation of a spherical parallel manipulator with coaxial input axes. *2020 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM)*, pages 1780–1785. (Citation on page 11)

## APPENDICES

### A. DERIVATION OF THE GEOMETRIC MODEL OF THE 3-RRR 3-DOF SPM OF INTEREST

#### A.1. Expressions of the unit vectors

Based on the convention used in [Lê et al., 2023] and [Bai et al., 2009], one can obtain the unit vectors $u_i$, $w_i$, and $v_i$, with $i \in \{1, 3\}$ by exploiting the kinematic chain of the robot depicted in Figure 16.

Given that $z_b \triangleq [\begin{matrix} 0 & 0 & 1 \end{matrix}]^T$, one can show that they can be written in the reference frame $\mathcal{F}_b :=$
<figure><img src="image_19.png" /><figcaption>Figure 16. Kinematic chain of a general SPM</figcaption></figure>

$(O, x_b, y_b, z_b)$ as:

$$ ^b u_i = R_z(\eta_i) R_x(\beta_1 - \pi) z_b $$

$$ ^b w_i = R_z(\eta_i) R_x(\beta_1 - \pi) R_z(\theta_i) R_x(\alpha_{1,i}) z_b $$

$$ ^b v_i = R_z(\chi_3) R_y(\chi_2) R_x(\chi_1) R_z(\eta_i) R_x(-\beta_2) z_b \quad (21) $$

where $R_x$, $R_y$ and $R_z$ denote the rotation matrices around their respective local axis. The latter matrices are defined as follows:

$$ R_x(\chi_1) \triangleq \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\chi_1) & -\sin(\chi_1) \\ 0 & \sin(\chi_1) & \cos(\chi_1) \end{bmatrix} \quad (22a) $$

$$ R_y(\chi_2) \triangleq \begin{bmatrix} \cos(\chi_2) & 0 & \sin(\chi_2) \\ 0 & 1 & 0 \\ -\sin(\chi_2) & 0 & \cos(\chi_2) \end{bmatrix} \quad (22b) $$

$$ R_z(\chi_3) \triangleq \begin{bmatrix} \cos(\chi_3) & -\sin(\chi_3) & 0 \\ \sin(\chi_3) & \cos(\chi_3) & 0 \\ 0 & 0 & 1 \end{bmatrix} \quad (22c) $$

**Remark 3.** The disposition of the pivot linkage $\eta_i$, $i \in [1, 3]$ is supposed to be identical for the base and the upper platform, as in [Lê et al., 2023]. However, as our robot has coaxial input shafts ($\beta_1 = 0$), such parameters does not appear “physically” but still in the equations.

**Remark 4.** In the special case of SPMs with coaxial input shafts ($\beta_1 = 0$), one always has

$$ ^b u_i = \begin{bmatrix} 0 \\ 0 \\ -1 \end{bmatrix}, \quad \forall i \in [1, 3] $$

as mentioned in [Tursynbek and Shintemirov, 2020].

## A.2. Expression of the geometric model

Let $x_i = \cos(\chi_i)$, $y_i = \sin(\chi_i)$, $c_i = \cos(\theta_i)$, and $s_i = \sin(\theta_i)$, $i \in [1, 3]$. The detailed geometric

model of the mechanism of interest is given by:

$$ f(\theta, \chi) = \begin{bmatrix} f_1(\theta_1, \chi_1, \chi_2, \chi_3) \\ f_2(\theta_2, \chi_1, \chi_2, \chi_3) \\ f_3(\theta_3, \chi_1, \chi_2, \chi_3) \end{bmatrix}, \quad \text{with} $$

$$ \begin{aligned} f_1 = & -c_1 x_3 y_2 y_1 + s_1 x_3 y_2 y_1 + c_1 y_3 y_2 y_1 + s_1 y_3 y_2 y_1 \\ & - x_2 y_1 \sqrt{2} + c_1 x_3 x_1 + s_1 x_3 x_1 + c_1 y_3 x_1 \\ & - s_1 y_3 x_1 + c_1 x_3 x_2 - s_1 x_3 x_2 \\ & - c_1 y_3 x_2 - s_1 y_3 x_2 - y_2 \sqrt{2} \end{aligned} $$

$$ \begin{aligned} f_2 = & c_2 x_3 y_2 y_1 + s_2 x_3 y_2 y_1 + c_2 y_3 y_2 y_1 - s_2 y_3 y_2 y_1 \\ & - x_2 y_1 \sqrt{2} + c_2 x_3 x_1 - s_2 x_3 x_1 - c_2 y_3 x_1 \\ & - s_2 y_3 x_1 + c_2 x_3 x_2 + s_2 x_3 x_2 \\ & + c_2 y_3 x_2 - s_2 y_3 x_2 + y_2 \sqrt{2} \end{aligned} $$ $$ f_3 = c_3 y_1 y_2 y_3 + s_3 x_3 y_1 y_2 + c_3 x_1 x_3 - s_3 x_1 y_3 \quad (23) $$

As highlighted in Figure 16, such a system is obtained using a kinematic closure being the dot product between $w_i$ and $v_i$, $i \in [1, 3]$.