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

HAL
open science

# Variable Stiffness and Antagonist Actuation for Cable-Driven Manipulators Inspired by the Bird Neck

Vimalesh Muralidharan, Nicolas J.S. Testard, Christine Chevallereau, Anick Abourachid, Philippe Wenger

► To cite this version:

Vimalesh Muralidharan, Nicolas J.S. Testard, Christine Chevallereau, Anick Abourachid, Philippe Wenger. Variable Stiffness and Antagonist Actuation for Cable-Driven Manipulators Inspired by the Bird Neck. Journal of Mechanisms and Robotics, 2023, 15 (3), 10.1115/1.4062302. hal-04087448

HAL Id: hal-04087448

https://hal.science/hal-04087448

Submitted on 3 May 2023

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
# Variable stiffness and antagonist actuation for cable-driven manipulators inspired by the bird neck

Vimalesh Muralidharan<sup>a</sup>, Nicolas Testard<sup>a</sup>, Christine Chevallereau<sup>a</sup>, Anick Abourachid<sup>b</sup>

Philippe Wenger*

CNRS,

Nantes Universite, Ecole Centrale de Nantes, CNRS, LS2N, 44321 Nantes, France

Email: Philippe.Wenger@ls2n.fr

## ABSTRACT

This paper discusses stiffness and antagonistic actuation in light-weight cable-driven bio-inspired manipulators suitable for safe interactions. Manipulators under study are built upon arranging in series several tensegrity joints, called *modules*. A comparative study of several modules revealed that the X module, in contrast to modules based on pivots, allows one to increase joint stiffness by increasing antagonistic input forces like during muscle coactivation. For a planar manipulator with *N* modules, antagonistic actuation schemes with $2N$ and $N+1$ cables are proposed and compared. It is shown that the *N* + 1 cable actuation scheme allows controlling both the manipulator configuration and joint stiffness satisfactorily. As compared with a manipulator with $2N$ active cables, one on each side of each module, higher forces are required to achieve the manipulator configuration. However, the *N* + 1 cable actuation scheme is a reasonable solution that allows reducing the moving masses and cost.

## 1 Introduction

Nature offers viable solutions obtained by natural selection. These solutions are frugal from the point of view of matter as well as energy. For instance, the energy performance of human or animal walking and running surpasses that of the best walking robots [1, 2]. Biological organs thus constitute an interesting model of inspiration for the roboticist, not only for the innovation potential but also for more sustainable solutions. Conventional industrial robots have a small number of long rigid bodies connected at discrete joints. In order to increase self-adaptability in unstructured environments, an interesting solution is to develop continuous-bodied robots such as trunk, snake or tentacle-like robots. Their inherent design would provide the benefit of a flexible bending along the structure. A large amount of research work has been devoted to bio-inspired continuous-bodied robots [3]. Examples of robots inspired by animals are elephant-trunk arms [4–6], octopus’ robots [7], snake-like robots [8], anguilliform robots [9], bird-neck manipulators [10], among others. Snakes, eels and bird necks have a cervical spine made of articulated vertebrae. To mimic them, hard discrete-jointed hyper-redundant robots can be proposed [4, 9]. They are derived from conventional robots by multiplying the number of joints and rigid links, thus resulting in heavy designs. Musculoskeletal systems can be modeled using tensegrity systems where cables and/or springs play the role of tendons and ligaments and rigid bars play the role of bones [11]. It is possible to actuate a tensegrity system by varying the length of certain elements such as that of the cables. These are called tensegrity mechanisms [12]. Several researchers have taken advantage of this possibility to propose light-weight manipulators remotely actuated with cables [13–19]. Another solution consists in designing continuum robots, i.e. robots with a smooth body and a hard/compliant surface [20]. Those robots can have remote or intrinsic actuation. The latter comprise multi-backbone tendon-driven robots [4] and concentric tube robots [21]. Multi-backbone tendon-driven robots can reach a higher payload than concentric-tube robots, which are generally smaller and used in medical applications (e.g. endoscopes) [22]. Continuum robots with intrinsic actuation comprise pneumatic robots whose McKibben actuators act as artificial muscles [5] and shape memory-alloy robots [23]. Both are difficult to control. Fluid-driven robots are heavy and necessitates bulky power supply systems. Shape memory alloy robots are unable to carry heavy loads. Soft robots are typically used to mimic the hydrostat, e.g.

<footnote><sup>a</sup> Nantes Universite, Ecole Centrale de Nantes, CNRS, LS2N, 44321 Nantes, France</footnote>

<footnote><sup>b</sup> UMR 7179 CNRS/MNHN, Département Adaptations du Vivant, Muséum National d'Histoire Naturelle, 75000 Paris, France</footnote>
an octopus [3]. Soft robots do not rely on a structural backbone but possess a deformable body (e.g. made of rubber of silicon). They are highly flexible but cannot provide bending stiffness through their physical properties and are not suitable for transmitting high forces. An intermediate approach is to design robots with bodies that can be made stiff or flexible: an example was proposed in [24] who introduced a shape morphing approach for tuning the link stiffness of a robot arm. This approach is original but rather complex and stiffness is difficult to model.

In this paper, we focus on a kind of bio-inspired collaborative robots suitable for safe interactions, i.e. with tunable stiffness. An interesting candidate model is the bird neck. Birds use their neck as a dextrous arm for common or more specialized tasks [25] depending on the species. The vulture's neck can contort itself to penetrate inside carcasses, while exerting great efforts to tear off the remains of food [26]; the parrot is able to hang by its beak using its neck as a third leg to move around; other birds use their neck as a catapult to catch fish or to pierce a tree trunk [26]. These remarkable performances have encouraged us to look at the bird neck and find a model of inspiration to design an innovative planar tensegrity manipulator [10, 27].

The bird neck is built around a cervical spine made up of vertebrae articulated and moved by a set of muscles and tendons. Several types of mechanisms can be considered to reproduce at best the 2-degree-of-freedom motion between two vertebrae. It was shown in [28] that a modified ball-and-socket joint is a possible candidate. Here, we focus on the motion in the sagittal plane of the bird neck. Accordingly, the simplest mechanism is a revolute joint but, if the center of rotation is not fixed like in the knee joint [29], an anti-parallelogram mechanism would be more appropriate. In fact, [30] showed that both revolute joints and anti-parallelogram joints, with or without offsets, are appropriate to reproduce the intervertebral motion of the bird neck. Biological joints are actuated by antagonistic muscles. Most of the time, two antagonistic muscles work in opposite ways: when one contracts, the other relaxes, so that energy consumption is minimized [31]. However, simultaneous activation of antagonistic muscles may occur for a short time. This coactivation aims to increase the stiffness of the joint [31]. The organization of the muscular system of the bird neck, with one long muscle on one side and many muscles on the other side [26], suggests that a coactivation system is used. Accordingly, a bio-inspired robotic bird neck model should be designed with joints that can be actuated in an antagonistic way. Moreover, energy consumption should be minimized and one should be able to increase the joint stiffness when needed. Variable stiffness actuators (VSA) have been developed to allow for joint stiffness modulation in applications involving interactions, such as in robots and biped [32]. Stiffness modulation in VSA can be achieved through software or hardware. Several different hardware implementations of VSA have been proposed, such as by playing with spring arrangement and properties [33–35] or by changing transmission angle with cams [36]. Other solutions use antagonistic cable actuation together with springs [37]. These latter are intrinsically lighter than the former that use solid components. A cable driven joint for stiffness amplification was proposed for a humanoid robot in [17] for fast and safe interactions. The proposed joint is very stiff but rather complex and difficult to implement in a redundant manipulator built with many such joints in series. An interesting low-energy, variable stiffness active module was proposed in [37]. This module uses cable actuation and allows for decoupling stiffness control from internal tension. However, the proposed solution is rather bulky and difficult to implement in a bird neck model.

In this paper, a manipulator inspired by the bird neck is proposed. Four types of tensegrity joints are proposed and compared together. A suitable joint is chosen to be used in a three degrees of freedom manipulator. All simulations results were obtained with Matlab®. Experiments conducted on a X module and a R module confirm that, under an increase in the antagonistic forces, the stiffness of the X module is increased but the one of the R module is decreased.

This paper is organized in two parts. In section 2, the goal is to study and compare four types of joints in terms of energy consumption and stiffness control. We propose a generic parameterized joint model. Each of the four joint types studied corresponds to particular values of certain parameters. We establish a condition for an increase in cable tension to result in an increase in stiffness. A discussion of the possibilities and limitations of stiffness control is given.

In section 3, the extension to a stack of modules is addressed. Different types of cable actuation are compared. We study a complete antagonistic actuation with 2 independent cables per module. and an antagonistic actuation with only one long cable common to all modules and one independent antagonistic cable per module. Section 4 concludes this paper.

## 2 Mechanism choice and analysis

Our objective is to draw inspiration from the morphology of the bird neck to define a planar manipulator based on tensegrity mechanisms. We want to define this manipulator as a series of basic mechanisms, referred to as *modules*. These modules play the role of intervertebral joints. Each module consists of bars and springs and are operated by cables. Cables and springs play the role of muscles and tendons. If we limit ourselves to a planar study, the relative movement between two vertebrae is mainly a rotation. In the bird neck, this motion is constrained by several surfaces in contact, referred to as *central surfaces* and *zygapophyses* [26, 30, 33, 37]. It is therefore not obvious that the relative movement corresponds to a pure rotation, i.e. a rotation around a fixed point. Several types of modules will then be considered. The choice of a suitable module must be defined according to the following points:

- get inspiration from the bird neck;
- respect criteria met both in the bird and in the robot (e.g., low energy consumption, stacking of modules, antagonistic actuation);

- criteria that are specific to the bird (e.g., protection of the spinal cord) are not necessarily satisfied;

- add criteria specific to robots (e.g., remote motors on a fixed base).

Both revolute joints and crossed four-bar joints can be used to produce planar motions between two vertebrae [30, 39]. The former generate a pure rotation about a fixed point while the latter have a variable center of rotation. A comparison of the movements generated by the abovementioned two joints with the bird neck intervertebral motion did not lead to clearly favoring one of the modules [30]. We propose a model of a generic module that allows defining four different types of joint upon tuning the module's parameters. This generic model is shown in Fig. 1. The module is actuated with two cables (in red) attached at each end of the upper bar. Two springs are attached in parallel of the cables. Their main role is to contribute to stiffness. They also allow defining a desired configuration at rest: as shown in section 3, a bird neck-inspired manipulator built with several modules in series should have a S-shape at rest, and this can be achieved by selecting appropriate asymmetrical spring constants.

<figure><img src="image_3.png" /><figcaption>Fig. 1. Generic module defined by four parameters *b*, *L*, *r*, *h* in a frame (*O*,*x*,*y*) attached to the ground.</figcaption></figure>

To keep a reduced number of parameters, we define symmetrical modules, namely, the top and bottom bars have the same length *b* ≥ 0 and the two crossing bars have the same length *L* ≥ 0 with *L* > *b* when *b* ≠ 0. The module configuration is defined by the orientation angle α of the upper bar. In Fig. 1, the dashed-dotted line indicates the distance *l* between the midpoints of the bottom and top bars, which will be used for the expression of the cable lengths *l*₁ and *l*₂. When *b* and *L* are both non zero, the module behaves like an anti-parallelogram mechanism, referred to as a *X module*. Its characteristic movement corresponds to the rolling without sliding of two ellipses one on the other (Fig. 2). Mechanical implementations of this joint can be found in [15] and [10]. Note that the guidance by the bars of the *X* module can be likened to the cruciate ligaments of the knee joint [29]. If *b* = 0, the previously mentioned ellipses become circles (Fig. 3) and the *X* module degenerates into a double pivot joint of identical angles, referred to as *2R module*. Mechanical implementations of such a
<table><caption>Table 1. Dimensions of the four modules studied for $r_0 = 0.04$ m, $L_0 = 0.08$ m. At $\alpha = 0$, point P is vertically above point O at a distance of $\sqrt{L_0^2 - (L_0/2)^2}$ from the base for all modules.</caption><thead><tr><th>case</th><th>b</th><th>L</th><th>r</th><th>h</th></tr></thead><tbody><tr><td>X module</td><td>L<sub>0</sub>/2</td><td>L<sub>0</sub></td><td>r<sub>0</sub></td><td>0</td></tr><tr><td>R module</td><td>0</td><td>0</td><td>r<sub>0</sub></td><td>√L<sub>0</sub><sup>2</sup> - (L<sub>0</sub>/2)<sup>2</sup>/2</td></tr><tr><td>X module + offset</td><td>0.8L<sub>0</sub>/2</td><td>0.8L<sub>0</sub></td><td>r<sub>0</sub></td><td>0.2√L<sub>0</sub><sup>2</sup> - (L<sub>0</sub>/2)<sup>2</sup>/2</td></tr><tr><td>2R module</td><td>0</td><td>√L<sub>0</sub><sup>2</sup> - (L<sub>0</sub>/2)<sup>2</sup>/2</td><td>r<sub>0</sub></td><td>√L<sub>0</sub><sup>2</sup> - (L<sub>0</sub>/2)<sup>2</sup>/4</td></tr></tbody></table>

joint have been proposed in [17] and [40]. When both $L$ and $b$ vanish, the module becomes a simple pin joint, referred to as a *R module*. Parameters $h$ and $r$ have been defined to allow adjusting the distance between the muscle attachment points and the joint rotation center. Parameter $r > 0$ plays the role of a lever arm while $h \ge 0$ is an offset.

<figure><img src="image_4.png" /><figcaption>Fig. 2. An X module ($b \neq 0$ and $L \neq 0$, shown here with an offset $h$). The movement corresponds to the rolling without sliding of two ellipses one on the other. Trace of the middle point of the upper bar is shown in orange</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 3. A 2R module obtained when $b = 0$. The movement corresponds to the rolling without slipping of two circles one on the other. Trace of the middle point of the upper bar is shown in orange</figcaption></figure>

Table 1 describes the four different modules obtained with different sets of parameter values: it includes the X module without offset ($h = 0$), the R module ($b = L = 0$), the X module with offset ($h \neq 0$) and the 2R module ($b = 0$). These modules are shown in Fig. 4. The absence of singularities also imposes to restrict the rotation range to $-(\pi - 2\delta) < \alpha < \pi - 2\delta$ where $\delta = \text{atan2}(r, h)$, see [41] for more details.
<figure><img src="image_6.png" /><figcaption>Fig. 4. The four studied modules are depicted at α = 20°. Left: X module without offset (top) and with offset (bottom). Right: R (top) and 2R (bottom) module.</figcaption></figure>

Let **P** be the middle point of the top bar with respect to a base frame centered at the middle of the bottom bar (x-axis aligned with the bottom bar). The coordinates of **P** can be calculated as functions of the upper bar angle α as follows:

$$ \mathbf{P} = \begin{pmatrix} -h \sin(\alpha) - \sin(\frac{\alpha}{2}) \sqrt{L^2 - b^2 \cos^2(\frac{\alpha}{2})} \\ h(1 + \cos(\alpha)) + \cos(\frac{\alpha}{2}) \sqrt{L^2 - b^2 \cos^2(\frac{\alpha}{2})} \end{pmatrix} \quad (1) $$

## 2.1 Static model and stability

The static model and stability conditions are of primary importance for the study of a tensegrity module. The static model allows describing the module configuration as functions of the forces applied in the cables. Let **U** be the potential energy of a module: $U = U_g + U_k + F_1 l_1 + F_2 l_2$, where $U_g$ (resp. $U_k$) is the contribution of gravity (resp. of the springs), $l_1, l_2$ are the cable lengths and $F_1, F_2$ are the forces applied by the cables (see Fig. 1). The equilibrium condition of a module is:

$$ \frac{dU}{d\alpha} = 0 \qquad (2) $$

This equation can be rewritten as:

$$ G + \frac{dl_1}{d\alpha} F_1 + \frac{dl_2}{d\alpha} F_2 = 0 \qquad (3) $$

where $G = \frac{dU_g}{d\alpha} + \frac{dU_k}{d\alpha}$. Let $k_1$ (resp. $k_2$) denote the left (resp. right) spring constant and let $l_{1v}$ (resp. $l_{2v}$) denote the free length of the left (resp. right) spring. We have: $\frac{dU_k}{d\alpha} = k_1 \frac{dl_1}{d\alpha} (l_1 - l_{1v}) + k_2 \frac{dl_2}{d\alpha} (l_2 - l_{2v})$,
An equilibrium is stable if its stiffness is positive, i.e.:

$$ \frac{d^2 U}{d\alpha^2} > 0 \qquad (4) $$

For given cable forces $F_1$, $F_2$, the stiffness can be written as:

$$ \frac{d^2 U}{d\alpha^2} = \frac{dG}{d\alpha} + \frac{d^2 l_1}{d\alpha^2} F_1 + \frac{d^2 l_2}{d\alpha^2} F_2 \qquad (5) $$

The cable lengths $l_1, l_2$ are:

$$ l_1 = l - d, \qquad l_2 = l + d \qquad (6) $$

where $l$, the distance between the midpoints of bottom and top bars is:

$$ l = \sqrt{L^2 - b^2 \cos^2(\frac{\alpha}{2}) + 2h\cos(\frac{\alpha}{2})} \qquad (7) $$

and

$$ d = 2r\sin(\frac{\alpha}{2}) \qquad (8) $$

From the equilibrium and stiffness equations, it is apparent that the length expressions $l_1$ and $l_2$ play a central role in:

- the equilibrium at rest (i.e. $F_1 = F_2 = 0$) or for given input forces $F_1, F_2$ via $\frac{d l_1}{d \alpha}, \frac{d l_2}{d \alpha}$;

- the stability of the equilibrium for given input forces via $\frac{d^2 l_1}{d \alpha^2}, \frac{d^2 l_2}{d \alpha^2}$ and more generally in the stiffness of the module.

The plots of $l_1, l_2$ are shown in Fig. 5 for the four modules studied.

The module is in equilibrium if we choose forces $F_1$ and $F_2$ satisfying (3). To ensure positive, limited cable tensions, we impose $0 \le F_{min} \le F_i \le F_{max}$.

We have:

$$ \frac{dl_1}{d\alpha} = \frac{dl}{d\alpha} - \frac{dd}{d\alpha}, \qquad \frac{dl_2}{d\alpha} = \frac{dl}{d\alpha} + \frac{dd}{d\alpha} \qquad (9) $$

where:

$$ \frac{dd}{d\alpha} = r\cos(\frac{\alpha}{2}) \qquad (10) $$

When $\sqrt{L^2 - b^2 \cos^2(\frac{\alpha}{2})} \neq 0$, i.e. for all modules but the R module:

$$ \frac{dl}{d\alpha} = \frac{b^2 \cos(\frac{\alpha}{2}) \sin(\frac{\alpha}{2})}{2\sqrt{L^2 - b^2 \cos^2(\frac{\alpha}{2})}} - h\sin(\frac{\alpha}{2}) \qquad (11) $$

For the R module, we have:

$$ \frac{dl}{d\alpha} = -h\sin(\frac{\alpha}{2}) \qquad (12) $$
<figure><img src="image_7.png" /><figcaption>Fig. 5. Plots of cable and spring lengths for the four modules described in table 1. Lengths $l_1$ (resp. $l_2$) are depicted in solid (resp. dotted) lines. Red (resp. cyan, green, blue) color corresponds to the X module (resp. X module with offset, 2R module, R module). Colors available in the online version.</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 6. Evolution of $\frac{dl_1}{d\alpha}$ in solid line and $\frac{dl_2}{d\alpha}$ in dotted line as a function of $\alpha$. Red (resp. cyan, green, blue) color corresponds to the X module (resp. X module with offset, 2R module, R module). Colors available in the online version.</figcaption></figure>

At $\alpha = 0$, $\frac{dl}{d\alpha} = 0$ and $\frac{dd}{d\alpha} = r > 0$. Thus, $\frac{dl_1}{d\alpha} \le 0$ and $\frac{dl_2}{d\alpha} \ge 0$ around $\alpha = 0$. Figure 6 shows the evolution of $\frac{dl_1}{d\alpha}$ and $\frac{dl_2}{d\alpha}$ as a function of $\alpha$. The equilibrium solution with minimal forces is therefore obtained when one of the forces is at $F_{min}$. For simplicity, we take $F_{min} = 0$.

Suppose that we want to reach a desired configuration $\alpha^d$ such that $G(\alpha^d) < 0$. Then, the minimum force solution denoted by $F^*$ is:

$$F_2^* = -\frac{G(\alpha^d)}{\frac{dl_2}{d\alpha}}, \qquad F_1^* = 0 \qquad (13)$$
Other solutions, which would involve a coactivation, can be defined in terms of $F_2$ as follows:

$$F_2 = - \frac{G(\alpha^d) + \frac{dl_1}{d\alpha} F_1}{\frac{dl_2}{d\alpha}} = F_2^* - \frac{\frac{dl_1}{d\alpha}}{\frac{dl_2}{d\alpha}} F_1 \quad (14)$$

## 2.2 Coactivation and stiffness

In biological systems, coactivation is used to reinforce joint stiffness [31, 42, 43]. The impact of a non-zero force $F_1$ on the stiffness of the system is written using equation (5):

$$\frac{d^2 U}{d\alpha^2} = \frac{dG}{d\alpha} + \frac{d^2 l_2}{d\alpha^2} F_2^* + R_1 F_1 \quad (15)$$

with

$$R_1 = \left( \frac{\frac{d^2 l_1}{d\alpha^2} \frac{dl_2}{d\alpha} - \frac{d^2 l_2}{d\alpha^2} \frac{dl_1}{d\alpha}}{\frac{dl_2}{d\alpha}} \right) \quad (16)$$

Finding a behavior similar to that observed in biological systems implies that $R_1 > 0$ for values of $\alpha$ where $G(\alpha^d) < 0$. Let C be the numerator of $R_1$. Since $\frac{dl_2}{d\alpha} > 0$, this condition can be written:

$$C = \frac{d^2 l_1}{d\alpha^2} \frac{dl_2}{d\alpha} - \frac{d^2 l_2}{d\alpha^2} \frac{dl_1}{d\alpha} > 0 \quad (17)$$

This expression can be simplified by expressing $l_1$ and $l_2$ as functions of $l$ and $d$:

$$C = 2 \left( \frac{d^2 l}{d\alpha^2} \frac{d d}{d\alpha} - \frac{d^2 d}{d\alpha^2} \frac{d l}{d\alpha} \right) > 0 \quad (18)$$

A similar condition can be written for values of $\alpha$ where $G(\alpha^d) > 0$. It can be showed that this leads to the same conditions (17) and (18).

For the modules studied, we have:

$$\frac{d^2 l}{d\alpha^2} = \frac{b^2(L^2 \cos(\alpha) - b^2 \cos^4(\frac{\alpha}{2}))}{4(L^2 - b^2 \cos^2(\frac{\alpha}{2}))^{3/2}} - \frac{h}{2} \cos(\alpha/2) \quad (19)$$

This formula is valid only when $L^2 - b^2 \cos^2(\frac{\alpha}{2}) \neq 0$, i.e. for all modules but the R module. For the latter:

$$\frac{d^2 l}{d\alpha^2} = -\frac{h}{2} \cos(\alpha/2) \quad (20)$$

$$\frac{d^2 d}{d\alpha^2} = -\frac{r}{2} \sin(\frac{\alpha}{2}) \quad (21)$$

From equations (11) or (12), (10), (19) or (20) and (21), we can derive the expression of $C$. In the case $L = b = 0$, i.e. for a R module, we obtain:

$$C = -hr \quad (22)$$
knowing that $r > 0$ and $h > 0$, it is apparent that condition $C > 0$ cannot be satisfied for the R module.

If $L^2 - b^2 \cos^2(\frac{\alpha}{2}) \neq 0$, we have:

$$C = \frac{rb^2(L^2 - b^2)\cos^3(\frac{\alpha}{2})}{2(L^2 - b^2\cos^2(\frac{\alpha}{2}))^{3/2}} - hr > 0 \quad (23)$$

Note that the above condition on $C$ is independent of $r$. Indeed, since $r > 0$, a variation of $r$ does not change the sign of $C$.

For the 2R module ($b = 0$), we find exactly the same condition as in the case of the R module (the value of $h$ is different for the same module height).

For the X module without offset, since $\cos(\frac{\alpha}{2}) > 0$ within the joint limits and $L > b$, the condition is always satisfied.

For the X module with offset $h \neq 0$, $h$ can be selected as a function of the variation range of $\alpha$ to satisfy this condition. Given $-\pi/2 < \alpha_m \le \alpha \le \alpha_M < \pi/2$, $h$ must be defined such that:

$$h < \frac{b^2(L^2 - b^2)\cos^3(\frac{\max(|\alpha_m|, |\alpha_M|)}{2})}{2(L^2 - b^2\cos^2(\frac{\max(|\alpha_m|, |\alpha_M|)}{2}))^{3/2}} \quad (24)$$

In biological systems, a coactivation is accompanied by an increase in joint stiffness. When high stiffness is required, such as in process tasks, it is desirable to stiffen the robot upon increasing the cable forces. This feature also implies that low forces produce low stiffness at equilibrium. Such a behavior is expected when safe interactions are desired, such as in collaborative robots.

Figure 7 illustrates the evolution of $C$ for the four modules studied. The X module allows an increase in stiffness by coactivation, i.e. by simultaneous increase in the forces $F_1$ and $F_2$. This is also partially the case (for $-0.75rad < \alpha < 0.75rad$) for the X module with offset. In fact, equation (23) shows that $h$ should be chosen sufficiently small to keep this behavior. The R module and the 2R module, instead, do not allow increasing stiffness by coactivation. Moreover, significant forces in the cables would produce low stiffness, which is not a satisfactory feature.

<figure><img src="image_9.png" /><figcaption>Fig. 7. A coactivation is accompanied by an increase in joint stiffness for $C > 0$. These curves show the evolution of $C$ as a function of $\alpha$ for the four modules studied. Lengths $l_1$ (resp. $l_2$) are depicted in solid (resp. dotted) lines. Red (resp. cyan, green, blue) color corresponds to the X module (resp. X module with offset, 2R module, R module). Colors available in the online version.</figcaption></figure>

Parameter $r$ can be chosen according to the torque that is to be transmitted to the joint. In the bird neck, $r$ varies according to the vertebrae and does not take symmetrical values on each side [26] but in this work, symmetric attachments points have been considered for more simplicity.
## 2.3 Experimental study

In previous section 2.2, a coactivation index *C* has been derived for the different modules studied. It was shown that *C* is always negative (resp. positive) for the R module (resp. X module without offset), which means that when the two antagonistic cable forces increase, (i) the stiffness of the X module without offset increases and (ii) the stiffness of the R module decreases. In this part, we present some experiments that confirm the above two important features.

### 2.3.1 X module

The X module prototype used for these experiments has the following dimensions: *b* = 0.05 m, *L* = 0.1 m, *r* = 0.025 m and *h* = 0. We use a pair of springs of constant *k* = 100 N/m on each side, which amount to 200 N/m on each side. The set-up is shown in figure 8. In all experiments, the X module is subjected to a set of antagonistic cable forces of equal magnitude

<figure><img src="image_10.png" /><figcaption>Fig. 8. The X module set up.</figcaption></figure>

on both sides $F_{ant} = F_1 = F_2$, mimicking muscle coactivation. The antagonistic forces are imposed by the actuators. They are obtained from the actuator torques applied and knowing the drum radius (here equal to 25 mm). Then, we apply an external perturbation force. Deviation angles are measured with an encoder located on the upper-left revolute joint (see Fig. 8), for different levels of antagonistic cable forces. A natural experimental set-up is to apply a perturbation force manually through a dynamo-meter and to measure the module deviation angle. Figure 9 shows that the force that needs to be applied for the same module deviation, namely 40° increases from 16 to 24 and 35 N (as displayed on the left by the dynamo-meter screen) when the magnitude of the antagonistic forces $F_{ant}$ increase from 10 to 30 and 50 N, respectively. This means that the more the antagonistic force magnitude, the more the stiffness of the X module. A video of the experiments can be viewed at https://www.youtube.com/watch?v=mzrz152KhYw. In order to tune and measure the magnitude of the perturbation with more accuracy, a more practical solution is to apply the external perturbation with one of the actuated cables. We increase continuously the magnitude of this cable force from its initial coactivation value. Figure 10 shows the plot of the deviation angle of the X module against the magnitude of the perturbation for 6 levels of antagonistic cable forces, namely, $F_{ant} = 5, 10, 15, 20, 25$ and 30 N, respectively. Since we are interested in the joint stiffness, the applied perturbation force is recalculated in terms of its associated moment using Eq. (3). It is apparent from this plot that the higher the antagonistic cable forces, the lesser the deviation for a given perturbation magnitude (note that because of friction, a minimal perturbation level of 0.1 N.m is necessary to observe a deviation). This clearly confirms the possibility to increase stiffness of the X module by increasing coactivation.

### 2.3.2 R module

Experiments are now conducted on the R module. The dimensions of the R module prototype were defined to have the same height and width as the X module prototype at $\alpha = 0$: $b = 0$, $L = 0$, $h = 0.043$ m and $r = 0.025$ m. We use one spring of constant $k = 500$ N/m on each side. Since we want to show that the stiffness decreases when we increase the antagonistic cable forces, we need to have a sufficiently large and positive module stiffness value at rest. For this reason, the springs were not arranged along the cable direction but they were inclined as shown in Fig. 11. Note that the spring direction does not affect the coactivation index *C*, which depends only on the cable direction and length.

Figure 12 shows the plot of the deviation angle of the R module against the magnitude of the perturbation (applied with one of the actuated cables) for the same 6 levels of antagonistic cable forces as above. Contrary to the X module, it is apparent that the deviation angle is always greater when the antagonistic forces are higher.
<figure><img src="image_11.png" /><figcaption>Fig. 9. Perturbation force needed for 3 levels of antagonistic cable forces (X module).</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Fig. 10. Deviation angle of the X module prototype against perturbation magnitude for different antagonistic cable forces. Colors available in the online version.</figcaption></figure>

Clearly, the R module can become unstable and fall off if the antagonistic forces are increased beyond a certain limit. In order to demonstrate this phenomenon physically, while respecting the torque limits of the motors, the existing springs of constant 500 N/m were replaced by 200 N/m ones. Starting from $\alpha = 0$, the antagonistic forces on the two cables were increased continuously from 5 N. The module became unstable and fell off when the forces were increased beyond 37.3 N. The video recording of this experiment can be found in https://www.youtube.com/watch?v=itU7fgHq4ro. This experiment is also shown in Fig. 13 where the evolution of the joint angle against the antagonistic forces is plotted. We can clearly see a jump when the antagonistic forces reach 37.3 N, which means that the module becomes unstable and falls off.
<figure><img src="image_13.png" /><figcaption>Fig. 11. Spring arrangement for the R module experimental set-up.</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>Fig. 12. Deviation angle of the R module prototype against perturbation magnitude for different antagonistic cable forces. Colors available in the online version.</figcaption></figure>

## 2.4 Stiffness tuning

At rest, birds can keep their neck in a stable S-shape configuration with little muscular activation [25]. This feature can be reproduced on a tensegrity module by choosing the springs such that the equilibrium configuration at rest is stable.

### 2.4.1 Equilibrium at rest

We recall the equilibrium equation:

$$ \frac{dU_g}{d\alpha} + \frac{dU_k}{d\alpha} = -\frac{dl_1}{d\alpha}F_1 - \frac{dl_2}{d\alpha}F_2 \quad (25) $$

Upon expanding $U_k$, the equilibrium equations becomes:

$$ \frac{dU_g}{d\alpha} + k_1 \frac{dl_1}{d\alpha} (l_1 - l_{1v}) + k_2 \frac{dl_2}{d\alpha} (l_2 - l_{2v}) = -\frac{dl_1}{d\alpha}F_1 - \frac{dl_2}{d\alpha}F_2 \quad (26) $$

The equilibrium equation at rest is:

$$ \frac{dU_g}{d\alpha} + k_1 \frac{dl_1}{d\alpha} (l_1 - l_{1v}) + k_2 \frac{dl_2}{d\alpha} (l_2 - l_{2v}) = 0 \quad (27) $$
<figure><img src="image_15.png" /><figcaption>Fig. 13. Plot of R module orientation angle against antagonistic forces. The jump at 37.3 N means that the R module becomes unstable.</figcaption></figure>

From the equation above, we can write a relationship between the two spring constants as follows:

$$k_2 = K_2 + K_{21}k_1 \qquad (28)$$

where

$$K_2 = -\frac{\frac{dU_g}{d\alpha}}{\frac{d^2 l_2}{d\alpha^2}(l_2 - l_{2v})} \qquad (29)$$

and

$$K_{21} = -\frac{\frac{d l_1}{d \alpha} (l_1 - l_{1v})}{\frac{d l_2}{d \alpha} (l_2 - l_{2v})} \qquad (30)$$

Since $K_{21} > 0$ in our case, an increase in $k_1$ results in an increase in $k_2$.

Note that when $k_1 = k_2$ and $l_{1v} = l_{2v} = l_v$, the rest configuration is $\alpha_r = 0$. This symmetry ensures that $\frac{dU_g(0)}{d\alpha} = 0$, $l_1(0) = l_2(0)$, $\frac{d l_1(0)}{d\alpha} = -\frac{d l_2(0)}{d\alpha}$.

### 2.4.2 Stability at rest

The stiffness of the module at rest is:

$$\frac{d^2 U}{d\alpha^2} = \frac{d^2 U_g}{d\alpha^2} + k_1 \frac{d^2 l_1}{d\alpha^2} (l_1 - l_{1v}) + k_1 \left(\frac{d l_1}{d\alpha}\right)^2 + k_2 \frac{d^2 l_2}{d\alpha^2} (l_2 - l_{2v}) + k_2 \left(\frac{d l_2}{d\alpha}\right)^2 \qquad (31)$$

From equation (28), for the stiffness to reach a desired value R, the spring constant $k_1$ must satisfy:

$$k_1 = \frac{R - \frac{d^2 U_g}{d\alpha^2} - K_2 \frac{d^2 l_2}{d\alpha^2} (l_2 - l_{2v}) - K_2 \frac{d l_2}{d\alpha}^2}{\left(\frac{d^2 l_1}{d\alpha^2} (l_1 - l_{1v}) + \frac{d l_1}{d\alpha}^2 + K_{21} \frac{d^2 l_2}{d\alpha^2} (l_2 - l_{2v}) + K_{21} \frac{d l_2}{d\alpha}^2\right)} \qquad (32)$$

For the four modules studied, let us impose the equilibrium at rest $\alpha = 0.17$ rad and the stiffness at rest $R = 1$ Nm/rad. To choose the spring free lengths, we rely on Fig. 5, which evaluates the spring lengths for the different equilibrium configurations. Accordingly, we take $l_v = 0.035$ m. We now define the orientation range as $-0.6$ rad $< \alpha < 0.6$ rad to have a maximum length less than four times the free length. Using equations (32) and (28) for the four modules studied, we can calculate the spring constants $k_1$ and $k_2$. The results are written in the first two columns of Table 2. Note that in this example, the weight of the module was neglected.
<table><caption>Table 2. Spring constants (in N/m) to guarantee a stiffness R = 1 Nm/rad at α = 0.17 rad at rest (first two columns). In the last two columns, the spring constants are such that R = 1 Nm/rad within -0.6 rad < α < 0.6 rad with co-activity</caption><thead><tr><th rowspan="3">case</th><th colspan="2">R=1 Nm/rad at α = 0.17 rad at rest<br>with minimal forces</th><th colspan="2">R = 1 Nm/rad within -0.6 rad &lt; α &lt; 0.6 rad<br>with coactivity</th></tr><tr><th>k<sub>1</sub></th><th>k<sub>2</sub></th><th>k<sub>1</sub></th><th>k<sub>2</sub></th></tr><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td>X module</td><td>349</td><td>219</td><td>316</td><td>199</td></tr><tr><td>R module</td><td>537</td><td>412</td><td>982</td><td>754</td></tr><tr><td>X module + offset</td><td>372</td><td>244</td><td></td><td></td></tr><tr><td>2R module</td><td>441</td><td>314</td><td>652</td><td>465</td></tr></tbody></table>

## 2.5 Equilibrium forces and stability

Once the springs have been chosen for each module, we explore the minimum forces necessary to ensure balance via (13) in the chosen joint movement range -0.6 rad < α < 0.6 rad and we calculate the associated joint stiffness via (5). Note that as the minimum forces are sought, one of the forces is zero. The results are shown in figures 14 and 15 for the values of spring constants given in the first column of table 2.

<figure><img src="image_16.png" /><figcaption>Fig. 14. Minimum forces to ensure balance at the different angles of the joint for the 4 modules studied. Forces $F_1$ (resp. $F_2$) are depicted in solid (resp. dotted) lines. Red (resp. cyan, green, blue, colors available in the online version) color corresponds to the X module (resp. X module with offset, 2R module, R module). The minimum forces correspond to $F_1 = 0$ or $F_2 = 0$. The equilibrium at rest (at zero forces) is obtained when $α = 0.17 rad$</figcaption></figure>

We observe that input forces increase when moving away from the equilibrium at rest (see Fig. 14). The evolution is consistent for the 4 types of modules with higher forces for the X module and lower forces for the R module. When $α < 0$, this difference in forces is accompanied by a significant difference in stiffness of the module in open loop. We have a different behavior of the X modules with or without offset and of the R and 2R modules. For the R and 2R modules, stiffness decreases when one moves away from the equilibrium at rest. For these modules, indeed, an increase in forces results in a decrease in stiffness (see Fig. 15). Moreover, it is not possible to reduce the forces since we currently have the minimum forces (with the constraint $F_i ≥ 0$). Consequently, the module stiffness cannot increase towards $R_m = 1$ Nm/rad with the chosen springs. For the X modules with or without offset, stiffness is greater than $R_m = 1$ Nm/rad for certain angles and less than $R_m = 1$ Nm/rad for others. Given the value of C for these modules (see Fig. 7), an increase in forces can make it possible to increase stiffness. We then propose to choose the input forces such that $R_m = 1$ Nm/rad for all orientations $α$ where $R_m < 1$ Nm/rad with the minimum forces, based on equation (15). Results are shown in figures 16 and 17. For the X module with offset, it is not possible to reach the desired stiffness close to the joint limits if the input forces are less than 100N, in fact the value of C is close to 0 and an increase in stiffness requires a significant increase in forces.
<figure><img src="image_17.png" /><figcaption>Fig. 15. Stiffness with minimum force. Red (resp. cyan, green, blue) color corresponds to the X module (resp. X module with offset, 2R module, R module, colors available in the online version). At rest (at zero forces) $\alpha = 0.17rad$ and the joint stiffness is 1 Nm/rad.</figcaption></figure>

<figure><img src="image_18.png" /><figcaption>Fig. 16. Forces calculated to have a stiffness $\ge 1$ Nm/rad. Forces $F_1$ (resp. $F_2$) are depicted in solid (resp. dotted) lines. Red (resp. cyan) color corresponds to the X module (resp. X module with offset). Colors available in the online version.</figcaption></figure>

<figure><img src="image_19.png" /><figcaption>Fig. 17. Stiffness for a desired stiffness $\ge 1$ Nm/rad. Red (resp. cyan) color corresponds to the X module (resp. X module with offset). Colors available in the online version.</figcaption></figure>
Note that for the X modules, stiffness can be increased by muscular coactivation like in biological systems. For the R module, a modulation of the stiffness is also possible but with different characteristics. If the objective is to have a stiffness $R = 1$ Nm/rad throughout the total range of $\alpha$, the spring constants must be selected with this objective in mind, i.e. for the configuration where the stiffness is minimal. The corresponding spring constant are given in the last 2 columns of table 2. They are higher than in the equilibrium at rest. The increase in forces can make it possible to reduce stiffness to have $R = 1$ Nm/rad in other configurations. The corresponding input forces are shown in Fig. 18. For the X module, we could also

<figure><img src="image_20.png" /><figcaption>Fig. 18. Forces obtained to have a stiffness $R = 1$ Nm/rad for all the equilibrium configurations when we choose the springs defined in the last 2 columns of table 2. Forces $F_1$ (resp. $F_2$) are depicted in solid (resp. dotted) lines. Red (resp. green, blue) color corresponds to the X module (resp. 2R module, R module).</figcaption></figure>

choose the springs, this time in the configuration where stiffness is a maximum. The spring constants are given in the last 2 columns of table 2. They are lower than for an equilibrium at rest. For the other module configurations, a coactivation can make it possible to increase stiffness to reach the desired value. The forces necessary to have $R = 1$ Nm/rad are presented in Fig. 18. For the X module with offset studied in the paper, the value of $C$ is null for certain configurations. It will therefore not be possible to tune stiffness in these configurations. Hence, the respective results are not presented in table 2 and Fig. 18.

Fig. 18 shows that the X module requires the weakest forces. This is consistent with the fact that the springs are less stiff. Note, however, that this stiffness regulation is not bio-inspired since there is a general coactivation of forces. The best behavior to reduce actuation forces and stress in bars and cables is to select minimal forces, i.e. without coactivation. Coactivation should be used only when necessary, for example to prepare contact with the environment.

# 3 Module stacking

## 3.1 Manipulator features

We now want to study a manipulator built upon stacking several modules. Since this work takes inspiration from the bird neck, we first recall some of its features (see [26, 44] for example):

1. birds have an S-shaped neck at rest;

2. birds have between 9 and 26 vertebrae depending on the species;

3. birds have muscles of varying sizes, more or less powerful. In most species, a strong ventral muscle (i.e. located on the left side in Fig. 19, right) is connected to all the vertebrae;

4. we can distinguish 3 groups of vertebrae with different behaviors.

From feature 1, the springs should ensure that the manipulator is in a stable equilibrium configuration when no forces are applied. We observed from Fig. 14 that the forces necessary to maintain an equilibrium are weaker close to the equilibrium configuration at rest than far away from it. Accordingly, it is desirable that the rest configuration be as close as possible to the preferred configurations. Besides, the S-shape configuration makes it possible to remain away from the fully outstretched singular configuration. Finally, it also allows balancing the lever arm of the head weight between the different vertebrae.

A high number of vertebrae makes it possible to limit the range of motion of each vertebra when the bird moves its head [45]. For our manipulator, it means reducing the elongation of each spring and, therefore, the resistive force they produce.
<figure><img src="image_21.png" /><figcaption>Fig. 19. At rest, the bird neck has an S-shape, it is made up of 3 groups of vertebrae.</figcaption></figure>

Feature 3 of the bird neck suggests to apply a long cable along one of the sides of the manipulator. We note that biological systems use highly redundant muscle actuation. In practise, however, this redundancy is limited by the fact that all the muscles are not actuated simultaneously. For the roboticist, a central issue is to determine an appropriate number of cables to have a simple and efficient system, easy to control.

Regarding feature 4, we observe 3 main zones of vertebrae in the bird neck, as illustrated in Fig. 19. Vertebrae in each zone tend to rotate in the same direction: ventrally, i.e. on the left in Fig. 19 for the upper and lower zones and dorsally, i.e on the right in Fig. 19 for the middle zone [44].

## 3.2 Modeling a stack of modules

Let us now consider a manipulator made of *N* identical modules, numbered from bottom to top. Fig. 20 shows a sketch of the *i*-th module along with its neighbouring modules.

<figure><img src="image_22.png" /><figcaption>Fig. 20. Manipulator made of a stack of *N* modules numbered from bottom to top.</figcaption></figure>

The spring constant may vary depending on the module. Let the left (resp. right) spring constant of the *i*-th module be the *i*-th component of vector **k**₁ (resp. **k**₂). The bottom bar of the first module is fixed. Its midpoint position is (x₁ = 0, y₁ = 0) and its orientation is γ₁ in the reference frame. The position (resp. orientation) of the top bar is defined by its midpoint *P* with coordinates xN+1, yN+1 (resp. γN+1). Upon expressing these coordinates as functions of the module angles αᵢ, we obtain
the direct kinematic (DK) equations as follows:

$$x_{N+1} = - \sum_{k=1}^{N} \sin\left(\gamma_i + \frac{\alpha_i}{2}\right) \left( \sqrt{l^2 - b^2 \cos^2\left(\frac{\alpha_i}{2}\right)} + 2h\cos\left(\frac{\alpha_i}{2}\right) \right) \quad (33)$$

$$y_{N+1} = \sum_{k=1}^{N} \cos\left(\gamma_i + \frac{\alpha_i}{2}\right) \left( \sqrt{l^2 - b^2 \cos^2\left(\frac{\alpha_i}{2}\right)} + 2h\cos\left(\frac{\alpha_i}{2}\right) \right) \quad (34)$$

$$\gamma_{N+1} = \gamma_1 + \sum_{k=1}^{N} \alpha_i \quad (35)$$

We can write the preceding equations in vector form as follows:

$$\mathbf{x}_e = \mathbf{DK}(\alpha) \quad (36)$$

where $\mathbf{x}_e = [x_{N+1}, y_{N+1}, \gamma_{N+1}]^T$ and $\alpha = [\alpha_1 \dots \alpha_N]^T$.

### 3.3 Cable Actuation and Routing

The manipulator is operated with cables. Motors, located on the base of the manipulator, pull on these cables in order to modify its configuration. Each cable can be routed in different ways on each of the modules (Fig. 21):

- cable placed on the left (1) or right (2) of the module, along the spring: when pulling this cable, the associated motor will modify the module orientation so as to reduce the cable length on this side;

- cable run along the bars of module i (3, strut-routed): this routing allows reaching the modules located above module i while nullifying cable impact on this module;

- cable not passing through module i at all (0): the associated motor has no impact on this module but acts only on the lower modules.

Let $N_f$ denote the number of motors. Motors and associated cables are numbered with the index $j \in \{1, \dots, N_f\}$. The unwound length of cable j (resp. the force in cable j applied by the associated motor) is denoted by $l_j$ (resp. $F_j$). The vector of input forces is thus $\mathbf{F} = [F_1 \dots F_{N_f}]^T$.

<figure><img src="image_23.png" /><figcaption>Fig. 21. The four cable passages studied (cables shown in red). Cable passes to the left (1) or to the right (2) of a module and applies a moment on this module (left). Cable does not pass through the module (middle, 0) or crosses the module along the rigid body (right, 3). In these last two cases, the cable applies no moment on the module.</figcaption></figure>

We define an actuation matrix $\mathbf{A}$ of size $(N \times N_f)$ as follows: each column $j$ associated with cable $j$ describes how this cable passes along module $i$. Each entry $A(i, j)$ can take on four possible values: 1 if the cable passes on the left, 2 if the cable passes on the right, 3 or 0 if the cable $j$ does not act on module $i$ (3: strut-routed or 0: no passage), see figure 21. For
the example illustrated in figure 22, A is of size (3 × 4) because we have 3 modules and 4 cables. It takes on the following form:

$$A = \begin{bmatrix} 2 & 3 & 1 & 1 \\ 0 & 2 & 3 & 1 \\ 0 & 0 & 2 & 1 \end{bmatrix} \qquad (37)$$

<figure><img src="image_24.png" /><figcaption>Fig. 22. Actuation scheme of a manipulator with 3 modules. Colors available in the online version.</figcaption></figure>

The cable length j can be expressed as follows:

$$l_j = l_j^c + \sum_{i=1}^{N} l_j^{A(i,j)}(\alpha_i) \qquad (38)$$

where $l_j^c$ is a constant value. $l_j^{A(i,j)}$ with $A(i, j) \in \{0, \dots, 3\}$ depends on the cable routing (see section 2.1 and Eq. (6)):

$$\left\{ \begin{array}{l} l_j^0 = 0 \\ l_j^1 = \sqrt{L^2 - b^2 \cos^2(\frac{\alpha_i}{2})} + 2h \cos(\frac{\alpha_i}{2}) - 2r \sin(\frac{\alpha_i}{2}) \\ l_j^2 = \sqrt{L^2 - b^2 \cos^2(\frac{\alpha_i}{2})} + 2h \cos(\frac{\alpha_i}{2}) + 2r \sin(\frac{\alpha_i}{2}) \\ l_j^3 = 0 \end{array} \right. \qquad (39)$$

It is worth noting that the cable length along module i depends only on $\alpha_i$, no matter how the cable passes.

The cable routing strategy is important. It can be inspired by the muscle organization of the bird neck. Small muscles connect the vertebrae in pairs and are mainly used to hold the vertebrae together, a role held by the springs in the manipulator. A long muscle connects all the vertebrae on one side and a series of muscles connect series of vertebrae in the three zones on the other side. Keeping in mind that from a robotic point of view, it is desirable to have a low number of actuators to reduce costs and complexity, we propose the cabling routing shown in Fig. 22. We also note that animals generally activate a reduced number of muscles for a given action [43].

## 3.4 Balance and stability

The static model is calculated as in the case with a single module using equation (2). We obtain an equation similar to (3), written in vector form as follows:

$$G(\alpha) = Z(\alpha)F \qquad (40)$$

where $G(\alpha)$ is a vector of dimension $N$ that contains the effect of gravity and springs, $Z(\alpha)$ is a matrix of dimension $(N \times N_f)$ whose column j is: $-\frac{d l_j}{d \alpha}$ where $l_j$ is the length of the cable j associated with the force $F_j$. From (38), we have:
$$Z(i, j) = - \frac{d l_j^{A(i,j)}(\alpha_i)}{d\alpha_i} \qquad (41)$$

Upon differentiation of (39) as in the case of a single module, we obtain:

$$\left\{
\begin{array}{ll}
\text{If } A(i, j) = 0, & Z(i, j) = 0 \\
\text{If } A(i, j) = 1, Z(i, j) = -\frac{b^2 \cos(\frac{\alpha_i}{2}) \sin(\frac{\alpha_i}{2})}{2\sqrt{L^2 - b^2 \cos^2(\frac{\alpha_i}{2})}} + h \sin(\frac{\alpha_i}{2}) + r \cos(\frac{\alpha_i}{2}) > 0 \\
\text{If } A(i, j) = 2, Z(i, j) = -\frac{b^2 \cos(\frac{\alpha_i}{2}) \sin(\frac{\alpha_i}{2})}{2\sqrt{L^2 - b^2 \cos^2(\frac{\alpha_i}{2})}} + h \sin(\frac{\alpha_i}{2}) - r \cos(\frac{\alpha_i}{2}) < 0 \\
\text{If } A(i, j) = 3, & Z(i, j) = 0
\end{array}
\right.
\qquad (42)$$

Vector $G(\alpha)$ is calculated by $G_i(\alpha) = \frac{dU_g}{d\alpha_i} + \frac{dU_k}{d\alpha_i}$. The gravity term $\frac{dU_g}{d\alpha_i}$ depends on the joints $\alpha_i$ to $\alpha_N$ and on $\gamma_i$. The spring term $\frac{dU_k}{d\alpha_i}$ depends only on $\alpha_i$ because the springs are attached to only one module. Consequently, the coupling between the N joints only occurs through the effect of gravity in (40).

The joint stiffness matrix of the manipulator is obtained upon differentiating the static model with respect to $\alpha$. This matrix indicates the ability of the manipulator to stay in place when external disturbances are applied. We have:

$$\mathbf{K} = \frac{d\mathbf{G}(\alpha)}{d\alpha} - \frac{d\mathbf{Z}(\alpha)\mathbf{F}}{d\alpha} \qquad (43)$$

Since $Z(i, j)$ depends only on $\alpha_i$, $\frac{d\mathbf{Z}(\alpha)\mathbf{F}}{d\alpha}$ is a diagonal matrix whose entries are:

$$\frac{d\mathbf{Z}(\alpha)\mathbf{F}}{d\alpha}(i, i) = \sum_{j=1}^{N_f} \frac{d^2 l_j^{A(i,j)}(\alpha_i)}{d\alpha_i^2} F_j \qquad (44)$$

Besides, $\frac{dG(\alpha)}{d\alpha}$ collects gravity and spring contributions. Since the springs act only on a module, they act only on the diagonal terms of $K$. The non-diagonal terms, which thus contains only the mass contribution, are generally small. Indeed, the modules' mass is low since the bars are not subjected to bending and their section can thus be small. In conclusion, for a light-weight manipulator, $K$ is a diagonally dominant matrix and the joint stiffness of module $i$ may be defined by the $i^{th}$ diagonal term $K(i, i)$ as follows:

$$K(i, i) = \frac{d^2 U_g}{d\alpha_i^2} + \frac{d^2 U_k}{d\alpha_i^2} + \sum_{j=1}^{N_f} \frac{d^2 l_j^{A(i,j)}(\alpha_i)}{d\alpha_i^2} F_j \qquad (45)$$

## 3.5 Actuation with 2N cables

Consider a manipulator with N modules actuated with 2N cables: each cable actuates only one module and each module is antagonistically actuated on the right and on the left by two independent cables. It is then possible to calculate the 2N forces with N independent equations corresponding to each of the lines of the static model. The only existing coupling occurs via the gravity terms (module i carries all the modules above it). The analysis carried out for a module in section 2.1 can be reproduced identically, and lead to the same conclusions.

## 3.6 Actuation with N + 1 cables

Feature 3 of the bird neck cited in section 3 encourages us to particularly study manipulators with a long cable along one of its side. Without loss of generality, let us place this long cable on the left side. Since the cables cannot push, at least N + 1 cables are necessary to control the pose $\mathbf{x}_e$ of the last top bar. Each of the first N components $F_j, j = 1, ..., N$, acts on the right side of module j and $F_{N+1}$ is the force applied by the long cable on all the modules.
The static equations derived in section 3.4 can be used. Each module *i* is subjected to two forces $F_i$ and $F_{N+1}$ acting on its right and left side, respectively. The static model is obtained upon writing *N* times the following equation associated to module *i*:

$$G_i(\alpha) = Z(i, i)F_i + Z(i, N+1)F_{N+1} \quad (46)$$

where $G_i$ is the *i*th component of **G**, $Z(i, i) < 0$ and $Z(i, N+1) > 0$.

The minimal forces solutions to the above equation depend on the sign of $G_i(\alpha)$:

$$\left\{ \begin{array}{ll} \text{if } G_i(\alpha) = 0, F_i^* = 0 & F_{N+1}^{i*} = 0 \\ \text{if } G_i(\alpha) < 0, F_i^* = \frac{G_i}{Z(i,i)} & F_{N+1}^{i*} = 0 \\ \text{if } G_i(\alpha) > 0, F_i^* = 0 & F_{N+1}^{i*} = \frac{G_i}{Z(i,n+1)} \end{array} \right. \quad (47)$$

where * denotes the minimal solution of $F_i$ and *i* denotes the minimal solution of $F_{N+1}$ obtained from the equation associated with joint *i*. Note that $F_{N+1}$ must simultaneously satisfy the *N* equations corresponding to the *N* modules.

The minimal solutions obtained with $2N$ forces can be applied only when $G_i(\alpha) \le 0$ for all the modules *i*. This means that the desired equilibrium configurations can be obtained with a zero force along the long cable. Since the long cable is along the left side, this corresponds to any equilibrium configuration satisfying $\alpha_i < \alpha_i^r$, where $\alpha_i^r$ is the equilibrium angle of module *i* at rest.

If $G_i(\alpha) > 0$ for at least one module, the minimal force $F_{N+1}^*$ producing positive forces in all the cables is:

$$F_{N+1}^* = \max_i F_{N+1}^{i*} \quad (48)$$

The corresponding forces in the other cables are thus:

$$F_i = F_i^* - \frac{Z(i, N+1)}{Z(i, i)} (F_{N+1}^* - F_{N+1}^{i*}) \quad (49)$$

A reduced number of cables results in an increase in the forces necessary to maintain an equilibrium configuration and the larger $F_{N+1}^* - F_{N+1}^{i*}$, the larger this increase. This increase in force will result in an increase or decrease in stiffness depending on the type of mechanism (see section 2.2).

Let us now compare two actuation schemes with 2x3=6 cables and 3+1=4 cables, respectively, for a 3-module manipulator. The modules are defined by $b = 0.05$ m, $L = 0.1$ m, $r = 0.025$ m, $h = 0$ m. The mass of the head (made of ABS) is 35.2 g. All the bars are cylinders with a diameter of 0.01 m made from aluminium alloy. The resulting neck mass is 106 g. The spring constants are $k_1 = [800, 300, 300]^T$ N/m and $k_2 = [400, 100, 100]^T$ N/m for the left and right side, respectively. The base bar orientation is $\gamma_1 = -\pi/4$. The resulting equilibrium at rest is $\alpha = [0.3, 0.7, 0.68]^T$ rad. This configuration is shown in figure 23. We consider 3 more configurations, for which we want to compare the minimum forces required for a 6-cable actuation scheme with those required for a 4-cable actuation scheme (see Fig. 23). Table 3 collects the minimal forces for the four configurations studied and for the 2 actuation schemes, along with the corresponding joint stiffness. Since the manipulator is built with X modules, an increase in forces would make it possible to increase stiffness if desired.

This numerical study confirms the following facts:

- the equilibrium configurations at rest are obviously identical for the two actuation schemes since no forces are applied by definition;

- with a long left cable in the absence of gravity, one can reach any configuration such that $\alpha_i < \alpha_i^r$ without additional force cost: the force in the long cable is then zero. One can reach any configuration such that $\alpha_i > \alpha_i^r$ with a slight additional force cost: the stiffness of the joints then increases;

- configurations requiring high forces are those that combine module rotations in opposite direction $\alpha_i < \alpha_i^r$ and $\alpha_j > \alpha_j^r$. In configuration 3, we note that with a long left cable, the forces applied on module 2 increase on its two sides to satisfy the force applied on joint 1. The stiffness of joint 2 is then significantly increased;

- to define the routing strategy, it is better to collect all the modules that will move in the same direction with respect to their equilibrium orientation at rest.
<figure><img src="image_25.png" /><figcaption>Fig. 23. Equilibrium at rest of the manipulator studied (top left) and 3 other configurations. In configuration 1, $\alpha_i < \alpha_i^r$ for every module. In configuration 2, $\alpha_i > \alpha_i^r$ for every module. In configuration 3, $\alpha_1 > \alpha_1^r$, $\alpha_2 < \alpha_2^r$ and $\alpha_3 > \alpha_3^r$. The actuation is done with 4 cables drawn in different colors: a long cable on the left in red and 3 cables on the right in yellow, green and blue. Colors available in the online version.</figcaption></figure>

<table><caption>Table 3. Forces (in N) and module stiffness (in Nm/rad) for the 4 equilibrium configurations shown in figure 23 and for the 6-cable and 4-cable actuation schemes. For the 6-cable actuation scheme, each module is actuated by independent right and left cables and the force values are given in the corresponding column. For the 4-cable actuation case, there is only one unique left cable for all modules and each module is actuated by an independent right cable and the force values are expressed in the corresponding column.</caption><thead><tr><th rowspan="2">case</th><th rowspan="2">module</th><th rowspan="2">α</th><th colspan="3">6 cables</th><th colspan="3">4 cables</th></tr><tr><th>F (right)</th><th>F (left)</th><th>K(i,i)</th><th>F (right)</th><th>F (left)</th><th>K(i,i)</th></tr></thead><tbody><tr><td rowspan="3">Equilibrium at rest</td><td>1</td><td>0.3</td><td>0</td><td>0</td><td>0.98</td><td>0</td><td></td><td>0.98</td></tr><tr><td>2</td><td>0.7</td><td>0</td><td>0</td><td>0.33</td><td>0</td><td>0</td><td>0.33</td></tr><tr><td>3</td><td>0.68</td><td>0</td><td>0</td><td>0.38</td><td>0</td><td></td><td>0.38</td></tr><tr><td rowspan="3">config. 1</td><td>1</td><td>0.</td><td>4</td><td>0</td><td>0.91</td><td>4</td><td></td><td>0.91</td></tr><tr><td>2</td><td>0.1</td><td>1.46</td><td>0</td><td>0.29</td><td>1.46</td><td>0</td><td>0.29</td></tr><tr><td>3</td><td>0.23</td><td>2.81</td><td>0</td><td>0.34</td><td>2.81</td><td></td><td>0.34</td></tr><tr><td rowspan="3">config. 2</td><td>1</td><td>0.6</td><td>0</td><td>5.88</td><td>0.92</td><td>0</td><td></td><td>0.92</td></tr><tr><td>2</td><td>1.3</td><td>0</td><td>1.25</td><td>0.29</td><td>2.33</td><td>5.88</td><td>0.35</td></tr><tr><td>3</td><td>1.13</td><td>0</td><td>4.5</td><td>0.36</td><td>0.75</td><td></td><td>0.38</td></tr><tr><td rowspan="3">config. 3</td><td>1</td><td>0.6</td><td>0</td><td>13.51</td><td>0.98</td><td>0</td><td></td><td>0.98</td></tr><tr><td>2</td><td>0.1</td><td>7.31</td><td>0</td><td>0.33</td><td>20.06</td><td>13.51</td><td>0.52</td></tr><tr><td>3</td><td>1.13</td><td>0</td><td>6.38</td><td>0.38</td><td>3.88</td><td></td><td>0.46</td></tr></tbody></table>
## 4 Conclusion

Bio-inspiration is an interesting source to create new robots in the context of sustainable development. Frugal robotic solutions in terms of material and energy can be expected from nature inspiration. Such features are suitable for soft interactions, which are important for collaborative robots and consistent with the use of tensegrity. An important requirement in collaborative robots is the possibility to increase (resp., to decrease) stiffness upon increasing (resp. releasing) input forces in an antagonistic actuation scheme. This feature is known as coactivation in muscle actuation. It allows free movements with low tensions to limit both actuation force and injury risks during contacts with operators, while higher actuation force can be accepted when external efforts are required. The analysis of a generic module showed that the X module allows for coactivation, contrary to the R and 2R modules. This result has been verified by experiments for the X and R modules. The possibility and limitations of stiffness modulation were also discussed. The X module studied produces a motion corresponding to the rolling without sliding of two ellipses one on the other, which can correspond to the relative displacement of two bones for biological joints.

Then, the study of a stack of modules has shown that couplings are mainly due to gravity effects. However, these couplings are low because in our X modules, all the bars are subjected to compression only and their section can thus be small and so are their mass. The results obtained on a module can then be extended to a stack of modules if an actuation with two identical cables per module is used. The case of an actuation with a reduced number of active cables has then been studied. It was shown that an actuation with $N + 1$ cables with one independent cable per module and one antagonistic cable connecting all the modules, was a good solution to control the configuration of the module stack. The price to pay is an increase in the cable forces (and, accordingly, in the stiffness of all the modules) as compared to a $2N$-cable solution.

This work will be continued by taking into account modules with 2 rotations to better model a spine. The model presented in [46] could be an interesting starting point.

## 5 Acknowledgments

The authors would like to thank Stéphane Jollivet and Denis Creusot for their contribution to the experimental set-up.

## References

[1] H. Pontzer, D. A. Raichlen, and M. D. Sockol, "The metabolic cost of walking in humans, chimpanzees, and early hominins," *Journal of Human Evolution*, vol. 56, no. 1, pp. 43–54, 2009.

[2] S. Seok, A. Wang, M. Y. Chuah, D. J. Hyun, J. Lee, D. Otten, J. Lang, and S. Kim, "Design principles for energy-efficient legged locomotion and implementation on the mit cheetah robot," *IEEE/ASME Transactions on Mechatronics*, vol. 20, no. 3, p. 1117–1129, 2018.

[3] D. Trivedi, C. Rahn, W. Kier, and Y. Parker, "Soft robotics: Biological inspiration, state of the art, and future research," *Applied Bionics and Biomechanics*, pp. 99–117, 2008.

[4] M. Hannan and I. Walker, "Analysis and initial experiments for a novel elephant's trunk robot," in *Proceedings. 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat. No.00CH37113)*, vol. 1, pp. 330–337 vol.1, 2000.

[5] Q. Guan, J. Sun, Y. Liu, N. M. Wereley, and J. Leng, "Novel bending and helical extensile/contractile pneumatic artificial muscles inspired by elephant trunk," *Soft Robotics*, vol. 7, no. 5, pp. 597–614, 2020. PMID: 32130078.

[6] Y. Liu, Z. Ge, S. Yang, I. D. Walker, and Z. Ju, "Elephant's Trunk Robot: An Extremely Versatile Under-Actuated Continuum Robot Driven by a Single Motor," *Journal of Mechanisms and Robotics*, vol. 11, 07 2019. 051008.

[7] C. Laschi, M. Cianchetti, B. Mazzolai, L. Margheri, M. Follador, and P. Dario, "Soft robot arm inspired by the octopus," *Advanced Robotics*, vol. 26, no. 7, pp. 709–727, 2012.

[8] R. Buckingham, "Snake arm robots," *Industrial Robot*, vol. 29, no. 3, pp. 242–245, 2002.

[9] M. Porez, F. Boyer, and A. J. Ijspeert, "Improved lighthill fish swimming model for bio-inspired robots: Modeling, computational aspects and experimental comparisons," *The International Journal of Robotics Research*, vol. 33, no. 10, pp. 1322–1341, 2014.

[10] 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 neck," *Journal of Mechanisms and Robotics*, pp. 1–25, 2021.

[11] R. E. Skelton and M. C. De Oliveira, *Tensegrity systems*, vol. 1. Springer, 2009.

[12] M. Arsenault, *Développement et analyse de mécanismes de tenségrité*. PhD thesis, Université Laval, Québec, 2006.

[13] M. Arsenault and C. M. Gosselin, "Kinematic, static and dynamic analysis of a planar 2-dof tensegrity mechanism," *Mechanism and Machine Theory*, vol. 41, pp. 1072–1089, September 2006.

[14] C. D. Crane, J. Bayat, V. Vikas, and R. Roberts, "Kinematic analysis of a planar tensegrity mechanism with prestressed springs," in *Advances in Robot Kinematics: analysis and design* (L. J. and W. P., eds.), (Dordrecht, Germany), pp. 419–427, Springer, 2008.
[15] D. L. Bakker, D. Matsuura, Y. Takeda, and J. L. Herder, "Design of an environmentally interactive continuum manipulator," in *Proc. 14th World Congress in Mechanism and Machine Science, IFTOMM*, 2015.

[16] Y. Tsumaki, Y. Suzuki, N. Sasaki, E. Obara, and S. Kanazawa, "A 7-dof wire-driven lightweight arm with wide wrist motion range," in *2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, pp. 1-9, 2018.

[17] Y.-J. Kim, "Anthropomorphic low-inertia high-stiffness manipulator for high-speed safe interaction," *IEEE Transactions on Robotics*, vol. 33, no. 6, pp. 1358-1374, 2017.

[18] M. Furet and P. Wenger, "Kinetostatic analysis and actuation strategy of a planar tensegrity 2-X manipulator," *Journal of Mechanisms and Robotics*, vol. 11, no. 6, 2019.

[19] W. Zhao, A. Pashkevich, A. Klimchik, and D. Chablat, "Elastostatic Modeling of Multi-Link Flexible Manipulator Based on Two-Dimensional Dual-Triangle Tensegrity Mechanism," *Journal of Mechanisms and Robotics*, vol. 14, 09 2021. 021002.

[20] J. Begey, M. Vedrines, and P. Renaud, "Design of tensegrity-based manipulators: Comparison of two approaches to respect a remote center of motion constraint," *IEEE Robotics and Automation Letters*, vol. 5, no. 2, pp. 1788-1795, 2020.

[21] H. Alfalahi, F. Renda, and C. Stefanini, "Concentric tube robots for minimally invasive surgery: Current applications and future opportunities," *IEEE Transactions on Medical Robotics and Bionics*, vol. 2, no. 3, pp. 410-424, 2020.

[22] M. T. Chikhaoui, K. Rabenorosoa, and N. Andreff, "Kinematics and performance analysis of a novel concentric tube robotic structure with embedded soft micro-actuation," *Mechanism and Machine Theory*, vol. 104, pp. 234-254, 2016.

[23] T. T. Hoang, P. T. Phan, M. T. Thai, N. H. Lovell, and T. N. Do, "Bio-inspired conformable and helical soft fabric gripper with variable stiffness and touch sensing," *Advanced Materials Technologies*, vol. 5, no. 12, p. 2000724, 2020.

[24] Y. She, H.-J. Su, D. Meng, and C. Lai, "Design and Modeling of a Continuously Tunable Stiffness Arm for Safe Physical Human-Robot Interaction," *Journal of Mechanisms and Robotics*, vol. 12, 10 2019. 011006.

[25] A. Abourachid and P. Wenger, "Avineck, the neck of the bird, an arm for the robots," *Computer Methods in Biomechanics and Biomedical Engineering*, vol. 22, no. sup1, pp. S2-S3, 2019. PMID: 31791153.

[26] C. Bohmer, J. Prevoteau, O. Duriez, and A. Abourachid, "Gulper, ripper and scrapper: anatomy of the neck in three species of vultures," *Journal of anatomy*, vol. 236, no. 4, pp. 701-723, 2020.

[27] B. Fasquelle, M. Furet, P. Khanna, D. Chablat, C. Chevallereau, and P. Wenger, "A bio-inspired 3-dof light-weight manipulator with tensegrity X-joints," in *2020 IEEE International Conference on Robotics and Automation (ICRA)*, pp. 5054-5060, IEEE, 2020.

[28] A. Abourachid, B. Gagnier, M. Furet, R. Cornette, A. Delapre, R. Hackert, and P. Wenger, "Modeling intervertebral articulation: The rotule à doigt mechanical joint (rad) in birds and mammals," *Journal of Anatomy*, vol. 239, no. 6, pp. 1287-1299, 2021.

[29] A. Hamon and Y. Aoustin, "Cross four-bar linkage for the knees of a planar bipedal robot," in *0th IEEE-RAS International Conference on Humanoid Robots*, pp. 379-384, 2010.

[30] M. Furet, A. Abourachid, C. Bohmer, V. Chummunb, C. Chevallereau, R. Cornette, X. D. L. Bernardie, and P. Wenger, "Estimating motion between avian vertebrae by contact modeling of joint surfaces," *Computer Methods in Biomechanics and Biomedical Engineering*, 2021.

[31] M. Latash, "Muscle coactivation: definitions, mechanisms, and functions," *Journal of neurophysiology*, vol. 120, 2018.

[32] B. Vanderborght, A. Albu-Schaeffer, A. Bicchi, E. Burdet, D. Caldwell, R. Carloni, M. Catalano, O. Eiberger, W. Friedl, G. Ganesh, M. Garabini, M. Grebenstein, G. Grioli, S. Haddadin, H. Hoppner, A. Jafari, M. Laffranchi, D. Lefeber, F. Petit, S. Stramigioli, N. Tsagarakis, M. Van Damme, R. Van Ham, L. Visser, and S. Wolf, "Variable impedance actuators: A review," *Robotics and Autonomous Systems*, vol. 61, no. 12, pp. 1601-1614, 2013.

[33] A. Jafari, N. G. Tsagarakis, and D. G. Caldwell, "Awas-ii: A new actuator with adjustable stiffness based on the novel principle of adaptable pivot point and variable lever ratio," in *2011 IEEE International Conference on Robotics and Automation*, pp. 4638-4643, 2011.

[34] L. Esteveny, L. Barbé, and B. Bayle, "A novel actuation technology for safe physical human-robot interactions," in *2014 IEEE International Conference on Robotics and Automation (ICRA)*, pp. 5032-5037, 2014.

[35] J. Medina, P. Lozano, A. ó, and C. Balaguer, "Design and characterization of a novel mechanism of multiple joint stiffness(mmjs)," in *2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, pp. 2444-2451, 2016.

[36] R. V. Ham, T. G. Sugar, B. Vanderborght, K. W. Hollander, and D. Lefeber, "Compliant actuator designs," *IEEE Robotics Automation Magazine*, vol. 16, no. 3, pp. 81-94, 2009.

[37] X. Zhou, S.-k. Jun, and V. Krovi, "A Cable Based Active Variable Stiffness Module With Decoupled Tension," *Journal of Mechanisms and Robotics*, vol. 7, 02 2015. 011005.

[38] A. A. B. Robert E. Kambic and S. E. Pierce, "Experimental determination of three-dimensional cervical mobility in the avian neck," *Frontier in Zoology* (2017), 2017.

[39] T. S. Todorov, "Synthesis of four-bar mechanisms by freudenstein-chebyshev," *Mechanism and Machine Theory*, vol. 37, no. 12, pp. 1505-1512, 2002.
[40] P. Guardiani, D. Ludovico, A. Pistone, H. Abidi, I. Zaplana, J. Lee, D. G. Caldwell, and C. Canali, "Design and Analysis of a Fully Actuated Cable-Driven Joint for Hyper-Redundant Robots With Optimal Cable Routing," *Journal of Mechanisms and Robotics*, vol. 14, 09 2021. 021006.

[41] V. Muralidharan and P. Wenger, "Optimal design and comparative study of two antagonistically actuated tensegrity joints," *Mechanism and Machine Theory*, vol. 159, p. 104249, 2021.

[42] R. Baratta, B. Z. M. Solomonow, D. Letson, R. Chuinard, and R. D'Ambrosia, "Muscular coactivation, the role of the antagonist musculature in maintaining knee stability," *The American Journal of Sports Medicine*, vol. 16, no. 2, 1988.

[43] S. Gatesy, "Guineafowl hind limb function. il : Electromyographic analysis and motor pattern evolution," *Journal of morphology*, vol. 240, 1999.

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

[45] M. Krings, J. A. Nyakatura, M. L. Boumans, M. S. Fischer, and H. Wagner, "Barn owls maximize head rotations by a combination of yawing and rolling in functionally diverse regions of the neck," *Journal of anatomy*, vol. 231, pp. 12–22, 2017.

[46] Y.-J. Kim, J.-I. Kim, and W. Jang, " Quaternion joint: Dexterous 3-dof joint representing quaternion motion for high-speed safe interaction," in *2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*, pp. 935–942, 2018.