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

HAL
open science

Control analysis of an underactuated bio-inspired robot

Nicolas J.S. Testard, Christine Chevallereau, Philippe Wenger

► To cite this version:

Nicolas J.S. Testard, Christine Chevallereau, Philippe Wenger. Control analysis of an underactuated bio-inspired robot. Robotica, In press, 10.1017/S0263574724001103 . hal-04710904

HAL Id: hal-04710904

https://hal.science/hal-04710904v1

Submitted on 26 Sep 2024

**HAL** is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished 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_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
RESEARCH ARTICLE

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

CrossMark

Control analysis of an underactuated bio-inspired robot

Nicolas J.S. Testard*<fnref n="1" />, Christine Chevallereau<fnref n="1" /> and Philippe Wenger<fnref n="1" />

**Received:** xx xxx xxx; **Revised:** xx xxx xxx; **Accepted:** xx xxx xxx

**Keywords:**

**Abstract**

This paper is devoted to the control of bio-inspired robots that are underactuated. These robots are composed of tensegrity joints remotely actuated with cables, which mimic the musculoskeletal system of the bird neck. A computed torque control (CTC) is applied to these robots as well as an original control called pseudo computed torque control (PCTC). This new control uses the dynamics and the pseudo-inverse of the Jacobian matrix. The stability of the two proposed controls is then analyzed through linearization of the dynamic model and expression of the closed-loop transfer function in the Laplace domain. We show that, depending on the desired trajectory, the CTC can be unstable when the controlled variables are the end effector position and orientation. For a robot with many joints and a limited number of cables, the CTC is always unstable. Instead, the PCTC shows a large domain of stability. The analysis is complemented by experimental tests demonstrating that the CTC and PCTC exhibit similar performance when the CTC is stable. Furthermore, the PCTC maintains stability on trajectories where the CTC becomes unstable, showing robustness to perturbations as well.

# 1. Introduction

The bird neck is an interesting source of inspiration to build innovative robots. In fact, the bird uses his neck as humans use their arms. With impressive dexterity and the ability to perform rapid movements [1], bird necks are composed of vertebrae actuated by antagonistic muscles and tendons, making them suitable for modeling using tensegrity joints [2]. Tensegrity structures are composed of compressive elements like bars and tensile ones like cables [3]. One-degree-of-freedom (DoF) tensegrity joints, including revolute, anti-parallelogram, and parallelogram joints [4, 5], have attracted significant interest. In the context of bird necks, motion in the sagittal plane can be effectively approximated using anti-parallelogram joints referred to as X-joints [6]. These joints enable the emulation of muscle co-activation through antagonistic cable actuation, a capability not shared by traditional revolute joints [7]. Therefore, the design of 2D robots composed of a stack of X-joints has been introduced in [8, 9].

Control methods for tensegrity joints such as static control [10], super twisting control [11] or model predictive control [12], have been explored. For 2D robots composed of a stack of X-joints, the application of computed torque control (CTC) [13] has been demonstrated, particularly in robots featuring three X-joints, as detailed in [14, 2]. However, in all these cases, these control strategies were applied to fully actuated systems.

The study of underactuated robots is motivated by the potential cost advantages gained from reducing the number of actuators while retaining essential mobility capabilities. As discussed in [15], CTC can

<footnote n="1">¹Nantes Université, École Centrale Nantes, CNRS, LS2N, UMR 6004, F-44000 Nantes, France.</footnote>

<footnote>*Corresponding author. E-mail: nicolas.testard@ls2n.fr.</footnote>
be used for underactuated robots. While an example was presented with a serial robot featuring elastic elements, this control methodology can be applied to a wide range of underactuated systems, including parallel robots with elastic elements [16], crane-like robots [17, 18], and cable-driven parallel robots with a limited number of cables [19, 20]. Other control strategies can be applied to underactuated robots. For instance, fingers of robotic hands of [21] and [22] feature a series of revolute joints actuated by antagonistic cables, where some joints are driven by shared cables. In these cases, certain cables are actively controlled by motors, while others rely on passive tension provided by springs and an impedance control is used. However, it is important to note that this control approach is not appropriate for fast motion at the opposite of the CTC. Additionally, alternative control laws inspired by CTC, such as the one detailed in [23], can also be considered for underactuated robots.

As presented in [24] for a flexible robot or in [20] for a cable-driven parallel robot with a reduced number of cables, the control can be unstable because of the underactuation. Indeed, the system is a non-minimum phase system [25] and becomes unstable when a closed-loop control is applied. Consequently, it becomes imperative to conduct a comprehensive study on the stability of control in underactuated systems. In the case of linear systems, it is common practice to represent the closed-loop system in the Laplace domain, as described in [26], enabling the examination of stability by analyzing the poles of the transfer function, as demonstrated in [27, 28]. However, when dealing with nonlinear systems, the Lyapunov criterion [29, 30] can be employed, as exemplified in [11]. It is important to note that for the Lyapunov criterion to be applicable, a suitable Lyapunov function must be identified to provide proof of stability. In contrast, the Laplace domain can be directly applied on linearized model to prove locally both stability and instability situations.

This paper focuses on addressing the challenges of controlling underactuated robots. Our systems comprise a series of X-joints actuated by antagonist cables. They are underactuated because certain joints are actuated by the same cables. We study robots employing at most four cables to ensure plane mobility and the ability to adjust stiffness. With four cables, the robot can function as a planar robotic arm capable of performing tasks such as pick and place operations. In our earlier work [31, 32], we demonstrated that increasing the number of joints while maintaining the same number of motors can expand the workspace. However, it is worth noting that underactuation in such a system can introduce control instability.

Section 2 provides an overview of the robot under consideration, introducing its key characteristics and design. The implementation of CTC for our robot is detailed in Section 3. In our analysis, it becomes evident that this control method can exhibit instability due to the inherent underactuation of the system. We emphasize that the stability of the CTC depends on specific factors, including the controlled variables and the positions of the joints.

In response to the observed instability, we introduce an innovative control approach, which we refer to as the "pseudo computed torque control" (PCTC). This novel method is elaborated in Section 4. PCTC is based on the dynamic equations used in classical CTC. However, it diverges by calculating the minimum desired joint acceleration required to achieve the desired controlled variable acceleration and subsequently employs this information to compute the control torque. Importantly, even though achieving the exact joint acceleration may not be feasible with the available actuators, this strategy results in a control system that is characterised by a much wider area of stability. Lastly, Section 5 provides experimental results, and Section 6 serves as the conclusion of this paper.

The novelty of the work concerns the stability analysis of the CTC using Laplace domain techniques applied to the linearized system, with the aim of showing the dependence of the control stability on both the controlled variables and the robot configuration. This approach, to the best of the authors knowledge, has not been previously explored for tensegrity mechanisms. Additionally, a new control law with a better stability is proposed.
## 2. Presentation of the robots

### 2.1. General presentation

The robots under study are built with a series of X-joints (Fig. 1). The robot configuration $\alpha$ is defined by the angle $\alpha_i$ between the base bar and the top bar of each X-joint. Each X-joint is actuated by two antagonistic cables, which are pulled by motors on either side of the joint (Fig. 1). This actuation scheme allows motion in any direction starting from the equilibrium configuration at rest, i.e. where there is no tension in the cable. Additionally, each joint is equipped with a spring in parallel with the cable. This spring serves to stabilize the robot equilibrium configuration at rest.

When each X-joint is actuated by a set of two cables that differs from the set of cables used in other X-joints, each X-joint can be actuated independently, resulting in a fully actuated robot. For a fully actuated robot with $N_J$ joints, the number of cables, denoted as $N_c$, can vary from $N_J + 1$ to $2N_J$. In the work presented in [2], the control of a fully actuated robot with $N_J = 3$ joints and $N_c = 4$ cables was demonstrated.

In this paper, the robots studied are in fact underactuated. For the 3 robots shown in Fig. 2, indeed, $N_c \le N_J$. The aim of this paper is to control such robots.

The first robot under consideration is the simplest underactuated model, comprised of two joints actuated by two cables (see Fig. 2a). These two cables are attached to both joints and exert actions on the two joints that are therefore dependant. Thus, only one variable can be controlled. This simple underactuated manipulator is studied for the purpose of better illustrating the difficulties encountered. Given the aim of controlling the end effector (EE) motion, one can consider controlling the position coordinates $x$ or $y$ or the orientation angle $\gamma$ of the EE. Since only one output can be controlled for this simple robot and there are two cables, the cable forces are chosen to maintain positive cable tensions. It is possible to adjust stiffness but we prefer to minimize the forces while ensuring that cable tensions remain positive.

<figure><img src="image_4.png" /><figcaption>Figure 1: A X-joint, $L$ is the length of the diagonal bars and $b$ is the length of the base and top bars. $\alpha_i$ is the angle between the top bar and the base bar and $\phi_i$ and $\psi_i$ are the angles between the diagonal bars and the base bar.</figcaption></figure>

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

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

<figure><img src="image_7.png" /><figcaption>Figure 2: The three underactuated robots under study. (a) has 2 joints and 2 cables, (b) has 3 joints and 3 cables and (c) has 6 joints and 4 cables.</figcaption></figure>
The second robot studied consists of three joints actuated by three cables. One cable runs along the left side of each joint and two cables are routed along the right side as shown in Fig. 2b. In this robot, two groups of joints share the same set of cables. The first group comprises the first two joints, which are actuated by the blue and red cables. The second group corresponds to the third joint, which is actuated by the blue and green cable. A group of joints that share the same set of cables will be referred to as *metamodule* in the following. Accordingly, the second robot has 2 metamodules and two variables can be thus controlled, which we choose as the two position coordinates *x* and *y* of the EE. This robot will be investigated both theoretically and experimentally.

The third robot studied consists of six joints actuated by four cables, one on the left and the other three on the right (see. Fig. 2c). These four cables enable the control of all EE coordinates *x*, *y* and *γ*. This robot has 3 metamodules defined by joints 1 and 2, joints 3 and 4, and joints 5 and 6, respectively. This robot represents a practical example of a planar manipulator suitable for real-world applications.

For the second and third robot, a single cable is responsible for pulling all joints on one side, while the other cables act on different groups of joints on the opposite side. This choice draws inspiration from the long ventral muscle that connects all vertebrae in various bird species [33].

The routing of the cables is implemented with pulleys equipped with ball bearings, which ensure that there is no friction between the cables and the bars. The X-joint dimensions are *L* = 0.1 m and *b* = 0.05 m and the mass of a short (resp. diagonal) bar is 162 g (resp. 26 g). The short bar is heavier because, on our prototype, it is actually composed of two bars in parallel linked by two shafts on which the pulleys are fixed. Moreover, the encoder is also fixed on one of these two bars. We assume that the orientation angle *α*<sub>*i*</sub> of each joint is bounded by -90° and 90°.

## 2.2. Dynamic modelling

The dynamic model can be computed using the Lagrange formalism. The equation linking joint accelerations *ä* to cable tensions *f* can be written as [14]:

$$ M_{\alpha}(\alpha)\ddot{\alpha} + d_{c}(\alpha, \dot{\alpha}) = Z(\alpha)f \quad (1) $$

where:

* $M_{\alpha}(\alpha)$ is the robot inertia matrix,

* $d_c(\alpha, \dot{\alpha})$ contains the gravitational effect, the springs effect, the centrifugal and coriolis effect and the friction. For this study, the friction model employed is viscous friction in the joint, defined as : $f_r(\alpha, \dot{\alpha}) = -f_v \left( 2 \left( \frac{\partial \phi}{\partial \alpha} \right)^2 + 2 \left( \frac{\partial \psi}{\partial \alpha} \right)^2 \right) \dot{\alpha}$ where $f_v$ is a constant. This corresponds to viscous friction at passive joints between the bars of the X-joints.

* $Z(\alpha)$ is the matrix that relates cable tensions to the torques they produce around the joint.

The $Z(\alpha)$ matrix is of size $N_j \times N_c$. This matrix plays a significant role in understanding how actuation influences the different joints, making it essential in the study of underactuation. We provide below a concise overview for quick comprehension, more details can be found in [2]. Each term of $Z(\alpha)$ is expressed by $Z(\alpha)(i, j) = -\frac{\partial l_j(\alpha_i)}{\partial \alpha_i}$ where $l_j$ is the length of cable *j*. If cable *j* runs along the left (resp. right) side of joint *i*, the term $Z(i, j)$ is positive (resp. negative). If cable *j* does not pass through joint *i*, the $Z(i, j)$ term is zero. When cable *j* crosses joint *i* along a diagonal bar, the $Z(i, j)$ term is proportional to the size of the pulleys and is relatively small compared to the case where the cable passes laterally. For joints within the same group, i.e., those operated by the same set of cables, the same line will appear in the $Z$ matrix if the joint angles are identical and if the pulleys radius is neglected.
In the case of fully actuated robots, there are more cables than joints (at a minimum of $N_c = N_j + 1$) and $rank(Z(\alpha)) = N_j$. In underactuated robots with a single cable controlling all the joints on one side, there are more (or the same number of) joints than cables, which typically results in $rank(Z(\alpha)) = N_c$.

## 2.3. Inverse kineto-static model

Our control objective is to achieve desired motions for $N_c - 1$ EE coordinates grouped within a vector denoted as the controlled variables $q$. The studied motions is such that the robot starts and stops in an equilibrium configuration. Note that the 3 robots studied are underactuated. This section aims to explore the joint equilibrium configurations $\alpha$ corresponding to a desired EE pose denoted as $q^d$.

We examine a 6-joint robot equipped with 4 cables, as illustrated in Fig. 2c. Gravity is considered, and the base is oriented at $\frac{\pi}{4}$. Symmetrical springs are connected on both sides of the joints, with spring constants equal to 1000, 850, 800, 650, 400 and 250 N/m, from the base joint to the last joint. The pulleys have a radius of 0.005 m. Our control objective is to control the EE position and orientation: $q = [x, y, \gamma]^T$, which can be expressed as a function $f_q$ depending on the joint angles $\alpha$. Given a specified desired pose $q^d$, we determine the equilibrium configuration $\alpha$ that minimizes cable tensions:

$$ (\alpha, f) = \min_{\alpha, f} ||f|| \\ \text{s.t.} \quad \begin{cases} \mathbf{d}_c(\alpha, 0) = \mathbf{Z}(\alpha)f \\ f_q(\alpha) = q^d \\ \min(f) \ge f_{min} \end{cases} \qquad (2) $$

where $d_c(\alpha, 0) = Z(\alpha)f$ is the static model derived from Eq. (1) and $f_{min}$ is the minimum tension that we want to apply in the cables.

<figure><img src="image_8.png" /><figcaption>Figure 3: Joint angle evolution as a function of the lowest cable tension $f_{min}$ for $[x, y] = [-0.26, 0.36]^T$ m and $\gamma = \frac{\pi}{4}$ rad. The angles represented with the same color belong to the same metamodule. Continuous lines correspond to the first joint of the metamodule, while dashed lines represent the second joint of the metamodule.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Figure 4: Robot configuration at $f_{min} = 0$ N and $f_{min} = 1000$ N for $[x, y] = [-0.26, 0.36]^T$ m and $\gamma = \frac{\pi}{4}$ rad (springs not represented).</figcaption></figure>
We show an example for [x, y] = [-0.26, 0.36]ᵀ m and γ = π/4 rad in Figs. 3 and 4. The robot configuration is observed for different minimum cable tensions f_min. α shifts lightly as f_min changes. However, it is noteworthy that this configuration tends to a constant configuration as f_min increase. In [34], it is thoroughly explained that this convergence leads to a configuration in which the matrix Z loses rank, specifically, rank(Z) = N_c - 1. In this configuration, when the pulley radius is neglected, all joints within the same metamodule share identical angles. Additionally, [34] shows that, in the absence of gravity, with zero-radius pulley and when joints within the same metamodule share identical spring characteristics, the static equilibrium is achieved with joints in the same metamodule holding identical angles for any cable tensions. In these cases, rank(Z) = N_c - 1. Robots studied under the aforementioned hypotheses will be referred to as degenerate robots in the following.

A degenerate robot has $N_c - 1$ metamodules in which all joints have the same angle and $N_c - 1$ variables can be controlled. Thus, the kineto-static model behaves as if the robot were fully actuated and kinematically non-redundant. The $N_c^{th}$ cable allows modulation of stiffness without affecting the robot configuration.

For non-degenerate robots, which are subjected to gravity and include non-zero pulley radius or different springs among metamodules, we observe a coupling between joint configuration and stiffness. However, this coupling remains limited, and joint variations are limited as well even when cable tensions undergo significant changes. As cable tensions increase, the behavior of the non-degenerate robots tends to converge to that of degenerate robots.

From a mathematical point of view, the difference between non-degenerate and degenerate robots is substantial, and the latter are simpler. They can be described in the joint space with a reduced number of variables, thanks to the fact that the joint angles are identical within the same metamodules. To formalize this simplification, we introduce the concept of reduced angles, denoted as $\alpha_R$. The dimension of $\alpha_R$ is the number of metamodules, namely, $N_c - 1$. For instance, for a robot with 6 joints and 4 cables as in Fig. 2c, we define $\alpha_R$ as $[\alpha_I, \alpha_{II}, \alpha_{III}]$, where $\alpha_I = \alpha_1 = \alpha_2, \alpha_{II} = \alpha_3 = \alpha_4$, and $\alpha_{III} = \alpha_5 = \alpha_6$.

To facilitate this representation, we introduce a matrix T with dimensions ($N_j \times (N_c - 1)$), such that:

$$ \alpha = T\alpha_R \quad (3) $$

The definition of the Z matrix reveals that, for degenerate robots, the cables exert identical torques on the joints within each metamodule. For degenerates robots, we then introduce the concept of reduced torques, denoted as $\Gamma$, where $\dim(\Gamma) = N_c - 1$. These torques correspond to the independent torques applied by the cables to the joints within each metamodule. The relationship between the cable tensions and the reduced torques can be expressed as follows:

$$ Zf = T\Gamma \quad (4) $$

The set of cable tension f producing the reduced torques can be written as:

$$ f = Z^+T\Gamma + \lambda N_Z \quad (5) $$

where $N_Z$ represents the null space vector of the matrix Z, and $\lambda$ is a scalar computed to minimize cable tensions while ensuring they remain above a predefined minimum tension, denoted as $f_{min}$. Equation (5) highlights that the tensions in the $N_c$ cables can only produce $N_c - 1$ joint torques $\Gamma$, which determine the common angle of the metamodule joints. This equation also conveys the idea that $\Gamma$ can be generated by various force sets f, indicating that different cable tensions can result in the same joint torque $\Gamma$. Equation (5) also emphasizes the decoupling between the choice of forces to satisfy the minimum force constraint in metamodules and the equilibrium configuration $\alpha_R$.
### 3. Computed torque control (CTC)

The CTC law is a well-established model-based motion control approach for robotic manipulators.

#### 3.1. Presentation of the control law

The positions, velocities, and accelerations of the $N_c - 1$ controlled variables $q$ can be expressed as functions of the joint angles as follows:

$$ q = f_q(\alpha) \qquad (6) $$

$$ \dot{q} = J_q \dot{\alpha} \qquad (7) $$

$$ \ddot{q} = J_q \ddot{\alpha} + J_q \dot{\alpha} \qquad (8) $$

The acceleration $\ddot{q}$ can be expressed as a function of the cable tensions $f$. By substituting the expression of $\ddot{\alpha}$ from (1) into (8), we obtain:

$$ \ddot{q} - J_q \dot{\alpha} + J_q M_{\alpha}^{-1} d_c(\alpha, \dot{\alpha}) = J_q M_{\alpha}^{-1} Z(\alpha) f \qquad (9) $$

This equation serves as the foundation for our closed-loop control. The objective is to control the cable tensions to achieve the desired trajectory while making the necessary corrections. A PID controller is used to define the corrected acceleration $w_q$ as follows:

$$ w_q = \ddot{q} + K_p(q^d - q) + K_d(\dot{q}^d - \dot{q}) + K_i \int (q^d - q)dt \qquad (10) $$

where $K_p, K_d$, and $K_i$ are constants. To ensure stable tracking without oscillations, we set these constants to $K_p = 3\omega^2$, $K_d = 3\omega$, and $K_i = \omega^3$, where $\omega$ is a constant value defined by the user.

The set of cable tensions that produces the corrected acceleration is calculated by:

$$ f = (J_q M_{\alpha}^{-1} Z(\alpha))^+ (w_q - J_q \dot{\alpha} + J_q M_{\alpha}^{-1} d_c(\alpha, \dot{\alpha})) + \lambda_F N_{J_q M_{\alpha}^{-1} Z} \qquad (11) $$

where $N_{J_q M_{\alpha}^{-1} Z}$ represents the null space vector of the matrix $J_q M_{\alpha}^{-1} Z(\alpha)$ and $\lambda_F$ is a scalar calculated to ensure that the cable tensions are both minimized and maintained above a minimum tension $f_{min}$.

The control law scheme is depicted in Fig. 5.

<figure><img src="image_10.png" /><figcaption>Figure 5: CTC scheme</figcaption></figure>
## 3.2. Stability analysis

The stability of underactuated systems can be influenced by the choice of controlled variables, as discussed in [24, 27, 35, 36]

The local stability of a nonlinear system is assessed by examining the stability of its linearized version around a particular operating point. The stability of the linearized system can be determined by studying its transfer function in the Laplace domain.

### 3.2.1. Linearization of the dynamic model around an equilibrium configuration

To analyze the stability of the control law, we linearize Eq. (1) around an equilibrium configuration $\alpha_0$ with zero velocity, $\dot{\alpha}_0 = 0$. The resulting equation is:

$$M_{\alpha}(\alpha_0)\ddot{\alpha} + \frac{\partial(d_c(\alpha_0, \dot{\alpha}_0) - Z(\alpha_0)f_0)}{\partial\alpha}(\alpha - \alpha_0) + \frac{\partial d_c(\alpha_0, \dot{\alpha}_0)}{\partial\dot{\alpha}}(\dot{\alpha} - \dot{\alpha}_0) = Z(\alpha_0)(f - f_0) \quad (12)$$

where $f_0$ is the cable tensions when $\alpha = \alpha_0$ and $\dot{\alpha} = \dot{\alpha}_0$. We have:

$$d_c(\alpha_0, \dot{\alpha}_0) = Z(\alpha_0)f_0 \quad (13)$$

We introduce the variables $\alpha_* = \alpha - \alpha_0$ and $f_* = f - f_0$ and we define matrices as $M = M_{\alpha}(\alpha_0)$, $K = \frac{\partial(d_c(\alpha_0, \dot{\alpha}_0) - Z(\alpha_0)f_0)}{\partial\alpha}$, $D = \frac{\partial d_c(\alpha_0, \dot{\alpha}_0)}{\partial\dot{\alpha}}$. This leads to the equation:

$$M\ddot{\alpha}_* + D\dot{\alpha}_* + K\alpha_* = Z(\alpha_0)f_* \quad (14)$$

Controlling the cable tension to maintain positivity is a nonlinear aspect of the control law. As discussed in Section 2.3, the robot configuration may depend on the minimum tension imposed. To simplify the analysis, we consider degenerate cases in which the robot configuration is not influenced by the minimum tension. These cases also allow us to work with reduced torques:

$$M\ddot{\alpha}_* + D\dot{\alpha}_* + K\alpha_* = T\Gamma_* \quad (15)$$

where $\Gamma_* = \Gamma - \Gamma_0$ such that $Z(\alpha_0)f_0 = T\Gamma_0$.

Finally, the controlled variables can be linearized as:

$$q = q_0 + J_q(\alpha_0)(\alpha - \alpha_0) \quad (16)$$

By defining $q_* = q - q_0$, we have:

$$q_* = J_q(\alpha_0)\alpha_* \quad (17)$$

### 3.2.2. Transfer function

Once the equations are linearized, they can be expressed in the Laplace domain. Equations (15) and (17) become:

$$Ms^2\tilde{A} + Ds\tilde{A} + K\tilde{A} = T\tilde{\Gamma} \quad (18)$$

$$\tilde{Q} = J_q\tilde{A} \quad (19)$$

where $s$ is the Laplace variable and $\tilde{A}$, $\tilde{\Gamma}$ and $\tilde{Q}$, correspond to $\alpha_*$, $\Gamma_*$, and $q_*$ in the Laplace domain. These equations lead to:

$$K_D(s)\tilde{A} = T\tilde{\Gamma} \quad (20)$$
where $\mathbf{K}_D(s) = \mathbf{M}s^2 + \mathbf{D}s + \mathbf{K}$.

Then:

$$ \tilde{\mathbf{Q}} = \mathbf{H}_q(s)\tilde{\mathbf{\Gamma}} \quad (21) $$

where $\mathbf{H}_q(s) = \mathbf{J}_q\mathbf{K}_D^{-1}(s)\mathbf{T}$

The control law is designed so that the acceleration $\ddot{q}$ corresponds to the one defined in (10). Thus, the transfer function between $\mathbf{Q}$ and $\mathbf{Q}^d$ is:

$$ \tilde{\mathbf{Q}} = \tilde{\mathbf{Q}}^d \quad (22) $$

If we define the transfer function between $\tilde{\mathbf{\Gamma}}$ and $\tilde{\mathbf{Q}}^d$ as:

$$ \tilde{\mathbf{\Gamma}} = \mathbf{G}(s)\tilde{\mathbf{Q}}^d \quad (23) $$

Then the transfer function between $\mathbf{Q}$ and $\mathbf{Q}^d$ is:

$$ \tilde{\mathbf{Q}} = \mathbf{H}_q(s)\mathbf{G}(s)\tilde{\mathbf{Q}}^d \quad (24) $$

Since the control law is established to satisfy Eq. (22), it follows that:

$$ \mathbf{G}(s) = \mathbf{H}_q^{-1}(s). \quad (25) $$

This expression means that the control law fully compensates for the dynamic model, and in the absence of perturbations, if the model is perfectly identified, the controlled variables will precisely follow their desired trajectories. The zeros of $\mathbf{H}_q$ correspond to the poles of $\mathbf{G}(s)$. Here, $\mathbf{G}(s)$ is a matrix whose terms are rational fractions. The numerators may vary but the denominators are the same for all terms. The control law will be stable if all the poles of $\mathbf{G}(s)$ have a strictly negative real part.

### 3.3. Results of the computed torque control stability

In this section, we examine the stability of the CTC for robots with progressively more joints, ranging from 2 to 6 modules. To handle less variables, the analysis is carried out in degenerate cases.

The relationship between the acceleration of the controlled variables and the reduced torques at the equilibrium configuration can be derived from the dynamic model (9) as follows:

$$ \ddot{q} = \mathbf{J}_q \mathbf{M}_\alpha^{-1} \mathbf{T} \mathbf{\Gamma} - \mathbf{J}_q \mathbf{M}_\alpha^{-1} \mathbf{d}_c(\alpha, \dot{\alpha}) + \mathbf{J}_q \dot{\alpha} \quad (26) $$

From this equation, the relationship between the reduced torques $\mathbf{\Gamma}$ applied by the cables around the joints and the acceleration of the controlled variables can be described by:

$$ \mathbf{B}_q = \mathbf{J}_q \mathbf{M}_\alpha^{-1} \mathbf{T}. \quad (27) $$

The static model can be linearized from (15), which leads to:

$$ \mathbf{K}\Delta\alpha = \mathbf{T}\Delta\mathbf{\Gamma} \quad \Rightarrow \quad \Delta q = \mathbf{J}_q \mathbf{K}^{-1} \mathbf{T}\Delta\mathbf{\Gamma} \quad (28) $$

The relationship between variations in the positions of the controlled variables and changes in cable tensions in statics can be described by:

$$ \mathbf{K}_q = \mathbf{J}_q \mathbf{K}^{-1} \mathbf{T}. \quad (29) $$
The effect of a force on the static model and on the acceleration is analyzed from the expressions of the two matrices $\mathbf{B}_q$ and $\mathbf{K}_q$ introduced above.

### 3.3.1. Robot with 2 joints and 2 cables

This section focuses on the robot depicted in Fig. 2a, which has 2 joints and 2 cables. The springs associated with the joints on both the left and right sides have a stiffness of 400 N/m. With 2 cables, it is possible to control only one DoF. Moreover, in static equilibrium, the angles $\alpha_1$ and $\alpha_2$ take the same value denoted as $\alpha_R = \alpha_I = \alpha_1 = \alpha_2$.

The maximum real part of the poles of $G(s)$ is consistently negative for the control of either $q = y$ or $q = \gamma$. As a result, these control strategies remain stable around all joint values $\alpha_I$.

We now study the control of $q = x$. Figure 6 shows the plot of the maximum real part of the transfer function poles for $0 \le \alpha_I \le 90^\circ$. Symmetric values can be observed for negative $\alpha_I$. The maximum real part of the transfer function poles becomes positive from $45.8^\circ$ to $73.4^\circ$. Consequently, the control strategy is unstable whenever $\alpha_I \in [45.8^\circ, 73.4^\circ]$.

<figure><img src="image_11.png" /><figcaption>Figure 6: Plot of the maximal real part of the transfer function poles against the joint angle for the control of $q = x$ for a robot with 2 joints and 2 cables with the CTC</figcaption></figure>

A study similar to the one presented in [37] can provide a physical interpretation of the instability boundaries for controlling $q = x$ where the control of $\alpha_1$ or $\alpha_2$ for this robot is explored.

For the case at hand, a single-input, single-output (SISO) system, the two matrices introduced above $\mathbf{B}_q$ and $\mathbf{K}_q$ are in fact two scalars $B_q$ and $K_q$, respectively.

The plots of $B_q$ and $K_q$ against $\alpha_I$ are depicted in Fig. 7. These plots reveal three distinct zones: zone 1, where both $B_q$ and $K_q$ are negative, zone 2, where $B_q$ is positive, while $K_q$ remains negative and zone 3, where both $B_q$ and $K_q$ are positive. It is noteworthy that the values of $\alpha_I$ that mark the transitions between these zones closely align with the boundaries of the stability regions shown in Fig. 6.

From Fig. 7, it becomes clear that within zones 1 and 3, the cable tensions lead to accelerations of the controlled variable that align with the direction of its static position change. Conversely, in zone 2, the accelerations caused by the cables act in opposition to the static position change.

Therefore, the instability of the control law is associated with the phenomenon where, instantaneously, the controlled variable experiences acceleration in one direction, but subsequently, the static forces lead it to move and converge in the opposite direction, as verified experimentally in [37]. Because of this phenomenon, a PID correction on the acceleration applied within a CTC approach would cause control divergence.
<figure><img src="image_12.png" /><figcaption>Figure 7: Plots of $B_q$ and $K_q$ for $q = x$ against the joint angle for a robot with 2 joints and 2 cables</figcaption></figure>

To illustrate the joint limits associated with stability, simulations have been conducted. In Fig. 8, a scenario in which $q = x$ is shown. We set the tension saturation in the cables at 140N, $f_{min}$=10N and $\omega$ was fixed to 10. The simulation shows that the control remains stable initially as the robot moves. However, instability becomes evident at a particular position, marked by cable tension divergence. The corresponding angles at which instability occurs are approximately $[\alpha_1, \alpha_2] = [47.2^\circ, 47.1^\circ]^\top$. While these angles are not exactly equal due to dynamic effects, they are in close proximity to the previously identified stability limit of 45.8° obtained from the transfer function analysis.

<figure><img src="image_13.png" /><figcaption>Figure 8: Simulation of the control of $q = x$ for a robot with 2 joints and 2 cables with the CTC. (a) corresponds to the tracking of $x$ over time, (b) illustrates the evolution of cable tension over time, and (c) shows the evolution of joint angles over time.</figcaption></figure>

### 3.3.2. Robot with 3 joints and 3 cables

In this section, we investigate a robot featuring 3 joints and 3 cables, as shown in Fig. 2b. With $N_c = 3$ cables, this robot can control 2 DoFs. The springs on the left and right sides of the first two joints have
a stiffness of 600 N/m, while the third joint has springs with a stiffness of 300 N/m. A degenerate robot is studied such that $\alpha_I = \alpha_1 = \alpha_2$ and $\alpha_{II} = \alpha_3$ in statics.

The control stability for $\boldsymbol{q} = [x, y]^\top$ is analyzed with respect to $\alpha_I$ and $\alpha_{II}$, and the results are shown in Fig. 9. This figure depicts the regions of stability and instability as the joint space is scanned. Yellow zones indicate stable control, while blue zones indicate unstable control. The stability/instability regions are plotted both in the joint space and in the controlled variable space.

<figure><img src="image_14.png" /><figcaption>Figure 9: Stability domains of the control of $\boldsymbol{q} = [x, y]^\top$ for a robot with 3 joints and 3 cables (a) in the joint space and (b) in the controlled variables space for the CTC</figcaption></figure>

The analysis shows that CTC exhibits instability across a significant portion of the workspace. The control is stable mainly in positions where $\alpha_I$ has the opposite sign to $\alpha_{II}$. Moreover, there is a central symmetry in control stability in the joint space, corresponding to axial symmetry in the controlled variables space. The two symmetric zones where the control is stable in the controlled variable space are depicted in Fig. 9b. It is apparent that the largest stable regions are located at the bottom extremities.

Here, our system is multiple-input multiple-output (MIMO) and both $\mathbf{B}_q$ and $\mathbf{K}_q$ are matrices here. Analyzing the stability results with $\mathbf{B}_q$ and $\mathbf{K}_q$ becomes then more intricate.

### 3.3.3. Robots with 6 joints and 4 cables

For the robot with 4 cables (Fig. 2c), the stability study is conducted for the control of $\boldsymbol{q} = [x, y, \gamma]^\top$. This study is performed in the absence of gravity, and the joints in the same metamódules have symmetric springs. Specifically, the spring stiffness is 1000 N/m, 800 N/m, and 400 N/m for the first, second, and third metamodule, respectively.

The stability domains, plotted in Fig. 10, show that the control of $\boldsymbol{q} = [x, y, \gamma]^\top$ as function of $\alpha_R$ is almost always unstable. Some small stability regions can be observed.

As the number of joints increases, the CTC exhibits greater instability when applied to the control of EE position and orientation. This observed instability is primarily due to the non-minimum phase nature of the open-loop system for these specific controlled variables.

This study can be extended to the non-degenerate case. The main difference from the degenerate case is that there is a coupling between the choice of forces and the configuration achieved for the same EE pose, as shown in Figs. 3 and 4. In linearizing the closed-loop model for the degenerate case, we used the uniqueness of the joint configuration for a given EE pose to explicitly ignore the choice of applied force. This allowed us to use Eq. (5) with a matrix $\mathbf{T}$ of rank $N_c$. In the non-degenerate case, this is no longer possible. We must then explicitly consider the choice of forces by the controller. The minimum
<figure><img src="image_15.png" /><figcaption>Figure 10: Stability domains of the control of $q = [x, y, \gamma]^T$ for a robot with 6 joints and 4 cables in the joint space for the CTC</figcaption></figure>

forces are chosen such that each force is greater or equal to $f_{min}$. Thus, we have at least one force equal to $f_{min}$. In the linearization, we assume that the same cable will remain at $f_{min}$ in Eq. (14), and, $Z(\alpha_0)f_*$ is replaced by $Bu$, where $B$ and $u$ represent $Z(\alpha_0)$ and $f_*$, respectively, with the rows (resp. lines) corresponding to the cables that are not at the minimal tension $f_{min}$. If several forces are at $f_{min}$, several linearizations have to be considered. Using this method, results obtained for the non-degenerate case are close to the results obtained for degenerate robots as it will be shown for the robot with three modules in Section 5.

# 4. Pseudo computed torque control (PCTC)

## 4.1. Presentation

The CTC instability is attributed to the non-minimum phase nature of the open-loop system. To address this issue, we seek to design a control law that avoids the direct inversion of the dynamic model. The primary objective is to achieve stability across a broader workspace, without the need for full model compensation, while still controlling EE pose variables.

To achieve this objective, we reformulate the dynamic equation (1) in terms of the acceleration of the controlled variables as follows:

$$ M_{\alpha} (\mathbf{J}_{q}^{+} (\ddot{\mathbf{q}} - \mathbf{J}_{q} \dot{\alpha}) + \mathbf{N}_{J_{q}} \lambda_{\alpha}) + \mathbf{d}_{c}(\alpha, \dot{\alpha}) = \mathbf{Z}(\alpha) \mathbf{f} \quad (30) $$

where $N_{J_q}$ is a matrix of the null space vectors of the $J_q$ matrix, and $\lambda_\alpha$ is a $N_j - N_c + 1$ vector. The core principle of the control law is to compute an joint acceleration that achieve the desired EE task and then to deduce the appropriate cables tension. To achieve this goal, we set $\lambda_\alpha$ to zero in order to be able to remain stationary at equilibrium configuration. This choice limits internal motions. Even if the obtained joint accelerations is not physically realizable by the actuators, we will show that the control will converge to the desired $q^d$.
Equation (30) defines a system of $N_j$ equations in $N_c$ unknowns (the components of $f$), whereas the number of controlled variables is $N_c - 1$. This discrepancy highlights the impossibility of simultaneously satisfying all these equations. Although the use of the pseudo-inverse of $Z$ would minimize the disparity between the equations that can or cannot be satisfied, it would not guarantee that the cable tensions are greater than $f_{min}$. To address this issue, we project these equations onto a lower-dimensional space of dimension $N_c - 1$. By doing so, we can choose $f$ that satisfies the $N_c - 1$ equations such that all its components are greater than $f_{min}$. The projection is performed using a matrix $P$ that consists of those $N_c - 1$ left-singular vectors of the $Z$ matrix, which are associated with the largest singular values. Notably, the last singular value is primarily related to the internal motion linked to variations in cable tension as illustrated in Figs. 3 and 4. In degenerate cases, this singular value is zero, while in general cases, it is small compared to the other singular values.

The resulting equation can be expressed as:

$$P(M_{\alpha}J_{q}^{+}(\ddot{q} - J_{q}\dot{\alpha}) + d_{c}(\alpha, \dot{\alpha})) = PZ(\alpha)f \quad (31)$$

In a manner analogous to the CTC, this equation is employed in a closed-loop control scheme for cable tension computation:

$$f = (PZ(\alpha))^{+} (PM_{\alpha}J_{q}^{+}(w_{q} - J_{q}\dot{\alpha}) + Pd_{c}(\alpha, \dot{\alpha})) + \lambda_{F}N_{PZ} \quad (32)$$

were $N_{PZ}$ represents the null space vector of the $PZ$ matrix.

The control architecture is visually depicted in Fig. 11.

<figure><img src="image_16.png" /><figcaption>Figure 11: PCTC scheme</figcaption></figure>

## 4.2. Transfer function

Similar to the CTC approach, the stability of the control law can be assessed with the same methodology. In the Laplace domain, for a degenerate case, the closed-loop dynamic equation derived from Eqs. (31) and (10), can be expressed as follows:

$$PMJ_{q}^{+}(s^{2}\tilde{Q}^{d} + PID(s)(\tilde{Q}^{d} - \tilde{Q})) + P(K + Ds)\tilde{A} = PT\tilde{\Gamma} \quad (33)$$

To analyze the stability of the control law, it is necessary to define the closed-loop transfer function $G_2(s)$ that connects $\tilde{\Gamma}$ to $\tilde{Q}^d$. Equation (33) can be rearranged as:

$$PT\tilde{\Gamma} - P(K + Ds)\tilde{A} + PMJ_{q}^{+}PID(s)\tilde{Q} = PMJ_{q}^{+}(s^{2} + PID(s))\tilde{Q}^{d} \quad (34)$$
Subsequently, from Eqs. (20) and (21), we can establish:

$$ \tilde{\Gamma} = G_2(s)\tilde{Q}^d \quad (35) $$

where:

$$ G_2(s) = (PT - P(K + Ds)K_D^{-1}(s)T + PMJ_q^+PID(s)H_q)^{-1} PMJ_q^+(s^2 + PID(s)) \quad (36) $$

Using Eq (21), we can compute the transfer function between $\tilde{Q}$ and $\tilde{Q}^d$ as:

$$ \tilde{Q} = H_q(s)G_2(s)\tilde{Q}^d \quad (37) $$

It is important to note that $H_q(s)G_2(s)$ does not form the identity matrix, except at $s = 0$. Consequently, for a step command in the controlled variables space, the motions of the controlled variables converge to their desired values, as per the principle of the final value theorem [38].

## 4.3. Results of the stability for the pseudo computed control law

This section performs the stability analysis as Section 3.3 for the PCTC.

### 4.3.1. Robot with 2 joints and 2 cables

We investigate the control stability of $q = x$, as depicted in Fig. 12.

We observe that control law stability is influenced by viscous friction within the system. More specifically, a minimal viscous friction constant $f_v$ (see Section 2.2) should exist to avoid instability. For the CTC, in contrast, we observed that the value of $f_v$ had no significant impact.

Figure 12 shows that when $f_v$ is not too low, the region of instability shrinks significantly and is confined to the range between 71.6° and 77.1° (5.1% of the joint space), as marked by the two vertical red lines. This contrasts with CTC, where the instability range is wider, between 45.8° and 73.4° which corresponds to 30.7% of the joint space (see Fig. 6). The control of $q = y$ and $q = \gamma$ is always stable, similar to the behavior observed with the CTC.

<figure><img src="image_17.png" /><figcaption>Figure 12: Stability domains of the control of $q = x$ for a robot with 2 joints and 2 cables against the robot joint angle and the viscous friction constant for the PCTC</figcaption></figure>
In a manner analogous to the CTC, we introduce a new term, $B'_q = (\mathbf{PMJ}_q^+)^{-1} \mathbf{PT}$, which relates the calculated cable tension to the acceleration of the controlled variables within the PCTC law. Figure 13 shows the plot of $B'_q$ and $K_q$ (as defined in Eq. (29)) against the robot joint angle. It is apparent that the angle values at which $B'_q$ and $K_q$ change their sign are closely related to the angles that delineate the boundaries of the control law stability domain. In fact, the control law is unstable when $B'_q$ and $K_q$ do not have the same sign, as shown in Fig. 13. Note that $K_q$ cancels out when $\mathbf{J}_q \mathbf{T} = 0$ as $\mathbf{K}$ is a scalar matrix in this case (see Eq. (29)).

<figure><img src="image_18.png" /><figcaption>Figure 13: Plot of $B'_q$ and $K_q$ for $\mathbf{q} = \mathbf{x}$ against the joint angle for a robot with 2 joints and 2 cables</figcaption></figure>

### 4.3.2. Robot with 3 joints and 3 cables

<figure><img src="image_19.png" /><figcaption>Figure 14: Stability domains of the control of $\mathbf{q} = [x, y]^\top$ for a robot with 3 joints and 3 cables (a) in the joint space and (b) in the controlled variables space for the PCTC</figcaption></figure>

We consider a sufficient viscous friction constant, namely, $f_v = 0.1 \text{ N.m/(rad/s)}$. The stability of PCTC for $\mathbf{q} = [x, y]^\top$ is shown in the joint space and controlled variables space in Fig. 14. It is evident
from these figures that the stability domain of the PCTC covers a larger portion of the joint space, with
only 3.1% unstable, compared to that of the CTC, which has 41.8% of the joint space unstable (see Fig.
9a). As with the CTC, the interpretation of the instability by $\mathbf{B}'_q$ and $\mathbf{K}_q$ is not straightforward in the
context of this MIMO system. However, a valuable approach is to introduce a Jacobian matrix $\mathbf{J}_c = \mathbf{J}_q \mathbf{T}$
that relates the controlled DoFs and the reduced angles: $\dot{\mathbf{q}} = \mathbf{J}_c \dot{\mathbf{\alpha}}_R$. It turns out that the instability area
is concentrated in a narrow zone around the singularity curve defined by $\det(\mathbf{J}_c) = 0$ (shown in red
in Fig. 14a). In the controlled variables space, the instability area is located near the upper workspace
boundary (see Fig. 14b). Control stability is more likely to be maintained when the robot operates far
from these kinematic singularities.

4.3.3. Robot with 6 joints and 4 cables

Here, the controlled variables are defined by $\mathbf{q} = [x, y, \gamma]^T$. Figure 15 shows the stability analysis in the joint space, plotted at discretized sections of $\alpha_I$. The stability domain is significantly larger for the PCTC, with approximately 6.7% of the joint space unstable, compared to the CTC, which has approximately 94.2% of the joint space unstable. The small unstability areas of the PCTC are located around the singularities $\det(\mathbf{J}_c) = 0$, as for the two previous robots.

<figure><img src="image_20.png" /><figcaption>Figure 15: Stability domains of the control of $\mathbf{q} = [x, y, \gamma]^T$ for a robot with 6 joints and 4 cables in the joint space for the PCTC</figcaption></figure>

Using the PCTC effectively reduces the robot internal motions while maintaining reasonable tracking of the controlled variables. Although the calculated accelerations in this approach may not be physically feasible, the control algorithm ensures convergence to the desired evolution of the controlled variables. As a result, it has been observed that this control method provides greater stability than the CTC, especially when the controlled variables are *x* and *y* or *x*, *y* and *γ*.
# 5. Experimental validation

## 5.1. Prototype description

Experiments were conducted on the prototype depicted in Fig. 16, which consists of three joints and three cables, like in Fig. 2b.

<figure><img src="image_21.png" /><figcaption>Figure 16: Prototype</figcaption></figure>

The prototype specifications are given in Table 1. The selection of springs is based on achieving a stable configuration at rest, which is positioned away from kinematic singularities (i.e. without tension cable the prototype joint angles are $\alpha \approx [12.5^\circ, 17.9^\circ, -26.7^\circ]^T$). Additionally, these chosen springs ensures stability in the control of the EE position at rest with the CTC and PCTC, as shown in Figs. 18 and 19.

<table><caption>Table 1: Prototype specifications</caption><tbody><tr><td rowspan="3">Mass</td><td>Short bar</td><td>162 g</td></tr><tr><td>Diagonal bar connected to the encoder</td><td>26g</td></tr><tr><td>Diagonal bar not connected to the encoder</td><td>27g</td></tr><tr><td rowspan="4">Springs parameters</td><td>Free length</td><td>46 mm</td></tr><tr><td>Left and right spring constant of the Joints 1</td><td>600 and 600 N/m</td></tr><tr><td>Left and right spring constant of the Joints 2</td><td>600 and 400 N/m</td></tr><tr><td>Left and right spring constant of the Joints 3</td><td>100 and 400 N/m</td></tr><tr><td>Drum radius</td><td colspan="2">13 mm</td></tr><tr><td>Pulley radius</td><td colspan="2">7 mm</td></tr><tr><td>Inertia of the Beckhoff motor with no reducer and drum</td><td colspan="2">52.10<sup>-6</sup> kg.m<sup>2</sup></td></tr><tr><td rowspan="2">Tension limits</td><td>Maximum tension</td><td>92.3 N</td></tr><tr><td>Minimum tension</td><td>10 N</td></tr></tbody></table>

Encoders (Heidenhain ECI 1119), attached to the short bars as shown in Fig. 16, measure the angles $\phi_i$ or $\psi_i$ of each X-joint. The alternation between measuring $\phi_i$ (when the encoder is on the left) and $\psi_i$ (when the encoder is on the right) is implemented to mitigate the imbalance in mass distribution. The joint angles $\alpha_i$ are then obtained by Eq. (38).
$$ 
\begin{aligned}
\alpha_i &= 2\operatorname{atan2}(b - L\cos(\phi_i), L\sin(\phi_i)), \quad i = [1, 3] \\
\alpha_i &= 2\operatorname{atan2}(-b - L\cos(\psi_i), L\sin(\psi_i)), \quad i = 2
\end{aligned}
\qquad (38) $$

## 5.2. Comparison between CTC and PCTC

Experiments were conducted for the control of $q = [x, y]^T$ with CTC and PCTC. The studied trajectories are depicted in Fig. 17. The first trajectory follows a curved path from configuration 1 to configuration 2. The remaining trajectories consist of straight lines connecting configuration 1 to configuration 3, then from 3 to 4, and finally from 4 back to 1.

<figure><img src="image_22.png" /><figcaption>Figure 17: Trajectories of the EE (from 1 to 2, 1 to 3, 3 to 4 and 4 to 1)</figcaption></figure>

Under gravity and with the chosen springs, the system is not in the degenerate case anymore, resulting in the equilibrium configuration being influenced by the minimal cable tension. When considering specified desired values for angles like $\alpha_I = \alpha_1$ and $\alpha_{II} = \alpha_3$, the determination of static equilibrium, while maintaining minimal cable tension, involves calculating $\alpha_2$ and the associated forces together through an optimization process:

$$ 
\begin{aligned}
(\alpha_2, \boldsymbol{f}) &= \min_{\alpha_2, \boldsymbol{f}} \|\boldsymbol{f}\| \\
\text{s.t.} \quad & \boldsymbol{d}_c([\alpha_I, \alpha_2, \alpha_{II}]^\top, 0) = \mathbf{Z}([\alpha_I, \alpha_2, \alpha_{II}]^\top)\boldsymbol{f} \\
& \quad \min(\boldsymbol{f}) \geq f_{\min}
\end{aligned}
\qquad (39) $$

Subsequently, the computation of the **B** matrix is performed, as explained towards the end of Section 3.3.3. The obtained results are presented in Fig. 18 for the CTC and in Fig. 19 for the PCTC. It is noteworthy that similar stability and instability domains are observed as in the degenerate case, as depicted in Figs. 9a and 14a. The observed instability domains are not centred on $[\alpha_I, \alpha_{II}] = [0, 0]^\top$ due to the fact that equilibrium does not result in $\alpha_1 = \alpha_2$. This behaviour is influenced by the springs selected and by gravity.

The different equilibrium configurations in the joint space of our trajectories are represented by red stars in Figs. 18 and 19. The configurations 1 and 2 are in the stable zone for the CTC and PCTC while the configurations 3 and 4 are in the stable zone for the PCTC and unstable zone for the CTC.

Figure 20 depicts the motion executed with the CTC from the configuration 1 to the configuration 2. Throughout the motion, the robot remains within the stable control domain, showing consistent and stable control behavior. Due to the challenge in accurately identifying non-linear dry friction in the motors and joints, the PID gain $\omega$ was fine-tuned to achieve precise trajectory tracking (refer to Fig. 20a). Consequently, the oscillations observed in the cable tension are attributed to the effects of these
frictions. It is also evident that the tension in all cables is consistently maintained above the desired minimum tension, with one of the cables at the minimum tension level.

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

Figure 18: Stability domains of the control of $\boldsymbol{q} = [x, y]^\top$ for a robot with 3 joints and 3 cables under gravity and with the prototype springs in the joint space for the CTC. The red stars corresponds to the numbered robot configurations of Fig. 17. The black star is the configuration at rest. The green star is the point when the control becomes unstable during motion from 1 to 3.

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

Figure 19: Stability domains of the control of $\boldsymbol{q} = [x, y]^\top$ for a robot with 3 joints and 3 cables under gravity and with the prototype springs in the joint space for the PCTC. The red stars corresponds to the numbered robot configurations of Fig. 17. The black star is the configuration at rest.

<figure><img src="image_25.png" /><figcaption>(a)</figcaption></figure>

<figure><img src="image_26.png" /><figcaption>(b)</figcaption></figure>

<figure><img src="image_27.png" /><figcaption>(c)</figcaption></figure>

Figure 20: Time histories of (a) x and y, (b) f and (c) the $\alpha_i$ for the trajectory from configuration 1 to 2 from with the CTC. For (b), the plot colors correspond to the cable colors in Fig. 17.

Figure 21 depicts the motion executed with the CTC from the configuration 1 to the configuration 3. Initially, the robot follows the desired EE trajectory but instability arises, leading to cable tensions reaching saturation. The robot configuration at which the CTC starts becoming unstable is marked by a green star in Fig. 18. Notably, this configuration is not yet within the unstable zone on the graph.
This discrepancy may be attributed to the influence of dynamic effects and friction, which were not considered in the stability analysis. Specifically, for the given joint angles $[α₁, α₃]ᵀ = [19.0°, -15.1°]$, the resulting angle α₂ is observed to be 19.4°, deviating from the expected 26.7° calculated by static equilibrium. Consequently, the stability of the robot configurations are not accurately represented in Fig. 18.

<figure><img src="image_28.png" /><figcaption>Figure 21: Time histories of (a) x and y, (b) f and (c) the αᵢ for the trajectory from configuration 1 to 3 from with the CTC. For (b), the plot colors correspond to the cable colors in Fig. 17.</figcaption></figure>

Figure 22 illustrates the same motion from configuration 1 to configuration 2 (with the same duration and PID tuning) executed with the PCTC. The control remains stable, similar to the CTC, and the curves exhibit a similar pattern. There are some differences in the oscillations of f due to friction effects, but the overall evolution is comparable. Additionally, the precision of the control is similar for both methods, with mean and maximum EE position errors of 4.0 × 10⁻⁴ m and 2.0 × 10⁻³ m, respectively, for the CTC, and 5.0 × 10⁻⁴ m and 1.9 × 10⁻³ m, respectively, for the PCTC.

<figure><img src="image_29.png" /><figcaption>Figure 22: Time histories of (a) x and y, (b) f and (c) the αᵢ for the trajectory from configuration 1 to 2 from with the PCTC. For (b), the plot colors correspond to the cable colors in Fig. 17.</figcaption></figure>
<figure><img src="image_30.png" /><figcaption>Figure 23: Time histories of (a) x and y, (b) f and (c) the $\alpha_i$ for the trajectory from configuration 1 to 3, then to 4, then to 1, and finally to 2 with the PCTC. For (b), the plot colors correspond to the cable colors in Fig. 17. The light blue areas indicate the desired numbered robot configurations of Fig. 17.</figcaption></figure>
We now design a motion that transitions from configuration 1 to 3 in 10 seconds, then to configuration 4 in 0.5 seconds, then back to configuration 1 in 12 seconds, followed by a transition to configuration 2 in 1 second, with a pause of 0.5 seconds between each trajectory. Figure 23 depicts the trajectory tracking with the PCTC. In line with the theoretical expectations, the control remains stable during the transition from configuration 1 to 3, in contrast to the CTC. The EE position tracking is generally good, albeit with some oscillations due to nonlinear friction. Notably, during the motion from configuration 4 to 1, friction-induced perturbations may cause abrupt changes in the robot configuration (see Fig. 23c). However, the control remains stable despite these disturbances. Additionally, Fig. 23a illustrates that the control remains effective during more rapid motions (from configuration 3 to 4 and from configuration 1 to 2).

These motions can be observed in the videos provided in the supplementary material.

### 5.3. Influence of an obstacle

<figure><img src="image_31.png" /><figcaption>Figure 24: Prototype with an obstacle (picture from the back of the robot)</figcaption></figure>

<figure><img src="image_32.png" /><figcaption>Figure 25: Desired trajectory from configuration 1 to configuration 5. In the latter, the robot is in contact with an obstacle.</figcaption></figure>

To further investigate the robustness of the control system, an obstacle has been introduced near the first joint, as depicted in Fig. 24. A desired trajectory is illustrated in Fig. 25. The outcomes of executing this trajectory in the presence of the obstacle are presented in Fig. 26. Contrary to what Fig. 25 suggests, the robot cables do not come into contact with the obstacles, as they are not in the same plane (refer to the video provided in the supplementary material). In Fig. 26c, it is evident that $\alpha_1$ ceases to evolve after 4.4 seconds due to contact with the obstacle. Despite this contact, the control remains stable post-4.4 seconds, even though the obstacle is not factored into the control algorithm. Notably, due to the freedom of joints 2 and 3, the trajectory tracking of the EE position continues unaffected (see Fig. 26a). Thus, we observe that underactuation enables the robot to naturally adapt to environmental contact.
<figure><img src="image_33.png" /><figcaption>Figure 26: Time histories of (a) x and y, (b) f and (c) the αᵢ for the trajectory from configuration 1 to 5 using the PCTC. For (b), the plot colors correspond to the cable colors in Fig. 17. The vertical black line indicates when the robot enters in contact with the obstacle.</figcaption></figure>

**6. Conclusion**

In this paper, we have studied underactuated robots inspired by the biomechanics of bird necks. These robots consist of stacked X-joints actuated by cables, with underactuation due to joints actuated by the same cables, preventing independent control of their angles. We have applied two control strategies: the traditional computed torque control (CTC) and a novel approach, the pseudo computed torque control (PCTC), which is based on the pseudo-inverse of the Jacobian matrix $J_q$.

We conducted an in-depth analysis of the stability of these control methods by linearizing the equations of the system and deriving the Laplace domain transfer function for the closed-loop system. Specifically, we shown that the CTC can exhibit instability when used to control the EE position and orientation, depending on the robot configuration. In particular, for a robot with six joints and four cables, attempting to control $q = [x, y, \gamma]^T$ will almost always result in unstable behavior.

In contrast, the PCTC presents a more larger stable operating region, provided that the system features sufficient friction. The regions of instability for the PCTC were shown to be located close to kinematic singularities. This analysis was carried out using a simplified model, namely, the degenerate case. It has been demonstrated that the stability analysis can be conducted in the general case, giving results similar to those obtained in the degenerate case.

Experiments enabled us to compare the CTC and PCTC on trajectories where the CTC exhibited stability, demonstrating similar performance for both control methods. Additionally, it was confirmed that the PCTC maintains stability in configurations where the CTC becomes unstable. Moreover, observations revealed that the PCTC can maintain stability in the presence of obstacles, with the robot adapting to its environment thanks to its underactuation.

Further research will be conducted to validate the performance of the PCTC on prototypes with more joints. In addition, the ability of the robot to take advantage of obstacles for improved force application, stability, and manipulation can be studied. This investigation may involve scenarios where the robot uses obstacles as support structures for applying forces or employs wrapping behaviors to approach and grasp objects.
**Author contributions.** Nicolas J.S. Testard, Christine Chevallereau and Philippe Wenger conceived and designed the study and completed the design and fabrication of the prototype. Nicolas J.S. Testard conducted data gathering and tested the performance of the prototype. Nicolas J.S. Testard, Christine Chevallereau and Philippe Wenger wrote the article.

**Financial support.** This research received no specific grant from any funding agency, commercial or not-for-profit sectors.

**Competing interests.** The authors declare no conflicts of interest exist.

**Ethical approval.** None.

## References

[1] C. Böhmer, M. Furet, B. Fasquelle, P. Wenger, D. Chablat, C. Chevallereau, and A. Abourachid, “Combining precision and power to maximize performance: a case study of the woodpecker’s neck,” *Computer Methods in Biomechanics and Biomedical Engineering*, vol. 22, pp. 20–21, May 2019.

[2] B. Fasquelle, P. Khanna, C. Chevallereau, D. Chablat, D. Creusot, S. Jolivet, P. Lemoine, and P. Wenger, “Identification and Control of a 3-X Cable-Driven Manipulator Inspired From the Bird’s Neck,” *Journal of Mechanisms and Robotics*, vol. 14, Feb. 2022.

[3] K. D. Snelson, “Continuous tension, discontinuous compression structures,” *US Patent 3169611*, Feb. 1965.

[4] V. Muralidharan and P. Wenger, “Optimal design and comparative study of two antagonistically actuated tensegrity joints,” *Mechanism and Machine Theory*, vol. 159, May 2021.

[5] Q. Boehler, S. Abdelaziz, M. Vedrines, P. Poignet, and P. Renaud, “From modeling to control of a variable stiffness device based on a cable-driven tensegrity mechanism,” *Mechanism and Machine Theory*, vol. 107, pp. 1–12, 2017.

[6] M. Furet, A. Abourachid, C. Böhmer, V. Chummun, C. Chevallereau, R. Cornette, X. De La Bernardie, and P. Wenger, “Estimating motion between avian vertebrae by contact modeling of joint surfaces,” *Computer Methods in Biomechanics and Biomedical Engineering*, vol. 25, pp. 123–131, Jan. 2022.

[7] V. Muralidharan, N. Testard, C. Chevallereau, A. Abourachid, and P. Wenger, “Variable Stiffness and Antagonist Actuation for Cable-Driven Manipulators Inspired by the Bird Neck,” *Journal of Mechanisms and Robotics*, vol. 15, Apr. 2023.

[8] A. van Riesen, M. Furet, C. Chevallereau, and P. Wenger, “Dynamic analysis and control of an antagonistically actuated tensegrity mechanism,” in *ROMANSY 22 – Robot Design, Dynamics and Control* (V. Arakelian and P. Wenger, eds.), (Cham), pp. 481–490, Springer International Publishing, 2019.

[9] P. Wenger and M. Furet, “Kinematic analysis of a planar manipulator with anti-parallelogram joints and offsets,” in *Advances in Robot Kinematics*, Springer, 2020.

[10] J. J. Realpe, G. Aiche, S. Abdelaziz, and P. Poignet, “Asynchronous and decoupled control of the position and the stiffness of a spatial RCM tensegrity mechanism for needle manipulation,” in *2020 IEEE International Conference on Robotics and Automation (ICRA)*, pp. 3882–3888, May 2020.

[11] J. A. A. Duarte, J. C. A. Vilchis, A. H. V. González, J. M. J. Villegas, S. Abdelaziz, and P. Poignet, “Super twisting control and stiffness modulation for tensegrity systems,” *IFAC-PapersOnLine*, vol. 55, no. 38, pp. 190–197, 2022. 13th IFAC Symposium on Robot Control SYROCO 2022.

[12] J. Jurado Realpe, S. Abdelaziz, and P. Poignet, “Model Predictive Controller for a Planar Tensegrity Mechanism with Decoupled Position and Stiffness Control,” in *Advances in Robot Kinematics*
2020 (J. Lenarčič and B. Siciliano, eds.), Springer Proceedings in Advanced Robotics, pp. 349–358, Springer International Publishing, 2020.

[13] M. I. Ullah, S. A. Ajwad, R. U. Islam, U. Iqbal, and J. Iqbal, “Modeling and computed torque control of a 6 degree of freedom robotic arm,” in *2014 International Conference on Robotics and Emerging Allied Technologies in Engineering (iCREATE)*, pp. 133–138, Apr. 2014.

[14] B. Fasquelle, M. Furet, C. Chevallereau, and P. Wenger, “Dynamic modeling and control of a tensegrity manipulator mimicking a bird neck,” in *Advances in Mechanism and Machine ScienceProceedings of the 15th IFTOMM World Congress on Mechanism and Machine Science*, pp. 2087–2097, Springer International Publishing, 2019.

[15] M. Reyhanoglu, A. van der Schaft, N. Mcclamroch, and I. Kolmanovsky, “Dynamics and control of a class of underactuated mechanical systems,” *IEEE Transactions on Automatic Control*, vol. 44, pp. 1663–1671, Sept. 1999.

[16] G. Jeanneau, V. Bégoc, and S. Briot, “Experimental Safety Analysis of R-Min, an underactuated parallel Robot,” *Journal of Mechanisms and Robotics*, vol. 15, pp. 1–21, Jan. 2023.

[17] A. Zelei, L. L. Kovács, and G. Stépán, “Computed Torque Control Method for Under Actuated Manipulator,” in *Proceedings of the ASME 2009 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Volume 4: 7th International Conference on Multibody Systems, Nonlinear Dynamics, and Control*, Parts A, B and C, pp. 523–528, American Society of Mechanical Engineers Digital Collection, July 2010.

[18] A. Zelei, L. L. Kovács, and G. Stépán, “Computed torque control of an under-actuated service robot platform modeled by natural coordinates,” *Communications in Nonlinear Science and Numerical Simulation*, vol. 16, pp. 2205–2217, May 2011.

[19] A. A. Kumar, J.-F. Antoine, and G. Abba, “Input-Output Feedback Linearization for the Control of a 4 Cable-Driven Parallel Robot,” *IFAC-PapersOnLine*, vol. 52, pp. 707–712, Jan. 2019. 9th IFAC Conference on Manufacturing Modelling, Management and Control MIM 2019.

[20] A. A. Kumar, J.-F. Antoine, and G. Abba, “Control of an Underactuated 4 Cable-Driven Paral lel Robot using Modified Input-Output Feedback Linearization,” *IFAC-PapersOnLine*, vol. 53, pp. 8777–8782, Jan. 2020. 21st IFAC World Congress.

[21] R. Ozawa, K. Hashirii, and H. Kobayashi, “Design and control of underactuated tendon-driven mechanisms,” in *2009 IEEE International Conference on Robotics and Automation*, pp. 1522–1527, May 2009.

[22] R. Ozawa, K. Hashirii, Y. Yoshimura, M. Moriya, and H. Kobayashi, “Design and control of a three-fingered tendon-driven robotic hand with active and passive tendons,” *Autonomous Robots*, vol. 36, pp. 67–78, Jan. 2014.

[23] N. J. S. Testard, C. Chevallereau, and P. Wenger, “Control in the operational space of a redundant and under-actuated tensegrity robot,” in *25ème Congrès Français de Mécanique*, Aug. 2022.

[24] Y. Aoustin, C. Chevallereau, A. Glumineau, and C. Moog, “Experimental results for the end effector control of a single flexible robotic arm,” *IEEE Transactions on Control Systems Technology*, vol. 2, pp. 371–381, Dec. 1994.

[25] D. Chen and B. Paden, “Stable inversion of nonlinear non-minimum phase systems,” *International Journal of Control*, vol. 64, pp. 81–97, May 1996.

[26] R. J. Beerends, H. G. ter Morsche, J. C. van den Berg, and E. M. van de Vrie, *Fourier and Laplace Transforms*. Cambridge University Press, 2003.

[27] D. K. Miu, “Physical Interpretation of Transfer Function Zeros for Simple Control Systems With Mechanical Flexibilities,” *Journal of Dynamic Systems, Measurement, and Control*, vol. 113, pp. 419–424, Sept. 1991.

[28] M. Ruderman, “On stability and robustness of Virtual Torsion Sensor (VTS) for flexible joint robots,” in *IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society*, pp. 6984–6899, Oct. 2016.
[29] H. K. Khalil, "Lyapunov's stability theory," in *Encyclopedia of Systems and Control* (J. Baillieul and T. Samad, eds.), pp. 685-690, Springer London, 2015.

[30] X. Yu, J. Yin, and S. Khoo, "Generalized lyapunov criteria on finite-time stability of stochastic nonlinear systems," *Automatica*, vol. 107, pp. 183-189, 2019.

[31] N. J. Testard, C. Chevallereau, and P. Wenger, "Comparison analysis of tendon-driven manipulators based on their wrench feasible workspace," in *Cable-Driven Parallel Robots, Proceedings of the 6th International Conference on Cable-Driven Parallel Robots*, pp. 121-133, Springer, 2023.

[32] N. J. Testard, C. Chevallereau, and P. Wenger, "Comparison analysis of bio-inspired tendon-driven manipulators based on their tension-feasible workspace," *Journal of Mechanisms and Robotics*, vol. 17, no. 1, 2025.

[33] L. Terray, O. Plateau, A. Abourachid, C. Böhmer, A. Delapré, X. la Bernardie, and R. Cornette, "Modularity of the neck in birds (aves)," *Evolutionary Biology*, 2020.

[34] N. J. S. Testard, C. Chevallereau, and P. Wenger, "Static analysis of an under-actuated bio-inspired robot," tech. rep., Laboratoire des sciences du numérique de Nantes (LS2N), Jan. 2024. hal-04391834.

[35] A. Isidori and J. Grizzle, "Fixed modes and nonlinear noninteracting control with stability," *IEEE Transactions on Automatic Control*, vol. 33, pp. 907-914, Oct. 1988.

[36] E. G. Gilbert, "The decoupling of multivariable systems by state feedback," *SIAM Journal on Control*, vol. 7, no. 1, pp. 50-63, 1969.

[37] N. J. S. Testard, C. Chevallereau, and P. Wenger, "Dynamics and computed torque control stability of an under-actuated tendon-driven manipulator," in *Advances in Mechanism and Machine Science*, pp. 332-341, Springer Nature Switzerland, 2023. 16th IFToMM World Congress.

[38] B. Rasof, "The initial- and final-value theorems in Laplace transform theory," *Journal of the Franklin Institute*, vol. 274, pp. 165-177, Sept. 1962.