**1. Introduction**

Mobile robots are often limited in their tasks by an environment designed to be inhabited by humans. A wheeled robot, for example, cannot climb stairs, while an animallike robot, such as hexapods or quadrupeds, is often stopped by a closed door. Conversely, humanoid robots can interact with human-sized items and navigating in human-sized environments. Furthermore, people tend to react better to humanoid robots than to other architectures [1].

Most humanoid robots are developed to optimise their limb mobility with a "black box" approach, in which the locomotion system is developed independently from the manipulation system and then integrated only through control software. Thus, complex leg and arm designs can be found in the literature [2], whereas the robot torso usually consists of a single body with no mobility. This kind of architecture can be observed in the most successful humanoid robots, including Honda's ASIMO [3], University of Waseda's WABIAN family [4], and Softbank's NAO [5] and Pepper [6].

However, the human torso plays a key role in both locomotion and manipulation tasks, by supporting dynamic balance and increasing reach and dexterity [7–9]. Thus, recent

humanoid robot designs have started introducing torso motion control [10] or one or more degrees of mobility in the torso to enhance performance. These designs range from simple serial mechanisms [11–13] to parallel architectures [14–16], which have demonstrated how much torso mobility can improve robot performance.

Among these robots, the LARMbot humanoid [17–20] is equipped with a cable-driven compliant torso mechanism with a complex behaviour inspired by the human spine: a central compliant element represents the backbone; actuated cables act as muscle tendons to define the shape of the central element, and rigid disk-like vertebrae route the cables in parallel to the backbone [15].

In previous studies, the behaviour of this mechanism has been numerically determined by linearly interpolating motion calibration data experimentally [16]. However, while a satisfying performance can be obtained with this procedure, the result is limited to a specific design and geometry and high precision can be ensured only in a limited motion range. Conversely, a model-based control would ensure correct behaviour of the mechanism over its whole range of motion and for any given geometry.

While an analytical kinematic model would significantly improve torso performance, modelling the complex cable-driven compliant mechanism poses several challenges. While hybrid mechanisms with a rigid joint in parallel to two or more actuation cables have been kinematically modelled in the past [21,22], previous results can only be partially applied to the proposed mechanism due to the increased mobility and compliance of the compliant backbone, which is capable of three main motion modes: bending, compression, and axial torsion.

A solution to this can be found in continuum and snake-like robot literature. These systems are characterised by a compliant backbone with bending capabilities [23,24] that are described through constant [25] or variable [26,27] curvature kinematics. These models use two variables to define the bending mode, namely bending angle and direction of the bending plane, and they are also capable of describing backbone elongation [28].

In this paper, an extension of the constant curvature kinematic model which includes torsion and elongation is proposed as a novel solution to define a kinematic model that accurately describes the complex behaviour of the LARMbot's torso mechanism. First, the mechanical design of the torso is introduced with its main constructive details. Then, the behaviour of the different components of the system—tendons, compliant backbone, and rigid disks—is kinematically modelled to obtain a closed-form solution for an efficient control system. Finally, the model is validated with numerical results.

#### **2. Materials and Methods**

In this section, the architecture of the LARMbot's torso mechanism is briefly introduced with its main constructive elements and its functioning. Then, the mechanism's behaviour is modelled with a constant curvature model to describe its bending compliance, expanded to include both backbone torsion and compression due to cable tension. The proposed model achieves a closed-form analytical formulation for the robot kinematics, for accurately and efficiently controlling the system as well as enabling a complete characterization of its behaviour.

#### *2.1. Mechanical Design of LARMbot's Torso Mechanism*

The LARMbot humanoid robot was developed between 2012 and 2018 [15–20] at the LARM laboratory of the University of Cassino. It was designed as a low-cost user-friendly humanoid robot for service tasks, and it features parallel mechanisms both in its legs [29] and torso [30] to achieve a high kinematic and dynamic performance.

As shown in Figure 1, this humanoid robot is characterised by 22 active degrees of freedom (DoFs), a height of 850 mm, and an overall mass of 3.600 kg only, thanks to its lightweight 3D-printed frame [17]. Its torso mechanism, CAUTO (CAssino hUmanoid TOrso), is bioinspired, reproducing Functional Spine Units (FSU). The torso is at the core of the LARMbot performance, as it contributes to both walking balance, general navigation, and manipulation tasks thanks to the additional three active DoFs that it provides to the system. The main geometrical parameters of this mechanism are reported in Table 1, while the main components are illustrated on a 3D-printed prototype in Figure 2.

**Figure 1.** The LARMbot humanoid robot [17,18]: (**a**) Architecture and mobility; (**b**) A prototype.



1 Bending angle, direction of bending, axial torsion, axial elongation. 2 The tendon-driven architecture means that four motors can actively control three degrees of freedom.

**Figure 2.** A prototype of the LARMbot's torso mechanism with its main components [15,16].

The main structural element of the torso is the compliant backbone, made of commercial flexible shaft couplers that are characterised by a compliant response to bending and a stiffer response to axial torsion, compression, and elongation. As these components connect the rigid vertebrae of the spine, they determine the mobility of the system. The intrinsic stiffness of the backbone also dampens the effect of unexpected wrenches on the system and restores a straight torso position in case of structural failure of the tendons. The configuration of the couplers is actuated by four tendons that determine the pose of the upper torso with respect to the lower torso.

#### *2.2. Kinematic Modelling of a Compliant Tendon-Driven Torso Mechanism*

When compared to other similar tendon-driven mechanisms with four cables driving a joint, such as the rehabilitation device in [22], the LARMbot's torso mechanism poses additional challenges due to the compliance of the backbone. First, the backbone is not an idle joint, and, because of its stiffness, it exerts a wrench on the upper platform in any non-straight configuration. This wrench results in a higher actuation force required to move the torso mechanism but improves the dynamic behaviour of the mechanism by restoring a stable position when force closure is not achieved [22]. Furthermore, the torso mechanism, which is illustrated in the kinematic scheme in Figure 3, is also characterised by a degree of underactuation.

**Figure 3.** A kinematic scheme of the LARMbot's torso mechanism: (**a**) Main geometrical and motion parameters of the compliant backbone; (**b**) Cross-section view of a vertebra with actuation tendon routing geometry; (**c**) Side representation of the entire system in a straight configuration with tendons routing points on the lower and upper torso.

The backbone has four DoFs, which can be characterised by the following parameters with reference to the kinematic schemes in Figure 3:


However, only three of these DoFs can be actively controlled by the four actuators, as the tendons (routed as per Figure 3b,c) can only pull, but not push [22]. Thus, the configuration of the mechanism cannot be determined with motor position only, as its torsional mobility is underactuated and depends on the passive spring-like elements in the

system, that is, the torso's backbone. Thus, kinematics must be integrated with a stiffness model of the backbone for complete characterization.

As previously mentioned, a piecewise constant curvature kinematic (PCCK) model is used to describe the main bending of the backbone. PCCK models have been conceived as a convenient tool to analyse and control continuum robots, as explained in [25], even though they are recently being replaced by more complex models with variable curvature [26,27] to accurately describe the hyper-redundant architecture of those systems, with complex motion coupling between independently bending sections. However, as the proposed torso mechanism can be represented by a single bending section, a constant curvature model can appropriately model the compliant backbone with limited approximation errors. To describe the pose of the lower and upper torso, the reference frames {*S0*} and {*S*} can be defined at the base and at the end of the backbone, respectively. By assuming constant curvature along the backbone, the translation along its central curve *t* ∈ R<sup>3</sup> can be expressed by an arc of a circle as:

$$\mathbf{t}(\theta,\varphi,\Delta\ell) = \frac{\ell + \Delta\ell}{\theta} \left[ \begin{array}{c} \cos\varphi(1-\cos\theta) \\ \sin\varphi(1-\cos\theta) \\ \sin\theta \end{array} \right],\tag{1}$$

while the rotation from {*S*0} to {*S*} can be written as a rotation matrix *R* ∈ *SO*(3) that is:

$$\mathcal{R}(\theta,\varphi,\Delta\varphi) = \mathcal{R}\_z(\varphi) \cdot \mathcal{R}\_y(\theta) \Delta \mathcal{R}\_z(\Delta\varphi - \varphi),\tag{2}$$

where *<sup>R</sup>z*(*ϕ*) represents a rotation of *ϕ* around the *z*-axis, *<sup>R</sup>y*(*θ*) represents a rotation of *θ* around the *y*-axis, and *<sup>R</sup>z*(<sup>Δ</sup>*ϕ* − *ϕ*) represents a rotation of Δ*ϕ* − *ϕ* around the *z*-axis.These equations expand the conventional PCCK that is described in [25] to include both the elongation/compression and the axial torsion that are characteristic of the mechanism under examination. The forward kinematics of the torso mechanism can be thus defined with the homogeneous transformation *T* ∈ *SE*(3) from {*S*0} to {*S*} as:

$$T(\theta,\varphi,\Delta\ell,\Delta\varphi) = \begin{bmatrix} \mathcal{R}(\theta,\varphi,\Delta\varphi) & \mathfrak{t}(\theta,\varphi,\Delta\ell) \\ \mathbf{0} & \mathbf{1} \end{bmatrix} . \tag{3}$$

Equation (3) represents only the first part of the kinematics of the structure, as it relates the pose of the upper torso (with respect to the lower torso) only to its configuration, not to the length of the actuating tendons. To compute tendon length *l* = (*l*1; *l*2; *l*3; *l*4) *T*, the four tendons can be modelled as circle arcs that bend in parallel to the backbone, with the same bending angle and direction. Thus, their lengths can be evaluated as:

$$l\_i = \ell + \Delta\ell + \theta r \cos\left(\varphi + \Delta\varphi + \frac{(i-1)\pi}{2}\right); i = \{1, 2, 3, 4\}. \tag{4}$$

By using Equations (3) and (4), the relationship between actuation vector *l* and upper platform pose *T* can be obtained, defining the kinematic input-output function of the robotic system. However, as previously mentioned, the stiffness of the backbone must be considered for full characterization. In order to do so, a linear elastic behaviour of the backbone is assumed, with a torsional stiffness *kt*, a compression module of *kc*, and a bending stiffness *kb* that can be evaluated from the material properties and are related to motion parameters as:

$$M\_z = k\_t \Delta \rho; \; F\_z = k\_c \Delta \ell; \; M\_\theta = k\_b \theta\_\prime \tag{5}$$

where *Mz* is the moment around the *z*-axis of the backbone, representing axial torsion; *Fz* is the force along the *z*-axis of the backbone, representing compression; and *Mθ* = *My* sin *ϕ* − *Mx* cos *ϕ* is the bending moment acting on the backbone, which can be written as a combination of the moments around the *x*- and *y*-axes of the backbone, *Mx* and *My*. Given the tensions in the tendons *F*1, *F*2, *F*3, and *F*4, these values can be computed as:

$$\begin{aligned} M\_X &= (F\_2 - F\_4)r; \\ M\_y &= (F\_3 - F\_1)r; \\ M\_\theta &= M\_y \sin \varphi - M\_x \cos \varphi; \\ F\_z &= \sum\_{i=1}^4 F\_i. \end{aligned} \tag{6}$$

Thus, as expressed in Equation (6) and with reference to Figure 4, the four actuation cables can actively control the two DoFs related to bending, whereas the compression/elongation and torsion of the backbone are coupled and cannot be actuated independently.

**Figure 4.** A free-body diagram of the upper torso without any external wrench. The reactions of the backbone are represented by *Mz*, *Fz*, and *Mθ* , whereas *F*1, *F*2, *F*3, and *F*4 are the tensions in the actuation tendons.

If a general external wrench *Px*; *Py*; *Pz*; *Wx*; *Wy*; *Wz<sup>T</sup>* is applied to the upper torso, the elongation and torsion of the backbone can be estimated from:

$$\begin{aligned} M\_x &= (F\_2 - F\_4)r + \frac{\ell + \Delta\ell}{\theta} \left( P\_z \sin\varphi (1 - \cos\theta) - P\_y \sin\theta \right) + \mathcal{W}\_x; \\ M\_y &= (F\_3 - F\_1)r + \frac{\ell + \Delta\ell}{\theta} (P\_x \sin\theta - P\_z \cos\varphi (1 - \cos\theta)) + \mathcal{W}\_y; \\ F\_z &= P\_z + \sum\_{i=1}^4 F\_{i\prime} \end{aligned} \tag{7}$$

and decoupled through a pose measurement with an onboard motion sensor (for example, with the Inertial Measurement Unit (IMU) installed on the LARMbot's upper torso).

In summary, the model in this section can be used to accurately move the CAUTO torso by integrating the feedback from the motors' sensors and the IMUs on the upper torso and the head of the humanoid robot to enable closed-loop control.

## **3. Results**

The kinematic model defined in the previous section is here used to evaluate the workspace of the torso mechanism and its characteristics. Furthermore, a simple mapping of the kinematic variables to an input joystick device is discussed for smooth motion planning with experimental validation of a prototype moving in the torso's workspace that is evaluated with the proposed model.

#### *3.1. Workspace of the Proposed Torso Mechanism*

Whereas the original motion planning was based on a regression between calibration points, the new analytical kinematic model enables a full characterization of the reachable workspace of the robot by defining all the reachable points of the mechanism. By using the forward kinematics in Equation (3), the reachable workspace of the mechanism was evaluated, given the size and motion parameters of the torso prototype in Figure 2, which are reported in Table 2. Once defined the motion limits on angle and direction of bending, as per Table 2, and by assuming a negligible compression of the backbone, the minimum and maximum tendon lengths were computed through Equation (4). The reachable workspace was defined as the geometrical locus of all the points that can be reached by the upper endpoint of the backbone's centreline, and it was computed in MATLAB R2021a as plotted in Figure 5. As expected, for a negligible compression, the operational workspace shape resembles a convex surface.

**Table 2.** Size and motion parameters of the torso mechanism prototype in Figure 2.


**Figure 5.** Workspace of the LARMbot's torso mechanism evaluated through the proposed PCCK model with elongation and torsion.

#### *3.2. Experimental Validation*

To validate the proposed kinematic model, the workspace result was compared to the reachable workspace of the prototype as per Figure 6, which was evaluated in the configuration space of the robot by measuring the orientation of the upper torso. The experimental setup is illustrated in Figure 7 with its main components, which include the torso prototype with an embedded IMU on the upper torso on the last Functional Spinal Unit (FSU) to extract the orientation data, an Arduino microcontroller with the kinematic model, a power supply, and a joystick (spring-loaded to the centre) to teleoperate the system. All the motors are embedded in the waist of the robot not to hinder spine motion. While a wired control was used in this experimental validation, wireless communication can enable autonomous navigation with the humanoid robot. The motion of the torso was mapped to the joystick motion according to the proposed kinematic model, with the direction of the joystick controlling the direction of bending *ϕ* and the position of the

joystick linearly mapped to the bending angle *θ*. The extreme positions of this mapping are illustrated in Figure 6 with the corresponding upper torso pose.

**Figure 6.** Motion control of the LARMbot's torso mechanism through a joystick, with motion mapping to angle of direction and bending angle. F: forward; FL: forward-left; L: left; BL: backwardleft; B: backward; BR: backward-right; R: right; FR: forward-right.

**Figure 7.** Experimental setup for the validation of the proposed kinematic model, including the torso mechanism, an Arduino microcontroller, a joystick for teleoperation, and a power supply.

In the reported experiment, the robot was driven from a central position (straight backbone) to a point on the outer border of its workspace and then was moved around the entire border once before going back to the central position (see Figure 6). This motion was repeated four times, and the motion data of the upper torso were reported in Figures 8 and 9 as acquired by the IMU. Figure 8 illustrates the acquired motion as bending around the *x*- and *y*-axes of the torso mechanism, whereas Figure 9 reports the overall bending angle and axial torsion of the torso. The proposed torso mechanism can reach and move around the limits on its workspace, as illustrated in Figure 10, which shows the acquired IMU data points during a manually operated motion around the reachable workspace that was computed with the new analytical model. The experiments also show a negligible backbone elongation and torsion in absence of any external wrench, as motion is here obtained by tendon action only. The proposed model achieves a smooth motion, with acceleration values always below 36 rad/s2, as reported in Figure 11. The power consumption is also fairly low, with a maximum value below 15 W, as reported in Figure 12. The experimental results are summarised in Table 3.

**Figure 8.** Raw orientation data acquired by the IMU on the upper torso expressed as bending around the *x*- and *y*-axes of the upper torso of the robot in Figure 6.

**Figure 9.** Orientation data acquired by the IMU on the upper torso and mapped as torso bending angle *θ* and axial torsion Δ*ϕ*.

**Figure 10.** Top view of the acquired teleoperated torso motion and comparison with the computed workspace in Figure 5.

**Figure 11.** Acceleration data acquired by the IMU on the upper torso mapped as angular acceleration around the instantaneous bending axis *αθ* and around the backbone axis *αz*.

**Figure 12.** Power consumption acquired with a current sensor during the torso motion reported in Figures 8 and 9.

#### **Table 3.** Experimental results.

