1 Introduction

Soft continuum manipulators have been attracting increasing attention in the research community because, unlike conventional rigid mechanisms, they can interact safely with uncertain and delicate objects [34]. This property is a consequence of the structural compliance of soft actuators and makes them ideally suited for several applications, including surgery and rehabilitation [33]. Differently from conventional rigid mechanisms where actuation is concentrated at the joints, soft actuators distribute their force in a continuous fashion over their structure. An iconic example of soft actuator is the pneumatic artificial muscle (PAM), which provides actuator compliance that resembles that of physiological systems [21]. Pneumatic actuation has been one of the preferred strategies for soft continuum manipulators due to its high power density [41], ease of miniaturization, and affordability, which is highly desirable in low-income countries. The flexible micro actuator (FMA) has been one of the first designs to achieve bending on any plane due to pressurization of its internal chambers [37] so that a manipulator can be constructed with a single FMA, thus it has inspired various subsequent versions [17]. Other actuation strategies include dielectric elastomers [26, 45], cables [32], and shape-memory alloy [23, 42]. In general, not all degrees of freedom (DOFs) in soft continuum manipulators are actuated. This attribute, together with the presence of unknown external forces, which are common in real-world applications, makes the control of soft continuum actuators and manipulators a challenging task [39].

Early attempts to control soft continuum manipulators have been relying solely on kinematic models, which is appropriate in quasi-static conditions. If external forces are negligible, the kinematic model can be further simplified by introducing the assumption of constant curvature (CC) or piece-wise constant curvature (PCC) so that the configuration of the manipulator can be uniquely defined by a reduced number of DOFs. Alternative quasi-static approaches that do not rely on CC or PCC assumptions include fast finite element methods [27], screw theory [43], and Cosserat rod theory [3]. Conversely, a dynamical model of the system is necessary for control purposes in case of fast movements [40], and model reduction techniques are required to render the control problem tractable. However, the simplifications introduced by model reduction methods should be accounted for in the controller design and in the corresponding stability analysis. Notable approaches rely on the CC and PCC assumptions [10], on extensions of beam theory [35], or employ rigid-link models [18]. An accurate continuum-based multibody modeling method for motion and shape control of soft robots was recently presented in [36], however closed-loop control was not demonstrated experimentally. Implementations of classical model-based controllers for soft continuum manipulators include model predictive control (MPC), sliding mode control (SMC) [2, 4], and feedback linearization [40]. However, classical high-gain controllers such as SMC have been shown to increase the closed-loop stiffness of the system potentially reducing the benefits of employing soft actuators. This observation has motivated research on controllers that combine feedback and feedforward actions [8]. Nevertheless, the former approaches do not consider the effect of unknown external forces or of pressure dynamics and treat the system as fully actuated. Nonlinear controllers and adaptive observers have recently been investigated to compensate the effects of disturbances and model uncertainties in soft actuators, including PAMs [6, 46, 47], and in manipulators actuated by shape-memory alloy [24]. In our earlier work, we have introduced an energy-based approach for the control of soft continuum planar manipulators by employing a port-Hamiltonian formulation and by including either an adaptive algorithm [12] or an integral action [13] to compensate the effect of disturbances. These results were extended to soft continuum manipulators in 3D space [14], however they did not account for the pressure dynamics in the system, since digital pressure regulators were employed for the actuation. Digital pressure regulators are ideally suited to control soft actuators [12, 46, 47] since they automatically adjust the air outflow in order to maintain the output pressure at the prescribed value. If the dynamics of the digital pressure regulator is sufficiently fast compared to that of the soft manipulator, it is then reasonable to neglect the pressure dynamics thus greatly simplifying the controller design. Nevertheless, relying on digital pressure regulators makes the control algorithm less general and increases the cost of soft robotic systems thus potentially limiting the access to these technologies in low-income countries.

In this work, we investigate the energy-based control of soft continuum pneumatic manipulators that can bend on any plane due to internal pressurization. A rigid-link model and a port-Hamiltonian formulation are employed to describe the closed loop system dynamics, including the pressure dynamics under some realistic simplifying assumptions. The port-Hamiltonian formulation is ideally suited to model underactuated mechanical systems including soft robots [31]. Control laws are constructed for the proposed dynamical model by employing the Interconnection and damping assignment Passivity based control methodology (IDA-PBC) [28]. IDA-PBC is widely applicable to nonlinear mechanical systems and offers an interpretation of the control action in terms of mechanical energy. In addition, adaptive observers constructed with the Immersion and Invariance (I&I) methodology [1] are included in the control laws to compensate the effect of disturbances and model uncertainties. We have chosen I&I observers since they can be integrated with IDA-PBC control laws for underactuated mechanical systems [16]. The resulting control strategy differs from other approaches, including our earlier works [12,13,14] in that it accounts for the pressure dynamics and it does not require digital pressure regulators. Hence, the proposed controllers are more general and more widely applicable. In summary, the main contributions of this work include the following points.

  1. 1.

    A controller design procedure that employs the IDA-PBC methodology in a multi-step fashion to account for the pressure dynamics under some realistic simplifying assumptions. To the best of our knowledge, this is the first attempt to design an energy-based controller for soft continuum manipulators that explicitly accounts for the pressure dynamics of the pneumatic actuation.

  2. 2.

    New nonlinear control laws that include adaptive observers to compensate the effect of unknown disturbances and model uncertainties. A control law is initially constructed for a model representative of planar soft continuum manipulators, and it is subsequently extended to soft continuum manipulators in 3D.

  3. 3.

    Stability conditions and their relationship with the controller parameters using a Lyapunov approach. An interpretation of the control action in terms of mechanical energy of the closed-loop system is also provided.

  4. 4.

    The performance of the proposed controllers is assessed with simulations and with experiments on a prototype, and it is compared with two alternatives: (i) an energy-based control law constructed using a backstepping procedure; (ii) a PID algorithm. To this end, a low-cost solution consisting of a needle valve operated by a servo DC motor and a pressure sensor has been employed instead of a digital pressure regulator.

The rest of this paper is organized as follows: the dynamical model of the system is introduced in Sect. 2; the controller design for planar soft continuum pneumatic manipulators is outlined in Sect. 3; the controller design for soft continuum pneumatic manipulators in 3D is detailed in Sect. 4; the results of simulations and experiments are presented in Sect. 5; concluding remarks are discussed in Sect. 6.

2 Dynamical model of soft continuum pneumatic manipulators

The class of systems considered in this work includes the FMA [37] and the soft continuum pneumatic manipulator described in [17]. Both designs have three internal chambers spaced at \(120{^\circ }\), and the latter design has an inextensible thread along the central axis to prevent elongation, and a second thread wound around its external cylindrical surface to prevent radial expansion. The control input corresponds to the air flow into the chambers. In the experiments, the internal chambers are supplied with a variable flow restrictor consisting of a needle valve operated by a servo motor, while a fixed flow restrictor serves as exhaust valve (see Fig. 1). As the servo motor progressively opens the needle valve, the flow rate to the internal chamber increases resulting in a pressure increment. Conversely, when the servo motor closes the needle valve, the chamber is vented through the exhaust valve and the internal pressure drops. The pressures \(P_{1},\ P_{2},\ P_{3}\) in the internal chambers cause the manipulator to bend on a plane according to Suzumori et al. [37, 38], such that at equilibrium and without external forces we have

$$\begin{aligned}&\theta = \frac{1}{k}\sqrt{P_{3}^{2} + P_{1}^{2} + P_{2}^{2} - P_{1}P_{2} - P_{1}P_{3} - P_{2}P_{3}}, \nonumber \\&\tan (\varphi ) = \frac{\sqrt{3}\left( P_{1} - P_{2} \right) }{P_{1} + P_{2} - 2P_{3}}, \end{aligned}$$
(1)

where \(\theta \) is the tip rotation on the bending plane, \(\varphi \) is the orientation of the bending plane with respect to a fixed reference frame, and \(k\) is the structural stiffness of the manipulator. Since for the design [17] pressurization does not cause twist, this effect is not considered here. The dynamics of the soft continuum manipulator can be approximated with a rigid-link model that has \(n\) virtual elastic pin joints on the bending plane and \(n\) virtual elastic pin joints in the direction orthogonal to the bending plane. The orientation of the bending plane corresponds to joint \(2n + 1\) [14] (see Fig. 1a). This approach is similar to Godage et al. [18] and it is based on the pseudo-rigid-body model [44] which allows approximating the force/deflection relationship of a flexible mechanism by introducing virtual elastic joints. Indicating with \(q_{i}\) the angle of joint \(i\) with respect to the previous link yields \(\theta = \sum _{i = 1}^{n}q_{i}\) on the bending plane, \(\gamma = \sum _{i = n + 1}^{2n + 1}q_{i}\) in the direction orthogonal to the bending plane, while \(\varphi = q_{2n + 1}\) and \(\omega = \sum _{i = n + 1}^{2n}q_{i}\) is the rotation outside the bending plane. The rigid-link model has \((2n + 1)\) DOFs and one control input for each pressurized chamber, thus it is underactuated. The dynamics of the rigid-link model can be expressed in port-Hamiltonian form as a function of its mechanical energy \(H_{0} = \frac{1}{2}{{\dot{q}}}^{T}M{\dot{q}} + \Omega \), where \(M(q) = M^{T}(q) > 0\) is the inertia matrix [28]. The potential elastic energy \(\Omega (q) = \frac{k}{2}\sum _{i = 1}^{2n}q_{i}^{2}\) does not depend on \(q_{2n + 1}\) or on \(k\) since \(\varphi \) is only defined by the chamber geometry and by \(P_{1},\ P_{2},\ P_{3}\) in (1). The following simplifying assumption is introduced to account for the pressure dynamics.

Assumption 1

The pressure \(P\) in each internal chamber is uniform, the gas is ideal, the conditions can be approximated as isothermal, and all orifices experience choked flow. In addition, the energy associated to the gas flow and to heat transfers is assumed to be negligible compared to the mechanical work of the gas.

Assuming uniform pressure is a reasonable approximation for small manipulators such as FMAs, and isothermal conditions represent a good approximation for pneumatic actuators [19] and PAMs [7]. Choked flow occurs if the upstream pressure \(P_{0}\) is sufficiently large (i.e. \(P < cP_{0}\) and \(P_{\text {atm}} < c P\), with critical pressure ratio for air \(\ c = 0.528\), and atmospheric pressure \(P_{\text {atm}}\)) [30], which is realistic for this system (see Sect. 5).

The mechanical work of an ideal gas in isothermal conditions is \(\Phi = - \int _{V_{0}}^{V}PdV = PV\log \left( V_{0}/V \right) \), where \(V\) is the final volume of the gas, \(V_{0}\) is the initial volume, \(P\) is the absolute pressure (i.e. \(\Phi > 0\) for compression). For inextensible soft manipulators, the chamber’s volume can be approximated as \(V = V_{0} + Ar\sum _{i = 1}^{n}\left| q_{i} \right| \), where \(A\) is the cross-section area of the internal chamber and \(r\) is the distance from the centroid of the chamber to the centre of the section, and it can be expressed as \(V = V_{0} + Ar\theta \) if \(q_{i}q_{j} > 0\ \forall i,j\). If one chamber is pressurized such that \(P=P_{\text {1}}\) while \(P_2=P_3=P_{\text {atm}}\), the mechanical work of the ideal gas relative to \(P_{\text {atm}}\) can be approximated according to Assumption 1 as [7, 19]

$$\begin{aligned} \Phi = (P - P_{\text {atm}})(V_{0} + Ar\theta )\log \left( V_{0}/(V_{0} + Ar\theta ) \right) .\ \end{aligned}$$
(2)

Note here that the pneumatic circuit in Fig. 1c can only generate pressures above \(P_{\text {atm}}\). Computing the time derivative of the ideal gas law in isothermal conditions at temperature \(T\) yields the pressure dynamics

$$\begin{aligned} {\dot{P}} = ( - PAr{\dot{\theta }} + (u - \delta ^{'})R_{s}T)/(V_{0} + Ar\theta ),\ \end{aligned}$$
(3)

where \(R_{s}\) is the specific gas constant, \(V_{0}\) also accounts for the volume of the pipes, the flow rate \(u\) corresponds to the control input, and \(\delta ^{'}\) is the outflow from the exhaust valve, which is considered unknown. Including (2) in the mechanical energy of the system yields \(H = \frac{1}{2}p^{T}M^{- 1}p + \Omega + \Phi \), where the system states are the position \(q \in {\mathbb {R}}^{2n+1}\) of the virtual joints, the momenta \(p = M(q){\dot{q}}\), and the pressure \(P\). The complete system dynamics can be expressed as

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ {\dot{P}} \\ \end{bmatrix}= & {} \begin{bmatrix} 0 &{} I &{} 0 \\ - I &{} - D &{} 0 \\ 0 &{} 0 &{} \frac{PAr {\dot{\theta }}}{\log \left( 1 + Ar \theta / V_{0} \right) \left( V_{0} + Ar\theta \right) ^{2}} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H \\ \nabla _{p}H \\ \nabla _{P}H \\ \end{bmatrix}\nonumber \\&+ \,\begin{bmatrix} 0 \\ 0 \\ 1 \\ \end{bmatrix}\frac{uR_{s}T}{V_{0} + Ar\theta } - \begin{bmatrix} 0 \\ \delta \\ \frac{\delta ^{'}R_{s}T}{V_{0} + Ar\theta } \\ \end{bmatrix}.\ \end{aligned}$$
(4)

External forces and model uncertainties are included in the term \(\delta \in {\mathbb {R}}^{2n + 1}\) which is unknown and possibly time-varying, while \(D\) indicates the physical damping. Throughout the paper we indicate with \(I\) the identity matrix of appropriate dimensions and with \(\left[1_{n} \right]\) and \(\left[0_{n} \right]\) the column vectors with all elements equal to 1 or 0. Finally, for a scalar function \(f\), \(\nabla _{x}f\) represents the vector of partial derivatives in \(x\). System (4) is further qualified by the following assumptions.

Fig. 1
figure 1

Soft continuum pneumatic manipulator: a rigid-link model with \(n=3\) and section view of the internal chambers; b experimental setup with prototype and needle valve operated by servo motor; c schematic diagram of the pneumatic circuit supplying one internal chamber

Assumption 2

The model parameters in (4) are exactly known. In particular, the structural stiffness \(k\) is constant and uniform along the length, while the physical damping \(D> D_{0} + D_{1}\left| {\dot{q}} \right| ^{2} > 0\) is constant and uniform along the length, with the diagonal matrices \(D_{0} > 0\) and \(D_{1} > 0\).

This assumption is motivated by the constant section of FMAs, and by the nonlinear damping of pneumatic systems [9]. External forces and model uncertainties, including the weight of the manipulator, are accounted for in \(\delta \).

Assumption 3

The angles \(\theta \) and \(\gamma \) and their time derivatives are known at any instant and are bounded. In addition, \(q_{i}q_{j} > 0, \forall i,j\), thus all sections of the soft manipulator bend on a plane in the same direction. The internal pressure \(P\) is known at any instant.

The condition \(q_{i}q_{j} > 0, \forall i,j\) is less stringent than CC, which requires \(q_{i} = q_{j}, \forall i,j\). In particular, \(\theta \) and \(\gamma \) are measured with a tracking system and \(P\) is measured with a pressure sensor in the experiments (see Sect. 5).

Assumption 4

The disturbance \(\delta \) is unknown and it is parameterized as \(\delta = \delta _{0} + \sigma \), where \(\delta _{0}\) is the constant unknown part only acting on the bending plane (i.e. where a payload is typically applied), that is \(\delta _{0_{i}} = 0\) for \(i > n\), while \(\sigma \) is the time-varying bounded part, with \(|\sigma | \le \sigma _{0}\left| {\dot{q}} \right| \) for a known \(\sigma _{0} > 0\). The disturbance \(\delta ^{'}\) is constant and unknown: this condition corresponds to choked flow through the exhaust valve (see Assumption 1).

Computing \({\dot{P}}\) from (4) recovers the pressure dynamics (3). In addition, computing \({\dot{p}}\) from (4) yields

$$\begin{aligned} {\dot{p}}= & {} - \nabla _{q}\Omega - \frac{1}{2}\nabla _{q}\left( p^{T}M^{- 1}p \right) - DM^{- 1}p - \delta \nonumber \\&+\, \left( P - P_{\text {atm}} \right) Ar h(\theta )G ,\ \end{aligned}$$
(5)

where \(G^{T} = \begin{bmatrix} 1_{n}^{T} &{} 0_{n + 1}^{T} \\ \end{bmatrix}\). Equation (5) indicates that the contribution of the internal pressure is modulated by \(\theta \). For conciseness, the notation \(h(\theta ) = (1 + \log ( 1 + \frac{Ar \theta }{V_{0}} ) ) \) is employed in the rest of the paper. Note that, in case \(V_{0} \gg Ar\theta \), (5) reduces to the simpler case of digitally controlled pressure discussed in [12].

3 Controller design for planar soft continuum pneumatic manipulators

Employing the IDA-PBC methodology, the regulation problem \(\left( q,{\dot{q}} \right) = \left( q^{*},0 \right) \) for a mechanical system with energy \(H_{0} = \frac{1}{2}p^{T}M^{- 1}p + \Omega \) is addressed by designing a control law \(u_{0}\) such that the closed-loop dynamics is representative of a new mechanical system with energy \(H_{d} = \frac{1}{2}p^{T}M_{d}^{- 1}p + \Omega _{d}\). The main design parameters within IDA-PBC are the inertia matrix \(M_{d}\) and the potential energy \(\Omega _{d}\), which should have a strict minimizer at the prescribed equilibrium point \(q^{*}\) to achieve the regulation goal (see [28] for further details). Thus, the control law \(u_{0}\) conveniently reshapes the energy \(H_{0}\) through the parameters \(M_{d}\) and \(\Omega _{d}\). Since \(H_{0}\) does not include the mechanical work of the gas, a new controller design procedure is outlined here for system (4). This section focuses on the regulation goal on the bending plane \( \theta = \theta ^*\) by introducing the following additional assumption, thus it is also applicable to soft manipulators with a single internal chamber. Instead, the regulation problem in 3D \( (\theta ,\gamma ) = (\theta ^*,\gamma ^*)\) is addressed in Sect. 4.

Assumption 5

One chamber of the soft manipulator is pressurized (i.e.\(P=P_1\)), while the two remaining chambers are left at atmospheric pressure (i.e. \(P_2=P_3=P_{\text {atm}}\)).

3.1 Controller design procedure

The control law is designed such that the closed-loop dynamics in port-Hamiltonian form becomes

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ {\dot{P}} \\ \end{bmatrix} = \begin{bmatrix} 0 &{} S_{12} &{} S_{13} \\ - S_{12}^{T} &{} - S_{22} &{} S_{23} \\ - S_{13}^{T} &{} - S_{23}^{T} &{} - S_{33} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{d}^{'} \\ \nabla _{p}H_{d}^{'} \\ \nabla _{P}H_{d}^{'} \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \sigma \\ 0 \\ \end{bmatrix},\ \end{aligned}$$
(6)

where \(H_{d}^{'} = H_{d} + \varsigma ^{2}/2\) is a positive definite and radially unbounded storage function, and \(\varsigma \) is defined as

$$\begin{aligned} \varsigma= & {} - \frac{k\theta }{n}- k_{p}\left( \theta ^{*} - \theta \right) - \sum _{i = 0}^{n}\frac{{\widehat{\delta }}_{0_{i}}}{n}\nonumber \\&+\, \left( P - P_{\text {atm}} \right) Ar h(\theta ),\ \end{aligned}$$
(7)

with \(k_{p}\) a tuning parameter, and \({{\widehat{\delta }}}_{0_{i}}\) the disturbance estimates to be defined in Sect. 3.2. The time-varying disturbance \(\sigma \) is not affected by the control action thus it appears again in (6) and its effects on stability are accounted for in Sect. 3.3. The terms \(S_{\text {ij}}\) are computed according to the following multi-step design procedure such that the open-loop dynamics (4) matches the closed-loop dynamics (6).

Step 1: This first step aims to preserve the relationship between the position \(q\) and the momenta \(p\). Equating the first row of (4) and of (6) gives

$$\begin{aligned} M^{- 1}p = S_{12}M_{d}^{- 1}p + S_{13}Ar \varsigma h(\theta ).\ \end{aligned}$$
(8)

Defining \(S_{12} = k_{m}I\) and \(M_{d} = k_{m}M\), and setting \(S_{13} = 0\) verifies (8) leading to the following step.

Step 2: This step aims to reshape the kinetic energy and the potential energy of the system in closed-loop by defining appropriate expressions of the potential energy \(\Omega _{d}(q)\) and of the inertia matrix \(M_{d}(q) = M_{d}^{T} > 0\). Equating the second row of (4) and of (6) yields

$$\begin{aligned}&- \nabla _{q}\Omega - \frac{1}{2}\nabla _{q}\left( p^{T}M^{- 1}p \right) - DM^{- 1}p - \delta \nonumber \\&\qquad +\, \left( P - P_{\text {atm}} \right) Ar h(\theta ) G\nonumber \\&\quad = S_{23}Ar \varsigma h(\theta ) G \nonumber \\&\qquad -\, S_{22}M_{d}^{- 1}p - {S}_{12}^{T}\left( \nabla _{q}\Omega _{d} + \frac{1}{2}\nabla _{q}\left( p^{T}M_{d}^{- 1}p \right) \right) \nonumber \\&\qquad -\, {S}_{12}^{T} \varsigma \left( \frac{(P - P_{\text {atm}})A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) G - \sigma .\nonumber \\ \end{aligned}$$
(9)

Substituting \(S_{12} = k_{m}I\) and \(M_{d} = k_{m}M\) the kinetic energy vanishes from (9), while defining \(S_{22} = k_{m}D\) the damping terms cancel out. To ensure that the remaining terms satisfy (9) for all \(q \in {\mathbb {R}}^{2n+1}\), we introduce the full-rank left annihilator \(G^{\bot }\), such that \(G^{\bot }G = 0\) and \(\text {rank}\left\{ G^{\bot } \right\} = 2n\). Pre-multiplying both sides of (9) by \(G^{\bot }\), the terms dependent on \(\varsigma \) or on \(P\) vanish, yielding the following partial differential equations (PDEs), which are termed potential-energy PDE and disturbance matching equation

$$\begin{aligned}&G^{\bot }\left( \nabla _{q}\Omega - k_{m}\nabla _{q}\left( \Omega _{d} - \Omega _{0} \right) \right) = 0,\ \end{aligned}$$
(10)
$$\begin{aligned}&G^{\bot }\left( \delta _{0} - k_{m}\nabla _{q}\Omega _{0} \right) = 0,\ \end{aligned}$$
(11)

where \(\Omega _{0} = \Lambda ^{T}(q - q^{*})\) and \(\Lambda \) can be interpreted as a vector of closed-loop non-conservative forces [16]. Solving (10) and (11) while ensuring that the minimizer conditions \(\nabla _{q}\Omega _{d}\left( \theta ^{*} \right) = 0\) and \(\nabla _{q}^{2}\Omega _{d}\left( \theta ^{*} \right) > 0\) are satisfied in the presence of constant disturbances \(\delta _{0}\) yields

$$\begin{aligned} \Omega _{d}= & {} \frac{k}{2k_{m}}\sum _{i = 1}^{2n}q_{i}^{2} - \frac{k}{2nk_{m}}\theta ^{2} + \frac{k_{p}}{2k_{m}}\left( \theta - \theta ^{*} \right) ^{2} \nonumber \\&+\, \Lambda ^{T}(q - q^{*}),\ \end{aligned}$$
(12)

where

$$\begin{aligned} \Lambda _{i} = \left\{ \begin{array}{ll} \frac{\left( (n - 1)\delta _{0_{i}} - \sum _{j = 1}^{n}\delta _{0_{j \ne i}} \right) }{nk_{m}}, &{} 1 \le i \le n \\ \frac{{\delta _{0}}_{i}}{k_{m}}, &{} n + 1 \le i \le 2n. \\ \end{array} \right. \ \end{aligned}$$
(13)

Note that the first term in \(\Omega _{d}\) preserves the potential elastic energy of the system outside the bending plane. Finally, substituting (12) and (13) in (9) and multiplying it by the pseudo-inverse \(G^{\dagger } = \left( G^{T}G \right) ^{- 1}G^{T}\) yields

$$\begin{aligned} S_{23} = \frac{\left( 1 + k_{m}\left( \frac{(P - P_{\text {atm}})A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) \right) }{Arh(\theta )}.\ \end{aligned}$$
(14)

The term \(\Lambda \) does not appear in \(S_{23}\) since it follows from (13) that \(G^{T}\Lambda = 0\). Note that (12) and (13) correspond to the case of digitally controlled pressure [12]. The pressure dynamics (3) is accounted for in the next step.

Step 3: equating the third row of (4) and of (6) yields

$$\begin{aligned} \frac{- PAr{\dot{\theta }} + \left( u - \delta ^{'} \right) R_{s}T}{V_{0} + Ar\theta } = - \frac{S_{23}}{k_{m}}{\dot{\theta }} - S_{33}Ar \varsigma h(\theta ),\nonumber \\ \end{aligned}$$
(15)

where \(S_{33}\) is a further tuning parameter. Computing the control input \(u\) from (15), substituting (14), and defining \(S_{33} = \frac{k_{i}}{Arh(\theta )} > 0\) yields the explicit expression of the control law

$$\begin{aligned} u= & {} {{\widetilde{\delta }}^{'} }+ \frac{PAr{\dot{\theta }}}{R_{s}T} + k_{i}\frac{\left( V_{0} + Ar\theta \right) }{R_{s}T}\left( \frac{k}{n}\theta \right. \nonumber \\&\left. +\, k_{p}\left( \theta ^{*} - \theta \right) - \left( P - P_{\text {atm}} \right) Arh(\theta ) + G^{\dagger }{{\widehat{\delta }}}_{0} \right) \nonumber \\&-\, \frac{\left( V_{0} + Ar\theta \right) }{R_{s}T}\frac{\left( 1 + k_{m}\left( \frac{\left( P - P_{\text {atm}} \right) A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) \right) }{k_{m}Arh(\theta )}{\dot{\theta }}.\nonumber \\ \end{aligned}$$
(16)

The disturbance estimates \({{\widehat{\delta }}}_{0}\) and \({{\widetilde{\delta }}^{'}}\) are defined in the following section and are combined with the control law according to [16]. This approach is possible in general due to the separation principle [11, 25].

3.2 Adaptive observers

The disturbance estimate \({{\widehat{\delta }}}_{0}\) in (16) is computed with a modification of the I&I method [1] resulting in the adaptive law

$$\begin{aligned} {\dot{{\widehat{\delta }}}}_{0} = - \alpha \left( \nabla _{q}\Omega + D{\dot{q}} + {{\widehat{\delta }}}_{0} - \left( P - P_{\text {atm}} \right) Ar h(\theta )G \right) ,\nonumber \\ \end{aligned}$$
(17)

similarly to the case of digitally controlled pressure [12], where \(\alpha \) is a positive constant tuning parameter.

Lemma 1

Consider system (4) with Assumptions 15 and with the adaptive law (17). Define the vector of estimation errors \(z\) as

$$\begin{aligned} z = {{\widehat{\delta }}}_{0} + \beta _{0}(p) - \delta _0,\ \end{aligned}$$
(18)

where \(\beta _{0}(p) = - \alpha p\) and \({{\widehat{\delta }}}_{0}\) is computed by integrating (17) in time. Then \(z\) is ultimately bounded for all \(\alpha > 1/4\).

Proof

Computing the time derivative of (18) and substituting \({\dot{p}}\) from (5) and \(\delta _0\) from (18), where \(\delta =\delta _0+\sigma \) (see Assumption 4) and \(H = H_{0} + \Phi \), gives

$$\begin{aligned} {\dot{z}}= & {} {\dot{{\widehat{\delta }}}}_{0} + \nabla _{p}\beta _{0}(p){\dot{p}} \nonumber \\= & {} {\dot{{\widehat{\delta }}}}_{0} + \nabla _{p}\beta _{0}(p)\left( - \nabla _{q}H_{0} + \left( P - P_{\text {atm}} \right) Ar h(\theta )G \right) \nonumber \\&+\, \nabla _{p}\beta _{0}(p)\left( - D M^{-1}p - \sigma - \left( {{\widehat{\delta }}}_{0} + \beta _{0}(p) - z \right) \right) .\nonumber \\ \end{aligned}$$
(19)

Substituting (17) and \(\beta _{0}(p) = - \alpha p\) into (19) yields

$$\begin{aligned} \begin{aligned} {\dot{z}}&= - \alpha \left( \nabla _{q}\Omega + D{\dot{q}} + {{\widehat{\delta }}}_{0} - \left( P - P_{\text {atm}} \right) Ar h(\theta )G \right) \\&\quad -\, \alpha \left( - \nabla _{q}\Omega - \frac{1}{2}\nabla _{q}\left( p^{T}M^{- 1}p \right) - D{\dot{q}} - \sigma \right) \\&\quad -\, \alpha \left( \left( P - P_{\text {atm}} \right) Ar h(\theta )G - \left( {{\widehat{\delta }}}_{0} - \alpha p - z \right) \right) ,\\ \end{aligned} \end{aligned}$$

while simplifying common terms yields

$$\begin{aligned} {\dot{z}} = - \alpha \left( - \frac{1}{2}\nabla _{q}\left( p^{T}M^{- 1}p \right) + \alpha p + z - \sigma \right) .\ \end{aligned}$$
(20)

Defining the Lyapunov function candidate \(\Upsilon = \frac{1}{2}z^{T}z\), computing its time derivative, and substituting (20) while recalling that \(|\sigma | \le \sigma _{0}\left| {\dot{q}} \right| \) by hypothesis yields

$$\begin{aligned} {\dot{\Upsilon }} \le - \alpha z^{2} + \alpha |z|\left( \frac{1}{2}\nabla _{q}\left| p^{T}M^{- 1}p \right| + \alpha |p| + \sigma _{0}\left| {\dot{q}} \right| \ \right) .\ \end{aligned}$$
(21)

In general we can rewrite (21) as \({\dot{\Upsilon }} \le - \alpha z^{2} + \alpha |z|\epsilon \), where \(\epsilon \) is a term dependent on velocity. Introducing the Young’s inequality \(\alpha |z|\epsilon \le z^{2}/4 + \alpha ^{2}\epsilon ^{2}\) and substituting it in the former inequality yields \({\dot{\Upsilon }} \le - \left( \alpha - \frac{1}{4} \right) z^{2} + \alpha ^{2}\epsilon ^{2}\). It follows from Assumption 3 that \(|{\dot{q}}|\) and \(\epsilon \) are bounded, since \({\dot{\theta }}\) is bounded and since \(q_{i}q_{j} > 0, \forall i,j\). Consequently, \(z\) is bounded for all\(\ \alpha > 1/4\) concluding the proof. Note finally that, due to (17), \(G^{\dagger }{{\widehat{\delta }}}_{0}\) only depends on the measurable states \(\theta ,{\dot{\theta }}\) and \(P\), thus it is implementable. \(\square \)

The disturbance estimate \({{\widetilde{\delta }}^{'}}\) is computed in a similar fashion with the adaptive law

$$\begin{aligned}&{{\widetilde{\delta }}^{'}} = {{\widehat{\delta }}^{'}} + \beta '(P,\theta ) \nonumber \\&\beta ^{'}(P,\theta ) = - \frac{\alpha ^{'}}{R_{s}T}(Ar\theta + V_{0})P \nonumber \\&{\dot{{\widehat{\delta }}^{'} }}= \alpha ^{'}\left( u - {{\widetilde{\delta }}^{'}} \right) , \end{aligned}$$
(22)

where \(\alpha '\) is a further positive constant tuning parameter.

Lemma 2

Consider system (4) with Assumptions 15 and with the adaptive law (22). Then, the disturbance estimate \({{\widetilde{\delta }}^{'}}\) converges exponentially to the correct value for all \(\alpha ^{'} > 0\).

Proof

We define the vector of estimation errors \(z'\) as follows, where the functions \({{\widehat{\delta }}^{'}}\) and \(\beta ^{'}(P,\theta )\) are the state-independent part and the state-dependent part of \({{\widetilde{\delta }}^{'}}\)

$$\begin{aligned} z^{'} = {{\widetilde{\delta }}^{'} }- \delta ^{'} = {{\widehat{\delta }}^{'}} + \beta ^{'}(P,\theta ) - \delta ^{'}.\ \end{aligned}$$
(23)

Computing the time derivative of (23) and substituting \({\dot{P}}\) from the third row of (4) gives

$$\begin{aligned} {{\dot{z}}^{'}}= & {} {\dot{{\widehat{\delta }}^{'}}} + \nabla _{\theta }{\beta ^{'}}{\dot{\theta }} \nonumber \\&+\, \nabla _{P}{\beta ^{'}} \frac{ - PAr{\dot{\theta }} + \left( u - {{\widetilde{\delta }}^{'}} + z \right) R_{s}T }{ Ar\theta + V_{0} }. \end{aligned}$$
(24)

Substituting (22) into (24) yields \({{\dot{z}}^{'}} = - \alpha ^{'}z^{'}\) since it follows from (22) that \(\nabla _{P}{\beta ^{'}}PAr/\left( Ar\theta + V_{0} \right) = -\nabla _{\theta }{\beta ^{'}}\). Defining the new Lyapunov function candidate \(\Upsilon ^{'} = \frac{1}{2}{z^{'}}^2\) and computing its time derivative yields then \({{\dot{\Upsilon }}^{'}} \le - \alpha ^{'}{z^{'}}^{2}\). Thus \(z^{'}\) is bounded and converges to zero exponentially for all \(\alpha ^{'} > 0\) concluding the proof \(\square \)

The result in Lemma 1 is weaker than that in Lemma 2 since it only concludes boundedness of the estimation error \(z\). This occurs because the adaptive law (17) does not include the contribution of the kinetic energy which depends on the virtual positions \(q_{i}\) that are not measurable, and since it does not compensate the time-varying disturbances \(\sigma \). However, the inequality \(\alpha > 1/4\) represents a sufficient condition because the Young’s inequality used in Lemma 1 is conservative. Conversely, the adaptive law (22) does not introduce any approximation but ensures exponential convergence of the estimation error \(z^{'}\) to zero provided that the disturbance \(\delta ^{'}\) is constant (see Assumptions 1 and 4). In this case, the inequality \(\alpha ^{'} > 0\) represents a necessary and sufficient condition. Further conditions for asymptotic convergence of \(z\) and \(z^{'}\) to zero are provided in Proposition 1.

3.3 Stability analysis

In this section, the effects of the adaptive laws (17) and (22) and of the control law (16) on the system dynamics are investigated and the stability conditions are discussed.

Proposition 1

Consider system (4) with Assumptions 15 in closed-loop with the control law (16) where \({{\widehat{\delta }}}_{0}\) is computed by integrating its time derivative (17) and \({{\widetilde{\delta }}^{'}}\) is computed with (22). Define the parameters \(k_{i},k_{m},\alpha ,\alpha ^{'}\) such that the symmetric matrix

$$\begin{aligned} \Theta = \begin{bmatrix} \frac{I D_{0}^{'}}{k_{m}} &{} 0 &{} 0 &{} \star &{} 0 \\ 0 &{} \frac{D_{1}}{k_{m}} &{} 0 &{} \star &{} 0 \\ 0 &{} 0 &{} k_{i}Ar h(\theta ) &{} 0 &{} \star \\ - \left( \frac{1}{{2k}_{m}} + \frac{\Sigma _{0} }{2}\right) &{} - \frac{\alpha c_{2}m_{T}l_{T}^{2}}{4} &{} 0 &{} \alpha &{} 0 \\ 0 &{} 0 &{} - \frac{Ar h(\theta )}{2} &{} 0 &{} \alpha ^{'} \\ \end{bmatrix},\ \end{aligned}$$
(25)

is positive definite for some values \(0< c_{1},c_{2} < 1\), where \( h(\theta )= (1 + \log ( 1 + \frac{Ar \theta }{V_{0}} ) )\), \( D_{0}^{'}=\left( D_{0} - \alpha c_{1}m_{T}l_{T}^{2} - \sigma _{0} \right) \) and \(\Sigma _0 = \alpha ^{2}c_{1}m_{T}l_{T}^{2} + \alpha \sigma _{0} \). Then the equilibrium point \(\left( \theta ,{\dot{\theta }} \right) = \left( \theta ^{*},0 \right) \) is stable and \(\theta \) converges to \(\theta ^{*}\) asymptotically. Additionally, \(\theta ^{*} = \text {argmin}\left\{ \Omega _{d} \right\} \) for all \(k_{p},k_{m} > 0\).

Proof

Substituting (16) in (4) results in the closed-loop dynamics in port-Hamiltonian form

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ {\dot{P}} \\ \end{bmatrix}= & {} \begin{bmatrix} 0 &{} + k_{m}I &{} 0 \\ - k_{m}I &{} - k_{m}D &{} \frac{1 + k_{m} \lambda }{Ar h(\theta )}\\ 0 &{} - \frac{1 + k_{m} \lambda }{Ar h(\theta )} &{} \frac{- k_{i}}{Ar h(\theta )} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{d}^{'} \\ \nabla _{p}H_{d}^{'} \\ \nabla _{P}H_{d}^{'} \\ \end{bmatrix} \nonumber \\&+\, \begin{bmatrix} 0 \\ z + \alpha p - \sigma \\ z^{'} \\ \end{bmatrix}, \end{aligned}$$
(26)

where \(\lambda =\left( \frac{(P - P_{\text {atm}})A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) \) and the square matrix in (26) is skew symmetric.

Defining the Lyapunov function \({\Psi = H}_{d}^{'} + \Upsilon + \Upsilon ^{'}\), which accounts for the estimation errors \(z ~\text {and}~ z^{'}\), and computing the time derivative \({\dot{\Psi }}\) along the trajectories of the closed-loop system (26) yields

$$\begin{aligned} {\dot{\Psi }}\le & {} - \nabla _{p}{H_{d}^{'}}^{T}k_{m}D\nabla _{p}H_{d}^{'} - \alpha z^{2} - \alpha ^{'}{z^{'}}^{2} \nonumber \\&-\, \frac{k_{i}}{Ar h(\theta )}\nabla _{P}{H_{d}^{'}}^{2} + \nabla _{p}{H_{d}^{'}}^{T}(z + \alpha p - \sigma ) \nonumber \\&+\, \nabla _{P}H_{d}^{'}z^{'} + \alpha |z|\left( \frac{1}{2}\nabla _{q}\left| p^{T}M^{- 1}p \right| + \alpha |p| + \left| \sigma \right| \right) .\nonumber \\ \end{aligned}$$
(27)

Since the elements of \(M\) depend on the cosine of the virtual positions \(q_{i}\) [12], we have that \(\max \left\{ M \right\} < m_{T}l_{T}^{2}\), with \(m_{T}\) the mass of the soft continuum manipulator, \(l_{T}\) its total length, and \(\max \left\{ M \right\} \) the largest element of \(M\). Thus the inequality \(|p| \le c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| \) and the inequality \(\nabla _{q}\left| p^{T}M^{- 1}p \right| \le c_{2}m_{T}l_{T}^{2}\left| {\dot{q}} \right| ^{2}\) hold for some \(0< c_{1},c_{2} < 1\). Recalling that by hypothesis \(|\sigma | \le \sigma _{0}\left| {\dot{q}} \right| \) yields

$$\begin{aligned} {\dot{\Psi }}\le & {} - \frac{1}{k_{m}}\left( D_{0} + D_{1}\left| {\dot{q}} \right| ^{2} \right) {{\dot{q}}}^{2} - \alpha z^{2} - \alpha ^{'}{z^{'}}^{2}\nonumber \\&-\, k_{i}\varsigma ^{2}Ar h(\theta ) + \varsigma Ar h(\theta ) z^{'} \nonumber \\&+\, \frac{1}{k_{m}}\left| {\dot{q}} \right| ^{T}\left( z + \alpha c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| + \sigma _{0}\left| {\dot{q}} \right| \right) \nonumber \\&+\, \alpha |z|\left( c_{2}m_{T}l_{T}^{2}\left| {\dot{q}} \right| ^{2}/2 + \alpha c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| + \sigma _{0}\left| {\dot{q}} \right| \right) . \end{aligned}$$
(28)

Refactoring common terms in (28) yields

$$\begin{aligned} {\dot{\Psi }} \le - x^{T}\Theta x,\ \end{aligned}$$
(29)

where \(x^{T} = \begin{bmatrix} {{\dot{q}}}^{T}&{({{\dot{q}}}^{2})}^{T}&\varsigma&z&z^{'} \end{bmatrix}\) and \(\Theta \) is given by (25). Consequently \({\dot{\Psi }} \le 0\), thus \(x\) is bounded and converges to zero asymptotically and the equilibrium point \(x = 0\) is stable. Computing (26) at the point \(x = 0\) yields \(\nabla _{q}\Omega _{d} = 0\) which implies that \(H_{d}^{'}\) has an extremum at \(x = 0\). Computing \(G^{T}\nabla _{q}\Omega _{d}\) from (12) while recalling that \(G^{T}\Lambda = 0\) from (13), and computing the minimizer condition \(\nabla _{q}^{2}\Omega _{d}\) yields

$$\begin{aligned} G^{T} \nabla _{q}\Omega _{d}(q)= & {} k_{p}n\left( \theta - \theta ^{*} \right) /k_{m} = 0,\nonumber \\ \det \left( \nabla _{q}^{2}\Omega _{d}\right)= & {} nk_{p}k^{n - 1}/k_{m}^{2n + 1} > 0, \end{aligned}$$
(30)

which hold true for all \(k_{p},k_{m} > 0\). Thus \(\theta \) converges to \(\theta ^{*}\) asymptotically concluding the proof \(\square \)

Remark 1

Considering that \(m_{T}l_{T}^{2} \ll 1\) and that \(V_{0} \gg Ar\theta \) for small soft continuum manipulators similar to FMAs, the symmetric matrix (25) can be simplified by neglecting such terms, which yields the approximated expression

$$\begin{aligned} \Theta = \begin{bmatrix} \frac{I\left( D_{0} - \sigma _{0} \right) }{k_{m}} &{} 0 &{} 0 &{} - \frac{1 + \alpha \sigma _{0}k_m}{2k_{m}} &{} 0 \\ 0 &{} \frac{D_{1}}{k_{m}} &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} k_{i}Ar &{} 0 &{} - \frac{Ar}{2} \\ - \frac{1 + \alpha \sigma _{0}k_m}{2k_{m}} &{} 0 &{} 0 &{} \alpha &{} 0 \\ 0 &{} 0 &{} - \frac{Ar}{2} &{} 0 &{} \alpha ^{'} \end{bmatrix}.\ \end{aligned}$$
(31)

The necessary conditions to ensure \(\Theta >0 \) are thus

$$\begin{aligned}&D_{0}> \sigma _{0},\nonumber \\&\frac{\alpha \left( D_{0} - \sigma _{0} \right) }{k_{m}}> \frac{\left( 1 + \alpha \sigma _{0}k_m \right) ^{2}}{4k_{m}^{2}},\nonumber \\&k_{i}\alpha ^{'} > \frac{Ar}{4}. \end{aligned}$$
(32)

The first inequality in (32) requires the physical damping to be sufficiently large to dominate the effect of time-varying disturbances. Solving the second inequality yields

$$\begin{aligned} \left( 2 D_{0} - 3 \sigma _{0} - \sqrt{\Delta _{0}} \right)< \alpha k_m \sigma _{0}^2 < \left( 2 D_{0} - 3 \sigma _{0} +\sqrt{\Delta _{0}} \right) , \end{aligned}$$

where \(\Delta _{0} = \left( 2 D_{0} - 3\sigma _{0} \right) ^{2} - \sigma _{0}^2\), provided that \( D_{0} > 2\sigma _{0} \). In the theoretical case of constant disturbances, this inequality can be further simplified as \(4D_{0}\alpha k_{m} > 1\) which suggest that the parameters \(\alpha \) and \(k_{m}\) contribute alongside the physical damping parameter \(D_{0}\) to the stability of the prescribed equilibrium. Finally, the third inequality in (32) indicates that a larger value of \(k_{i}\alpha ^{'}\) is required for larger soft manipulators (i.e. with larger cross-section area of the internal chambers \(A\)). The effect of the tuning parameters on the system response is discussed in detail in Sect. 5.

3.4 Backstepping design

For comparison purposes, this section details a new alternative controller that extends our design [12] by employing the backstepping methodology [22]. This choice is motivated by the fact that backstepping controllers are well suited for variable stiffness robots [29]. While it would be possible to employ different adaptive observers such as [13, 15] or [5], the same adaptive laws are employed as in (16) to highlight the effect of the proposed controller design procedure. In this case, the controller design consists of two main steps.

Step 1: Considering initially a reduced-order system by taking the absolute pressure \(P^{*}\) as virtual control input yields the partial system dynamics

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ \end{bmatrix}= & {} \begin{bmatrix} 0 &{} I \\ - I &{} - D \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{0} \\ \nabla _{p}H_{0} \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \delta \\ \end{bmatrix}\nonumber \\&+\, \begin{bmatrix} 0 \\ G \\ \end{bmatrix}\left( P^{*} - P_{\text {atm}} \right) Ar h(\theta ), \end{aligned}$$
(33)

where \(H_{0} = H - \Phi = \frac{1}{2}p^{T}M^{- 1}p + \Omega \) is the mechanical energy of the system without the mechanical work of the gas. Computing the control law as in [12] yields

$$\begin{aligned} P^{*} = P_{\text {atm}} + \frac{\frac{k}{n}\theta + k_{p}\left( \theta ^{*} - \theta \right) + G^{T}{{\widehat{\delta }}}_{0}}{Ar h(\theta )}\ \end{aligned}$$
(34)

with \({{\widehat{\delta }}}_{0}\) computed form (17). Substituting (34) into (33) yields the closed-loop dynamics

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ \end{bmatrix} = \begin{bmatrix} 0 &{} k_{m}I \\ - k_{m}I &{} - Dk_{m} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{d} \\ \nabla _{p}H_{d} \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \sigma - z - \alpha p \\ \end{bmatrix},\nonumber \\ \end{aligned}$$
(35)

where \(H_{d} = \frac{1}{2}p^{T}M_{d}^{- 1}p + \Omega _{d}\) with \(M_{d} = k_{m}M\), and where \(\Omega _{d}\) is given by (12) and \(\Lambda \) is given by (13). Defining a new Lyapunov function candidate \(\Psi _{1} = H_{d} + \Upsilon \) and computing its time derivative along the trajectories of the closed-loop system (35) in a similar fashion to (27) yields in this case

$$\begin{aligned} {{\dot{\Psi }}}_{1}\le & {} - \nabla _{p}H_{d}^{T}k_{m}D\nabla _{p}H_{d} + \nabla _{p}H_{d}^{T}(z + \alpha p - \sigma )\nonumber \\&-\, \alpha z^{2} + \alpha |z|\left( \frac{1}{2}\nabla _{q}\left| p^{T}M^{- 1}p \right| + \alpha |p| + \left| \sigma \right| \right) .\nonumber \\ \end{aligned}$$
(36)

Employing the inequality \(|p| \le c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| \) and the inequality \(\nabla _{q}\left| p^{T}M^{- 1}p \right| \le c_{2}m_{T}l_{T}^{2}\left| {\dot{q}} \right| ^{2}\) for some positive \(c_{1}\) and \(c_{2}\), and recalling that by hypothesis \(|\sigma | \le \sigma _{0}\left| {\dot{q}} \right| \), yields \({{\dot{\Psi }}}_{1} \le - x_{1}^{T}\Theta _{1}x_{1}\) with \(x_{1}^{T} = \begin{bmatrix} {{\dot{q}}}^{T} &{} {({\dot{q}}}^{2})^{T} &{} z \\ \end{bmatrix}\) and the symmetric matrix

$$\begin{aligned} \Theta _{1} = \begin{bmatrix} \frac{I\left( D_{0} - \alpha c_{1}m_{T}l_{T}^{2} - \sigma _{0} \right) }{k_{m}} &{} 0 &{} \star \\ 0 &{} \frac{D_{1}}{k_{m}} &{} \star \\ - \frac{1}{{2k}_{m}} - \frac{ \alpha ^{2}c_{1}m_{T}l_{T}^{2} + \alpha \sigma _{0}}{2} &{} - \frac{\alpha c_{2}m_{T}l_{T}^{2}}{4} &{} \alpha \\ \end{bmatrix}.\ \end{aligned}$$
(37)

Thus, the system (33) in closed-loop with the virtual control law (34) has an asymptotically stable equilibrium point in \(\left( \theta ,{\dot{\theta }} \right) = \left( \theta ^{*},0 \right) \) provided that the symmetric matrix (37) is positive definite.

Step 2: Introducing the error \(\zeta = P - P^{*}\) and substituting \(P = P^{*} + \ \zeta \) in (33) yields the closed-loop dynamics

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ \end{bmatrix}= & {} \begin{bmatrix} 0 &{} k_{m}I \\ - k_{m}I &{} - Dk_{m} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{d} \\ \nabla _{p}H_{d} \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \sigma - z - \alpha p \\ \end{bmatrix}\nonumber \\&+\, \begin{bmatrix} 0 \\ G \\ \end{bmatrix}\zeta Ar h(\theta ) .\ \end{aligned}$$
(38)

Defining a new Lyapunov function candidate as \(\Psi _{2} = \Psi _{1} + 1/2\zeta ^{2}\) and computing its time derivative while substituting (38), and \({\dot{P}}\) from (3) yields

$$\begin{aligned} {{\dot{\Psi }}}_{2}\le & {} - {x^{'}}^{T}\Theta _{1}x^{'} + \nabla _{p}H_{d}^{T}G\zeta Ar h(\theta )\nonumber \\&+\, \zeta \left( \frac{- PAr{\dot{\theta }} + \left( u'\ - \delta ^{'} \right) R_{s}T}{V_{0} + Ar\theta } - {{\dot{P}}}^{*} \right) .\ \end{aligned}$$
(39)

Defining the control input \(u^{'}\) in order to cancel the cross product \(\nabla _{p}H_{d_{0}}^{T}G \zeta \) in (39) yields

$$\begin{aligned} u^{'}= & {} - \frac{1}{k_{m}}{\dot{\theta }}Ar h(\theta )\frac{V_{0} + Ar\theta }{R_{s}T} \nonumber \\&+\,{{\widetilde{\delta }}}^{'} + \frac{PAr{\dot{\theta }}}{R_{s}T} - k_{i}(P - P^{*})\frac{V_{0} + Ar\theta }{R_{s}T} \nonumber \\&+\, \frac{V_{0} + Ar\theta }{R_{s}T}\left( \frac{\left( \frac{k}{n} - k_{p} \right) {\dot{\theta }} + G^{\dagger }{\dot{{\widehat{\delta }}}}_{0}}{Ar h(\theta )} \right) \nonumber \\&-\, \frac{\left( \frac{k}{n}\theta + k_{p}\left( \theta ^{*} - \theta \right) + G^{T}{{\widehat{\delta }}}_{0} \right) {\dot{\theta }}}{ h(\theta )^{2}R_{s}T}, \end{aligned}$$
(40)

where \(P^{*}\) is given in (34), \({{\widehat{\delta }}}_{0}\) is computed with (17), \({{\widetilde{\delta }}^{'}}\) is given in (22), and \(k_{i} > 0\) is a tuning parameter.

Proposition 2

Consider system (4) with Assumptions 15 in closed-loop with the control law (40) and with the adaptive laws (17) and (22). Define the tuning parameters \(k_{i},k_{m},\alpha ,\alpha ^{'}\) such that the symmetric matrix

$$\begin{aligned} \Theta _{2} = \begin{bmatrix} \frac{I D_{0}^{'}}{k_{m}} &{} 0 &{} 0 &{} \star &{} 0 \\ 0 &{} \frac{D_{1}}{k_{m}} &{} 0 &{} \star &{} 0 \\ 0 &{} 0 &{} k_{i} &{} 0 &{} \star \\ - \frac{ 1}{{2k}_{m}} -\frac{\Sigma _{0}}{2} &{} - \frac{\alpha c_{2}m_{T}l_{T}^{2}}{4} &{} 0 &{} \alpha &{} 0 \\ 0 &{} 0 &{} - \frac{R_{s}T}{2(V_{0} + Ar\theta )}\ &{} 0 &{} \alpha ^{'} \\ \end{bmatrix}\nonumber \\ \end{aligned}$$
(41)

is positive definite for some values \(0< c_{1},c_{2} < 1\), where \(D_{0}^{'}=\left( D_{0} - \alpha c_{1}m_{T}l_{T}^{2} - \sigma _{0} \right) \) and \(\Sigma _0 = \alpha ^{2}c_{1}m_{T}l_{T}^{2} + \alpha \sigma _{0} \). Then the equilibrium point \(\left( \theta ,{\dot{\theta }} \right) = \left( \theta ^{*},0 \right) \) is stable and \(\theta \) converges to \(\theta ^{*}\) asymptotically. Additionally, \(\theta ^{*} = \text {argmin}\left\{ \Omega _{d} \right\} \) for all \(k_{p},k_{m} > 0\).

Proof

Substituting (40) into (39) yields \({{\dot{\Psi }}}_{2} \le - x_{1}^{T}\Theta _{1}x_{1} - k_{i}\zeta ^{2}\). Defining the new Lyapunov function candidate \(\Psi _{2}^{'} = \Psi _{2} + \Upsilon ^{'}\) and computing its time derivative while substituting (22) yields

$$\begin{aligned} {{\dot{\Psi }}}_{2}^{'} \le - x_{1}^{T}\Theta _{1}x_{1} - k_{i}\zeta ^{2} - \alpha ^{'}{z^{'}}^{2} + \zeta z^{'}\frac{R_{s}T}{V_{0} + Ar\theta }\ . \end{aligned}$$
(42)

Substituting (37) into (42) and refactoring common terms yields

$$\begin{aligned} {{\dot{\Psi }}}_{2}^{'} \le - x_{2}^{T}\Theta _{2}x_{2}, \end{aligned}$$
(43)

where \(x_{2}^{T} = \begin{bmatrix} {{\dot{q}}}^{T}&{( {{\dot{q}}}^{2})}^T&\zeta&z&z^{'} \end{bmatrix}\). Since \(\Theta _{2}\) in (41) is positive definite by hypothesis, it follows that \({{\dot{\Psi }}}_{2}^{'} \le 0\) thus \(x_{2}\) is bounded and converges to zero asymptotically, and the equilibrium point \(x_{2} = 0\) is stable. Computing (38) at the point \(x_{2} = 0\) results in \(\nabla _{q}\Omega _{d} = 0\). Computing \(G^{T}\nabla _{q}\Omega _{d}\) and the minimizer condition \(\det \left( \nabla _{q}^{2}\Omega _{d}\right) \) yields again (30), which holds true for all \(k_{p},k_{m} > 0\). Thus \(\theta \) converges to \(\theta ^{*}\) asymptotically concluding the proof \(\square \)

Remark 2

The virtual control law (34) has two parameters, namely the proportional gain \(k_{p}\) and the parameter \(\alpha \) in (17). The complete control law (40) has three additional parameters, that is the parameter \(\alpha ^{'}\) in (22), the parameter \(k_{m}\) that serves as a derivative gain, and the parameter \(k_{i}\) that accounts for the pressure dynamics. The control law (16) employs the same five parameters as (40). In particular, \(k_{p}\) affects the closed-loop potential energy \(\Omega _{d}\). Large values of \(k_{p}\) result in faster response but also increase the closed-loop stiffness [8]. In this respect, values in the range \(k/10< k_{p} < k/3\) represent a good compromise. The parameter \(k_{m}\) scales the kinetic energy in closed loop [12] and should be chosen according to the stability conditions (see Remark 1). In particular, a smaller \(k_{m}\) results in a slower response. The parameters \(\alpha \) and \(\alpha ^{'}\) define the convergence rate of the estimation errors \(z\) and \(z^{'}\). Finally, the parameter \(k_{i}\) defines the convergence rate of the pressure dynamics, thus large values are permitted. For comparison purposes, a PID algorithm intended for the same regulation goal \(\left( \theta ,{\dot{\theta }} \right) = \left( \theta ^{*},0 \right) \) contains only the parameters \(K_{p},K_{d},K_{i}\)

$$\begin{aligned} u^{''} = K_{p}\left( \theta ^{*} - \theta \right) - K_{d}{\dot{\theta }} + K_{i}\int _{0}^{t}{\left( \theta ^{*} - \theta \right) d \tau }.\ \end{aligned}$$
(44)

The PID represents a valid term of comparison since it is widely used in industrial practice, and it serves as basis of recent control algorithms specifically designed for soft continuum manipulators [40]. While (44) has a simple structure, it does not provide a physical interpretation of the control action and it does not account explicitly for nonlinearities or external disturbances. In practice, (44) might require higher gains or might result in less consistent performance across different operating conditions (see Section 5). Improved performance could be achieved for the PID with gain scheduling techniques. This however would require additional assumptions on the disturbances and is beyond the scope of the present work.

Remark 3

To better highlight the difference between (16) and (40) we proceed as follows: replace \(k_{i}\) with \(k_{i}^{'} = k_{i}Ar h(\theta )\) in (40); assume that \(V_{0} \gg Ar\theta \); subtract (40) from (16), which yields

$$\begin{aligned} u - u^{'}= & {} - {\dot{\theta }}\left( \frac{\frac{k}{n}\theta + k_{p}\left( \theta ^{*} - \theta \right) + G^{T}{{\widehat{\delta }}}_{0}}{R_{s}T}\right) \nonumber \\&-\, {\dot{\theta }}\left( \frac{V_{0}}{Ar R_{s}Tk_{m}} + \frac{\left( P - P_{\text {atm}} \right) Ar}{R_{s}T} \right) \nonumber \\&-\, {\dot{\theta }}\left( - \frac{Ar V_{0}}{R_{s}Tk_{m}} \right) - G^{\dagger }{\dot{{\widehat{\delta }}}}_{0}\frac{V_{0}}{Ar R_{s}T}. \end{aligned}$$
(45)

Equation (45) depends on \({\dot{\theta }}\) and contains the adaptive estimate \({{\widehat{\delta }}}_{0}\) and its time derivative \({\dot{{\widehat{\delta }}}}_{0}\), which depend on the parameter \(\alpha \). Thus, differences in performance between the control laws (16) and (40) can be expected in dynamic conditions and for larger values of \(\alpha \). A further difference between the control laws (16) and (40) becomes apparent considering the closed-loop pressure dynamics. Substituting (16) into (3) yields

$$\begin{aligned} {\dot{P}} = -{\dot{\theta }}\frac{\left( 1 + k_{m}\left( \frac{(P - P_{\text {atm}})A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) \right) }{k_{m}Ar h(\theta )} - k_{i} \varsigma .\ \end{aligned}$$
(46)

Instead, substituting (40) into (3) yields

$$\begin{aligned} {\dot{P}}= & {} - \frac{1}{k_{m}}{\dot{\theta }}Ar h(\theta ) + \frac{\left( \frac{k}{n} - k_{p} \right) {\dot{\theta }} + G^{\dagger }{\dot{{\widehat{\delta }}}}_{0} -k_{i}\zeta }{Ar h(\theta )} \nonumber \\&-\, \frac{\left( \frac{k}{n}\theta + k_{p}\left( \theta ^{*} - \theta \right) + G^{T}{{\widehat{\delta }}}_{0} \right) {\dot{\theta }}}{ h(\theta )^{2}\left( V_{0} + Ar\theta \right) }. \end{aligned}$$
(47)

Compared to (46), the pressure dynamics (47) has additional terms that depend on the angular velocity \({\dot{\theta }}\) and on the disturbance estimate \({{\widehat{\delta }}}_{0}\). Consequently, the closed-loop dynamics with controller (40) cannot be described by using a skew-symmetric matrix as in (26). This also results in additional cross products in the Lyapunov derivative (42), thus (41) has different off-diagonal terms compared to (25).

4 Controller design for soft continuum pneumatic manipulators in 3D

In this section Assumption 5 is modified and the control problem for a soft continuum pneumatic manipulator operating in 3D is discussed. Assuming that two internal chambers are pressurised independently, while the third chamber is at atmospheric pressure for simplicity (i.e. \(P_{3} = P_{\text {atm}}\)), the system dynamics can be expressed as

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ \dot{P_{1}} \\ {{\dot{P}}}_{2} \\ \end{bmatrix}= & {} \begin{bmatrix} 0 &{} I &{} 0 &{} 0\\ - I &{} - D &{} 0 &{} 0\\ 0 &{} 0 &{} \overline{P_{1}}A_{1}r{\dot{\theta }} &{} 0 \\ 0 &{} 0 &{} 0 &{} \overline{P_{2}}A_{2}r{\dot{\theta }} \end{bmatrix} \begin{bmatrix} \nabla _{q}H \\ \nabla _{p}H \\ \nabla _{P_{1}}H \\ \nabla _{P_{2}}H \\ \end{bmatrix}\nonumber \\&+\, \begin{bmatrix} 0 &{} 0\\ 0 &{} 0\\ 1 &{} 0\\ 0 &{} 1\\ \end{bmatrix} \begin{bmatrix} \frac{u_{1}}{V_{0} + A_{1}r \theta } \\ \frac{u_{2}}{V_{0} + A_{2}r \theta } \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \delta \\ \frac{R_{s}T\delta _{1}^{'}}{V_{0} + A_{1}r\theta } \\ \frac{{R_{s}T\delta }_{2}^{'}}{V_{0} + A_{2}r\theta } \\ \end{bmatrix}, \end{aligned}$$
(48)

where we define \(\overline{P_{1}} = \frac{P_{1}}{\log \left( 1 + \frac{A_{1} r \theta }{V_{0}} \right) \left( V_{0} + A_{1}r \theta \right) ^{2}}\), and where \(\overline{P_{2}} = \frac{P_{2}}{\log \left( 1 + \frac{A_{2} r\theta }{V_{0}} \right) \left( V_{0} + A_{2} r \theta \right) ^{2}}\), while \(\delta _{1}^{'}\) and \(\delta _{2}^{'}\) are the outflows from the exhaust valves corresponding to each chamber. The mechanical energy is defined as \(H = \frac{1}{2}p^{T}M^{- 1}p + \Omega + \Phi _{1} + \Phi _{2}\), where \(\Phi _{1}\) and \(\Phi _{2}\) are given by (2) for each chamber. In this case, the orientation of the tip is defined by \((\theta ,\gamma )\), where \(\gamma = \varphi \) only in the absence of out-of-plane disturbances. The control inputs \(u_{1}\) and \(u_{2}\) represent the flow rates to the respective internal chambers. Since the expressions of \(\theta \) and \(\varphi \) given in (1) do not account for disturbances or uncertainties in the geometry of the internal chambers (e.g. due to manufacturing tolerances), it is necessary to estimate the mapping between the internal pressures \(P_{1},P_{2}\) and the angle \(\gamma \), as discussed in the following lemma. To this end the following assumption is introduced.

Assumption 6

The orientation of the bending plane can be approximated with a static mapping \(\gamma = f(\eta )\) that is continuously differentiable and monotonic, where \(\eta = P_{2}/(P_{1} + P_{2})\). Thus, there exists a function \(\varrho \) and positive values \(\varrho _{0}\) and \(\varrho _{1}\) such that \(\gamma ^{*} - \gamma = \varrho \left( \eta ^{*} - \eta \right) \) with \(\varrho > \varrho _{0}\), and \(\left| {\dot{\varrho }} \right| /\varrho ^{2} < \varrho _{1}\) [20].

Approximating the orientation of the bending plane with a static mapping is appropriate for soft continuum manipulators similar to FMA [17] which bend on a plane according to (1) provided that the external forces (e.g payload) act predominantly on the bending plane (see Assumption 4).

Lemma 3

Given the uncertain mapping \(\gamma = f(\eta )\), define the observer \({\widehat{\eta }}\) with the update law

$$\begin{aligned} \dot{{\widehat{\eta }}} = k_{I}\left( \gamma ^{*} - \gamma \right) .\ \end{aligned}$$
(49)

Then \({\widehat{\eta }}\) converges exponentially to the constant value \(\eta ^{*}\), where \(\gamma ^{*} = f(\eta ^{*})\), for all \(k_{I} > \varrho _{1}\).

Proof

Define the observer error \(\xi = \eta ^{*} - {\widehat{\eta }}\). By hypothesis \(f(\eta )\) is continuously differentiable and monotonic, thus there exists some function \(\varrho> \varrho _{0} > 0\) for which \(\gamma ^{*} - \gamma = f\left( \eta ^{*} \right) - f\left( {\widehat{\eta }}\ \right) = \varrho \xi \) [20]. Defining the Lyapunov function \(W_{0} = \frac{1}{2}\ \left( \gamma ^{*} - \gamma \right) ^{2} = \frac{1}{2}\varrho ^{2}\xi ^{2}\) and computing its time derivative yields

$$\begin{aligned} {{\dot{W}}}_{0} = \varrho ^{2}\xi {\dot{\xi }} + \varrho {\dot{\varrho }}\xi ^{2}. \end{aligned}$$
(50)

Observing that \({\dot{\xi }} = - \dot{{\widehat{\eta }}}\), substituting (49), recalling that there exist \(\varrho _{1} > \left| {\dot{\varrho }} \right| /\varrho ^{2}\) and \(\varrho > \varrho _{0}\) by hypothesis yields

$$\begin{aligned} {{\dot{W}}}_{0} = - \left( k_{I}\varrho ^{2} - {\dot{\varrho }} \right) \varrho \xi ^{2} \le - \left( k_{I} - \varrho _{1} \right) \varrho _{0}^{3}\xi ^{2}. \end{aligned}$$
(51)

Thus \({{\dot{W}}}_{0} < 0\) for all \(k_{I} > \varrho _{1}\), and \(\xi \) converges to zero exponentially concluding the proof \(\square \)

4.1 Controller design procedure

The controller design follows similar steps to those outlined in Sect. 3.1. Considering for conciseness an axial symmetric manipulator with equal cross-section areas of the internal chambers \(A_{1}=A_{2}=A\), the term \(\varsigma \) is defined as

$$\begin{aligned} \varsigma= & {} - \frac{k}{n}\theta - k_{p}\left( \theta ^{*} - \theta \right) - \frac{1}{n}\sum _{i = 0}^{n}{{\widehat{\delta }}}_{0} \nonumber \\&+\, {(P}_{1} - P_{\text {atm}})A r h(\theta ) + \left( P_{2} - P_{\text {atm}} \right) A r h(\theta ).\nonumber \\ \end{aligned}$$
(52)

The closed-loop dynamics in port-Hamiltonian form is

$$\begin{aligned} \begin{bmatrix} {\dot{q}} \\ {\dot{p}} \\ \dot{P_{1}} \\ {{\dot{P}}}_{2} \\ \end{bmatrix} = \begin{bmatrix} 0 &{} S_{12} &{} S_{13} &{} S_{14} \\ - S_{12}^{T} &{} - S_{22} &{} S_{23} &{} S_{24}\\ - S_{13}^{T} &{} - S_{23}^{T} &{} - S_{33} &{} S_{34} \\ - S_{14}^{T} &{} - S_{24}^{T} &{} - S_{34}^{T} &{} - S_{44} \\ \end{bmatrix}\begin{bmatrix} \nabla _{q}H_{d}^{'} \\ \nabla _{p}H_{d}^{'} \\ \nabla _{P_{1}}H_{d}^{'} \\ \nabla _{P_{2}}H_{d}^{'} \\ \end{bmatrix} - \begin{bmatrix} 0 \\ \sigma \\ 0 \\ 0 \\ \end{bmatrix},\nonumber \\ \end{aligned}$$
(53)

where \(H_{d}^{'} = H_{d} + \varsigma ^{2}/2\), \(\varsigma \) is given in (52), and \(H_{d} = \frac{1}{2}p^{T}M_{d}^{- 1}p + \Omega _{d}\) is defined in Section 3.

Step 1: Equating the first row of (48) and of (53) gives

$$\begin{aligned} M^{- 1}p = S_{12}M_{d}^{- 1}p + S_{13}\varsigma A r h(\theta ) + S_{14}\varsigma A r h(\theta ). \end{aligned}$$
(54)

Defining \(S_{12} = k_{m}I\), \(M_{d} = k_{m}M\), and \(S_{13} = S_{14} = 0\) verifies (54) leading to the following step.

Step 2: Equating the second row of (48) and of (53) while recalling the definition of \(G\) yields

$$\begin{aligned}&\left( P_{1} - P_{\text {atm}} \right) A r h(\theta )G + \left( P_{2} - P_{\text {atm}} \right) A r h(\theta )G \nonumber \\&\qquad -\, \nabla _{q}\Omega - \frac{1}{2}\nabla _{q}\left( p^{T}M^{- 1}p \right) - DM^{- 1}p - \delta \nonumber \\&\quad ={- S_{22}M_{d}^{- 1}p + S}_{23}\varsigma A r h(\theta )G + S_{24}\varsigma A r h(\theta )G \nonumber \\&\qquad -\, S_{12}\left( \nabla _{q}\Omega _{d} + \frac{1}{2}\nabla _{q}\left( p^{T}M_{d}^{- 1}p \right) \right) - \sigma \nonumber \\&\qquad -\, S_{12} \varsigma \left( k_{p} - \frac{k}{n} + \frac{(P_{1} +P_{2} - 2 P_{\text {atm}})A^{2}r^{2}}{A r\theta + V_{0}} \right) G.\nonumber \\ \end{aligned}$$
(55)

Substituting \(S_{12} = k_{m}I\) and \(M_{d} = k_{m}M\) the kinetic energy vanishes from (55), while defining \(S_{22} = k_{m}D\) the damping terms cancel out. Pre-multiplying both sides of (55) by the left annihilator \(G^{\bot }\), the terms dependent on \(\varsigma \) and on \(P_{1},P_{2}\) vanish, yielding the potential-energy PDE (10) and the disturbance matching equation (11). Solving (10) while ensuring that the potential energy \(\Omega _{d}\) has a strict minimizer in \(\theta = \theta ^{*}\) yields (12), while solving (11) for an unknown constant disturbance \(\delta _{0}\) yields (13). Finally, substituting (12) and (13) in (55) and multiplying it by \(G^{\dagger }\) yields

$$\begin{aligned} S_{23}= & {} \frac{ 1 +k_{m}\left( \frac{(P_{1} + P_{2} - 2 P_{\text {atm}})A^{2}r^{2}}{A r\theta + V_{0}} - \frac{k}{n} + k_{p} \right) }{A r h(\theta )} - \Delta , \nonumber \\ S_{24}= & {} \Delta , \end{aligned}$$
(56)

where \(\Delta \) is a free term to be defined in the next step.

Step 3: Equating the third row of (48) and of (53) yields

$$\begin{aligned}&\frac{- P_{1}A r{\dot{\theta }}+\left( u_{1} - \delta _{1}^{'} \right) R_{s}T}{V_{0} + A r\theta } = - \frac{S_{23}}{k_{m}}{\dot{\theta }} \nonumber \\&\quad -\, (S_{33} + S_{34} )\varsigma A r h(\theta ). \end{aligned}$$
(57)

Similarly, equating the fourth row of (48) and of (53) yields

$$\begin{aligned} \frac{- P_{2}A r{\dot{\theta }}+\left( u_{2} - \delta _{2}^{'} \right) R_{s}T}{V_{0} + A r\theta }= & {} - \frac{S_{24}}{k_{m}}{\dot{\theta }} \nonumber \\&-\, (S_{34} + S_{44} ) \varsigma A r h(\theta ). \end{aligned}$$
(58)

Setting \(S_{34} = 0\), defining \(S_{33} = \frac{k_{i}}{A r h(\theta )}\) and \(S_{44} = \frac{k_{i}^{'}}{A r h(\theta )}\) yields the closed-loop pressure dynamics for both chambers

$$\begin{aligned} \dot{P_{1}}= & {} - \Gamma {\dot{\theta }} + {\dot{\theta }}\frac{\Delta }{k_{m}} - k_{i}\varsigma , \nonumber \\ \dot{P_{2}}= & {} - \frac{\Delta }{k_{m}}{\dot{\theta }} - k_{i}^{'}\varsigma , \end{aligned}$$
(59)

where \(\Gamma = \frac{\left( 1 + k_{m}\left( \frac{(P_{1} + P_{2} - 2 P_{\text {atm}})A^{2}r^{2}}{A r\theta + V_{0}} - \frac{k}{n} + k_{p} \right) \right) }{k_{m}A r h(\theta )}\). In order to define \(\Delta \), we compute the time derivative of \({\widehat{\eta }} = P_{2}/(P_{1} + P_{2})\) substituting (49), which yields

$$\begin{aligned} \dot{{\widehat{\eta }}} = \frac{P_{1}\dot{P_{2}} - P_{2}\dot{P_{1}}}{\left( P_{1} + P_{2} \right) ^{2}} = k_{I}\left( \gamma ^{*} - \gamma \right) . \end{aligned}$$
(60)

Substituting (59) into (60) yields

$$\begin{aligned}&P_{1}\left( - \frac{\Delta }{k_{m}}{\dot{\theta }} - k_{i}^{'}\varsigma \right) - P_{2}\left( \frac{\Delta }{k_{m}}{\dot{\theta }}- k_{i}\varsigma - \Gamma {\dot{\theta }} \right) \nonumber \\&\quad = k_{I}\left( \gamma ^{*} - \gamma \right) \left( P_{1} + P_{2} \right) ^{2}. \end{aligned}$$
(61)

Computing \(\Delta \) from (61) yields finally

$$\begin{aligned} \frac{\Delta {\dot{\theta }}}{k_{m}}= & {} \frac{- k_{I}\left( \gamma ^{*} - \gamma \right) \left( P_{1} + P_{2} \right) ^{2}}{P_{1} + P_{2}} \nonumber \\&-\, \frac{ \left( P_{1}k_{i}^{'} - P_{2}k_{i} \right) \varsigma + \Gamma {\dot{\theta }}P_{2}}{P_{1} + P_{2}}. \end{aligned}$$
(62)

Computing \(u_{1}\) and \(u_{2}\) from (57) and (58) while substituting (62) and assuming \(k_{i} = k_{i}^{'}\) for conciseness yields the complete control law

$$\begin{aligned} u_{1}=&{} \frac{P_{1}Ar{\dot{\theta }}}{R_{s}T} - \frac{V_{0} + Ar\theta }{R_{s}T} k_{I}\left( \gamma ^{*} - \gamma \right) \left( P_{1} + P_{2} \right) \nonumber \\&+\, {{\widetilde{\delta }}}_{1}^{'} - \frac{V_{0} + Ar\theta }{R_{s}T}\left( k_{i}\varsigma + \frac{k_{i}\left( P_{1} - P_{2} \right) \varsigma - \Gamma {\dot{\theta }}P_{2}\ }{P_{1} + P_{2}}\ \right. \nonumber \\&\left. -\,{\dot{\theta }} \left( \frac{\frac{1}{k_{m}} + \left( \frac{\left( P_{1} + P_{2} - 2P_{\text{ atm }} \right) A^{2}r^{2}}{Ar\theta + V_{0}} - \frac{k}{n} + k_{p} \right) }{Ar h(\theta )}\right) \right) , \nonumber \\ u_{2}=&{} {{\widetilde{\delta }}}_{2}^{'} + \frac{P_{2}Ar{\dot{\theta }}}{R_{s}T} - \frac{V_{0} + Ar\theta }{R_{s}T}k_{i}\varsigma \nonumber \\&+\, \frac{V_{0} + Ar\theta }{R_{s}T} k_{I}\left( \gamma ^{*} - \gamma \right) \left( P_{1} + P_{2} \right) \nonumber \\&+\, \frac{V_{0} + Ar\theta }{R_{s}T}\left( \frac{k_{i}\left( P_{1} - P_{2} \right) \varsigma - \Gamma {\dot{\theta }}P_{2}\ }{P_{1} + P_{2}} \right) , \end{aligned}$$
(63)

where \({{\widetilde{\delta }}}_{1}^{'}\) and \({{\widetilde{\delta }}}_{2}^{'}\) are given by (22), \(\varsigma \) is given by (52) and contains the adaptive estimate \({{\widehat{\delta }}}_{0}\) computed with (17). The general case \({A_{1} \ne A}_{2}\) is conceptually similar and is omitted for brevity.

4.2 Stability analysis

The stability of the closed-loop system (53) is discussed in this section using a similar procedure to Proposition 1.

Proposition 3

Consider system (48) under Assumptions 16 in closed-loop with the control law (63) and with the adaptive laws (17) and (22). Define the tuning parameters \(k_{i}=k_{i}^{'},k_{m},\alpha ,\alpha ^{'}\) such that the symmetric matrix

$$\begin{aligned}&\Theta ^{'} =\begin{bmatrix} \frac{I D_{0}^{'}}{k_{m}} &{}{} 0 &{}{} 0 &{}{} \star &{}{} 0 &{}{} 0 \\ 0 &{}{} \frac{D_{1}}{k_{m}} &{}{} 0 &{}{} \star &{}{} 0 &{}{} 0 \\ 0 &{}{} 0 &{}{} 2k_{i}Ar h(\theta ) &{}{} 0 &{}{} \star &{}{} \star \\ - \frac{ 1 + \Sigma _{0} k_{m}}{{2k}_{m}} &{}{} - \frac{\alpha c_{2}m_{T}l_{T}^{2}}{4} &{}{} 0 &{}{} \alpha &{}{} 0 &{}{} 0 \\ 0 &{}{} 0 &{}{} - \frac{Ar h(\theta )}{2} &{}{} 0 &{}{} \alpha ^{'} &{}{} 0 \\ 0 &{}{} 0 &{}{} - \frac{Ar h(\theta )}{2} &{}{} 0 &{}{} 0 &{}{} \alpha ^{'} \end{bmatrix}\nonumber \\ \end{aligned}$$
(64)

is positive definite for some values \(0< c_{1},c_{2} < 1\), where \( h(\theta )= (1 + \log ( 1 + \frac{Ar \theta }{V_{0}} ) )\), \( D_{0}^{'}=\left( D_{0} - \alpha c_{1}m_{T}l_{T}^{2} - \sigma _{0} \right) \), and \(\Sigma _0 = \alpha ^{2}c_{1}m_{T}l_{T}^{2} + \alpha \sigma _{0} \). Then, the equilibrium point \(\left( \theta ,\gamma ,{\dot{\theta }},{\dot{\gamma }} \right) = \left( \theta ^{*},\gamma ^{*},0,0 \right) \) is stable and \((\theta ,\gamma )\) converge to \((\theta ^{*},\gamma ^{*})\) asymptotically for all \(k_{p},k_{m} > 0\) and for all \(k_{I} > \varrho _{1}\). Additionally, it follows that \(\theta ^{*} = \text {argmin}\left\{ \Omega _{d} \right\} \) for all \(k_{p},k_{m} > 0\).

Proof

Define the Lyapunov function candidate \({\Psi ^{'} = H}_{d}^{'} + \Upsilon + \Upsilon _{1}^{'} + \Upsilon _{2}^{'}\), where \(\Upsilon _{1}^{'}\) and \(\Upsilon _{2}^{'}\) refer to the estimates of the outflows \(\delta _{1}^{'}\) and \(\delta _{2}^{'}\) in the pressurized chambers and correspond to the estimation errors \(z_{1}^{'},z_{2}^{'}\). Computing the time derivative of \(\Psi ^{'}\) along the trajectories of the closed-loop system (53) yields

$$\begin{aligned} \dot{\Psi ^{'}}\le & {} - \nabla _{p}{H_{d}^{'}}^{T}k_{m}D\nabla _{p}H_{d}^{'} - \frac{k_{i}}{Ar h(\theta )}\nabla _{P_{1}}{H_{d}^{'}}^{2} \nonumber \\&-\, \frac{k_{i}^{'}}{Ar h(\theta )}\nabla _{P_{2}}{H_{d}^{'}}^{2} - \alpha ^{'}{z_{1}^{'}}^{2} - \alpha ^{'}{z_{2}^{'}}^{2} + \nabla _{P_{1}}H_{d}^{'}z_{1}^{'} \nonumber \\&+\, \nabla _{P_{2}}H_{d}^{'}z_{2}^{'} - \alpha z^{2}{+ \nabla }_{p}{H_{d}^{'}}^{T}(z + \alpha p - \sigma )\nonumber \\&+\, \alpha |z|\left( \frac{1}{2}\nabla _{q}\left| p^{T}M^{- 1}p \right| + \alpha |p| + \left| \sigma \right| \right) . \end{aligned}$$
(65)

Substituting in (65) the inequalities \(|p| \le c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| \) and \(\nabla _{q}\left| p^{T}M^{- 1}p \right| \le c_{2}m_{T}l_{T}^{2}\left| {\dot{q}} \right| ^{2}\) with the constants \(0< c_{1},c_{2} < 1\), recalling that by hypothesis \(|\sigma | \le \sigma _{0}\left| {\dot{q}} \right| \), and refactoring common terms yields

$$\begin{aligned} \dot{\Psi ^{'}}\le & {} - \frac{1}{k_{m}}\left( D_{0} + D_{1}\left| {\dot{q}} \right| ^{2} \right) {{\dot{q}}}^{2} - \alpha z^{2} \nonumber \\&+\, \varsigma Ar h(\theta )\left( z_{1}^{'} + z_{2}^{'} \right) - (k_{i} + k_{i}^{'})\varsigma ^{2}Ar h(\theta ) - \alpha ^{'}{z_{1}^{'}}^{2}\nonumber \\&-\, \alpha ^{'}{z_{2}^{'}}^{2} + \frac{1}{k_{m}}\left| {\dot{q}} \right| ^{T}\left( z + \alpha c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| + \sigma _{0}\left| {\dot{q}} \right| \right) \nonumber \\&+\, \alpha |z|\left( c_{2}m_{T}l_{T}^{2}\left| {\dot{q}} \right| ^{2}/2 + \alpha c_{1}m_{T}l_{T}^{2}\left| {\dot{q}} \right| + \sigma _{0}\left| {\dot{q}} \right| \right) , \end{aligned}$$
(66)

which can be rewritten in compact form as

$$\begin{aligned} {{\dot{\Psi }}^{'}} \le - {x^{'}}^{T}\Theta ^{'}x^{'}, \end{aligned}$$
(67)

where \({x^{'}}^{T} = \begin{bmatrix} {{\dot{q}}}^{T}&{({{\dot{q}}}^{2})}^{T}&\varsigma&z&z_{1}^{'}&z_{2}^{'} \end{bmatrix}\) and \(\Theta ^{'}\) is given by (64). Consequently \({{\dot{\Psi }}^{'}} \le 0\), thus \(x'\) is bounded and converges to zero asymptotically, and the equilibrium point \(x^{'} = 0\) is stable. Computing (53) for \(x^{'} = 0\) results in \(\nabla _{q}\Omega _{d} = 0\) and computing the minimizer conditions yields again (30) which hold true for all \(k_{p},k_{m} > 0\). Finally, it follows from Lemma 3 that \({\widehat{\eta }} = P_{2}/(P_{1} + P_{2})\) converges to \(\eta ^{*}\) for all \(k_{I} > \varrho _{1}\), where \(\gamma ^{*} = f(\eta ^{*})\). Thus \((\theta ,\gamma )\) converge to \((\theta ^{*},\gamma ^{*})\) asymptotically concluding the proof \(\square \)

Fig. 2
figure 2

Simulation results for system (4) with different values of \(D_{0}\): a time history of the tip rotation \(\theta \) with the new controller (16); d corresponding control input; b time history of \(\theta \) with controller (40); e corresponding control input; c time history of \(\theta \) with PID algorithm (44); f corresponding control input

Fig. 3
figure 3

Simulation results for system (4) with the new proposed controller (16): a time history of the tip rotation \(\theta \) for different values of \(k_{p}\) and \(k_{m}\); d control input; b time history of \(\theta \) for different values of \(k_{i}\); e control input; c time history of \(\theta \) for different values of \(\alpha \) and \(\alpha ^{'}\); f corresponding control input. The tuning parameters are \(k_{p} = 0.5;k_{m} = 2.5;k_{i} = 20;\ \alpha = 4;\ \alpha ^{'} = 2.5\) unless otherwise stated in the legend

5 Simulation and experimental result

5.1 Simulations

Simulations have been conducted in MATLAB for the planar system (4) and for the 3D system (48) with \(n = 3\) employing the model parameters \(k = 2,A = 10,r = 0.003\), and \(D_{0} = 0.03, D_{1} = 0.01\) for illustrative purposes. The model consists of \(n = 3\) virtual links of equal length with mass concentrated at their midpoint for simplicity, such that the total mass and the total length of the rigid links are \(m_{T} = 1.5\) and \(l_{T} = 0.1\). These values refer to an ideal soft continuum pneumatic manipulator and have been chosen to better highlight the differences between the control algorithms. The links at rest are collinear (i.e. \(q = 0\)), the effect of gravity is neglected, and an unmodelled force \(f_{0} = 2\) parallel to the neutral axis at rest acts on the tip of the manipulator resulting in a bending moment against the direction of positive \(\theta \). The remaining parameters are the dead volume \(V_{0} = 10Al_{T}\), the gas constant for air \(R_{s} = 287\), the temperature in Kelvin \(T = 293\), and the supply pressure in bar \(P_{0} = 6\). The tuning parameters for controller (16) have been set as \(k_{p} = 0.5;k_{m} = 2.5;k_{i} = 30;\ \alpha = 4;\ \alpha ^{'} = 2.5\). These values ensure \(\Theta > 0\) in (31) for all \(\sigma _{0} \le D_{0}/15\). The parameters of controller (40) have been set as \(k_{p} = 0.5;k_{m} = 2.5;k_{i} = 5;\ \alpha = 4;\ \alpha ^{'} = 2.5\) to achieve a similar response to that of controller (16). Similarly, the parameters of the PID algorithm (44) have been chosen empirically as \(K_{p} = 50;K_{d} = 10;K_{i} = 10\) to obtain a comparable response.

The simulation results in Fig. 2 show the time histories of the tip rotation \(\theta \) for system (4) highlighting the effect of the physical damping \(D_{0}\), which is instrumental to stability (see Remark 1). All controllers correctly achieve the regulation goal. In particular, controller (16) results in a smooth transient for both values of \(D_{0}\). Controller (40) results in comparable performance to (16) when \(D_{0} = 0.03\), but it leads to vibrations when \(D_{0} = 0.01\). The PID (44) results in a larger control input during the transient, and it also leads to vibrations in case of lower \(D_{0}\). In summary, the simulation results indicate that the control law (16) is less sensitive to physical damping. It must be noted that the improved performance of controller (16) is due to the proposed controller design procedure, which applies the IDA-PBC methodology in a multi-step fashion. The adaptive observers (17) and (22), although important to achieve the prescribed regulation goal, are not responsible for the difference in performance since they are common to the backstepping design (40). This observation complements the findings of our previous works [12, 13, 15], which have shown that similar performance can be achieved for this class of systems by combining different adaptive observers with the same energy-based control law.

The effect of the tuning parameters in the control law (16) is shown in Fig. 3. A larger \(k_{m}\), a larger \(k_{p}\), and a larger \(k_{i}\) result in a faster transient at the cost of a higher control action but they do not trigger vibrations. In particular, a larger \(k_p\) results in a steeper gradient of the potential energy \(\Omega _d\), while a larger \(k_m\) results in a larger closed-loop inertia. Instead, a larger \(k_i\) increases the convergence rate for the term \(\varsigma \) (see Remark 2). The parameters \(\alpha \) and \(\alpha ^{'}\) have a less noticeable effect on performance, provided they meet the stability conditions outlined in Proposition 1 and in Remark 1. This result is in line with our previous work [12, 13] and it highlights the benefits of the I&I methodology [1], which allows designing the observer independently from the control law.

Figure 4 shows the time histories of the in-plane rotation \(\theta \) and of the out-of-plane rotation \(\gamma \) for system (48). Also in this case, the unmodelled tip force \(f_{0} = 2\) generates a moment on the bending plane against the direction of positive \(\theta \). The tuning parameters in (63) have been set similarly to (16), that is \(k_{p} = 0.5;k_{m} = 2.5;k_{i} = k_{i}^{'} = 20;k_{I} = 20;\ \alpha = 4;\ \alpha ^{'} = 2.5\). In this case the PID algorithm (44) has been employed to compute \(u_{1}\) and \(u_{2}\), where the former depends on \(\theta \) and the latter on \(\gamma \), with the parameters \(K_{p} = 50,K_{d} = 10,\) and \(K_{i} = 10\). Both controllers achieve the regulation goal in a smooth fashion with the chosen parameters: the control law (63) results in a faster convergence of \(\theta \) and \(\gamma \); conversely, the PID leads to slower response and also requires a larger control input during the transient. Increasing the proportional gain in the PID (e.g. \(K_{p} = 100\)) leads to faster convergence but also to larger vibrations in \(\theta \), which are undesirable. Since the simulations indicate that controller (16) is preferable to controller (40), the latter has not been extended to the regulation in 3D.

Fig. 4
figure 4

Simulation results for system (48): a time history of the tip rotations \(\theta \) and \(\gamma \) with the new proposed controller (63); c corresponding control input; e absolute pressures in the internal chambers; b time history of \(\theta \) and \(\gamma \) with PID (44); d corresponding control input; f absolute pressures in the internal chambers

Fig. 5
figure 5

Simulation results for system (48): a time history of the tip rotations \(\theta \) and \(\gamma \) with the new controller (63); d corresponding control input; b time history of \(\theta \) and \(\gamma \) with SMC [2]; e corresponding control input; c time history of \(\theta \) and \(\gamma \) with PID (44); f and control input

Figure 5 shows the comparison between controller (63), the PID (44), and the SMC algorithm [2] reported below

$$\begin{aligned} u= & {} -k \theta ^{*} - K_{e}{\dot{\theta }} + K_{i}\left( \theta ^{*} - \theta \right) \nonumber \\&+\, \tanh {\left( \frac{S}{\mu }\right) } \left( D_0 |{\dot{\theta }}| + k |\theta ^{*} - \theta | + \beta _0\right) ,\nonumber \\ S= & {} {\dot{\theta }}-K_e\left( \theta ^{*} - \theta \right) -K_i \int _{0}^{t}{\left( \theta ^{*} - \theta \right) d \tau }, \end{aligned}$$

in two different operating conditions corresponding to \(f_{0} = 2\) and \(f_{0} = 10\). The SMC algorithm has been employed to compute \(u_{1}\) and \(u_{2}\), where the former depends on \(\theta \) and the latter on \(\gamma \), while the function \(\tanh (\cdot )\) has been used to reduce chattering. The tuning parameters have been chosen empirically as \(K_{e}=5,K_{i}=30, \mu =10, \beta _0=5\) to achieve a similar response to controller (63) with the tip force \(f_{0} = 2\). The results indicate that the controller (63) produces a consistent response with the tip force \(f_{0} = 10\). Instead, the PID and SMC algorithms result in a slower convergence of \(\theta \) and in a noticeable overshoot on \(\gamma \) with \(f_0=10\). In addition, both PID and SMC produce a higher and more oscillatory control input compared to controller (63).

5.2 Experiments

The proposed control laws have been tested on a soft continuum pneumatic manipulator prototype that measures 6 mm in diameter, 30 mm in length, and that has an approximate mass \(m_{T} = 1.5\) grams. The tip rotations \(\theta \) and \(\gamma \) have been measured with an electromagnetic (EM) tracking system (Aurora, NDI, Canada) and an EM sensor (Aurora 5 DOFs sensor with 0.5-mm diameter and 8-mm length, part number 610061, Northern Digital Inc) that has a root mean square (RMS) accuracy of \(0.2{^\circ }\). The flow rate to the internal chambers is provided by a needle valve (part number 7770 06 00, Legris) operated by a servo motor (Servomotor RC 6V, Parallax Inc) as shown in Fig. 1c. The pressure relative to atmosphere is measured with a pressure sensor (MPX2200GP, NXP Semiconductors), as shown in Fig. 1b. A MATLAB script records the pressure measurement, the tip rotations \(\theta \) and \(\gamma \), and sends the control signal to the servo motor using an embedded microcontroller (mbed NXP LPC1768, NXP Semiconductors) via serial link (baud rate 921600). A manual pressure regulator is employed to set the supply pressure to a constant value \(P_{0} = 4\) bar. It must be noted that, differently from the simulations, the control input \(u\) in the experiment is a normalized signal between 0 and 1 that corresponds to the position of the servo motor between 0 and \(180{^\circ }\). In isothermal and choked flow conditions (see Assumption 1) the mass flow rate from an orifice can be expressed as \(Q = CP_{0}\rho _{0}\), where \(C\) is the conductance of the orifice and \(\rho _{0}\) the density of the gas [30]. For simplicity it is assumed that the conductance varies with the control input \(u\) in a linear fashion, that is \(C = C_{0}u\) where \(C_{0} = 1\). To avoid damaging the prototype, the exhaust valves have been set such that the absolute pressure in the internal chambers is smaller than 3 bar when the position of the servo motor is \(180{^\circ }\). According to Assumption 5, two chambers are left at atmospheric pressure for the experiments in 2D, that is \(P_{2} = P_{3} = P_{\text {atm}}\), while only one chamber is at atmospheric pressure for the experiments in 3D, that is \(P_{3} = P_{\text {atm}}\). In the latter case, two needle valves with servo motors and two corresponding exhaust valves have been employed to pressurize two chambers of the prototype.

The control laws have been implemented with the model parameters \(m_{T} = 1.5\), \(l_{T} = 0.03\), \(k = 1\), \(D_{0} = 0.03\), \(D_{1} = 0.015\), which have been estimated experimentally [14]. The remaining model parameters are the same as in the simulations. The tuning parameters in the control laws (16) and (40) have been set as in the simulations, that is \(k_{p} = 0.5;k_{m} = 2.5;\ \alpha = 4;\ \alpha ^{'} = 2.5\) with \(k_{i} = 30\) for (16) and \(k_{i} = 5\) for (40). The parameters of the PID (44) have been set empirically as \(K_{p} = 50,K_{d} = 5,K_{i} = 70\) to obtain a comparable response. For the experiments in 3D, the tuning parameters of controller (63) have been set in a similar way to the simulations, that is \(k_{p} = 0.5;k_{m} = 2.5;k_{i} = k_{i}^{'} = 30;k_{I} = 30;\ \alpha = 4;\ \alpha ^{'} = 2.5\). In this case the PID algorithm (44) has been employed to compute both \(u_{1}\) and \(u_{2}\), where the former depends on \(\theta \) and the latter on \(\gamma \), using the parameters \(K_{p} = 100;K_{d} = 5;K_{i} = 100\). These values have been chosen empirically in an attempt to achieve a comparable response to that of controller (63). The SMC algorithm [2] has not been employed in the experiments since the simulations indicate that it yields a similar performance to the PID.

The system response on the bending plane with the control laws (16) and (40) and with the PID (44) is shown in Fig. 6. With the chosen tuning parameters, the response is similar for all controllers. Nevertheless, the PID results in small vibrations in \(\theta \) that also appear in the control input and that affect the pressure dynamics. Controllers (16) and (40) lead to a similar response due to the large damping of the system, as anticipated by the simulation results. In the presence of an unmodelled external load due to a mass \(m_{0} = 3.5\) g attached at the tip of the manipulator, the angle \(\theta \) requires a longer time to reach the prescribed value with all controllers. However, the difference is less noticeable with the proposed controller (16). Further experimental results that refer to a different setpoint \(\theta ^{*}\) are shown in Fig. 7. In this case, the transient response for controllers (16) and (40) is similar. Instead, the response with the PID is noticeably different from Fig. 6 and it is characterized by a more oscillatory nature during the transient and in proximity of the equilibrium. In summary, the results suggest that the control law (16) leads to a more consistent response for different setpoints \(\theta ^{*}\) and in the presence of disturbances, while the PID might have to be re-tuned depending on the operating condition.

Fig. 6
figure 6

Experimental results showing the regulation on the bending plane: a time history of the tip rotation \(\theta \) with the new proposed controller (16); d corresponding control input; g pressure \(P_{1} - P_{\text {atm}}\); b tip rotation \(\theta \) with controller (40); e corresponding control input; h pressure \(P_{1} - P_{\text {atm}}\); c tip rotation \(\theta \) with PID (44); f corresponding control input; i pressure \(P_{1} - P_{\text {atm}}\). The tip mass is \(m_{0} = 3.5\) grams

Fig. 7
figure 7

Experimental results showing the regulation on the bending plane: a time history of the tip rotation \(\theta \) with the new proposed controller (16); d corresponding control input; g pressure \(P_{1} - P_{\text {atm}}\); b tip rotation \(\theta \) with controller (40); e corresponding control input; h pressure \(P_{1} - P_{\text {atm}}\); c tip rotation \(\theta \) with PID (44); f corresponding control input; i pressure \(P_{1} - P_{\text {atm}}\). The tip mass is \(m_{0} = 3.5\) grams

Fig. 8
figure 8

Experimental results showing the regulation in 3D: a time history of the tip rotations \(\theta \) and \(\gamma \) with the new proposed controller (63); c control input; e pressures relative to atmosphere; b tip rotations \(\theta \) and \(\gamma \) with PID algorithm (44); d control input; f pressures relative to atmosphere. The tip mass is \(m_{0} = 3.5\) grams

The experimental results for the prototype in 3D are shown in Fig. 8. The controller (63) and the corresponding PID correctly achieve the regulation goal in the presence of the external load due to the tip mass \(m_{0} = 3.5\) grams, which affects the system dynamics predominantly on the bending plane. With the tuning employed, the PID leads to noticeable vibrations in \(\theta \), both during the initial transient and around the equilibrium. Instead, the controller (63) results in a smooth time history of the tip angles and of the pressures in the internal chambers. In particular, the transient response of \(\theta \) is similar to that in Fig. 7. Differently from the simulations, a small overshoot occurs on \(\gamma \) and it is ascribed to the differences between the two needle valves supplying the two chambers (e.g. different friction forces and different conductance of the corresponding orifices). Nevertheless, this does not trigger unwanted vibrations.

For completeness, Fig. 9 shows that the proposed controller (16) yields similar performance to our previous implementation which relies on digital pressure regulators [12]

$$\begin{aligned} u = \frac{k}{n}\theta + k_{p} \left( \theta ^{*} - \theta \right) - \frac{k_v}{k_m}{\dot{\theta }} + G^{\dagger }{{\widehat{\delta }}}_{0}, \end{aligned}$$

where \({{\widehat{\delta }}}_{0}\) is computed from (17). In both cases the tip rotation \(\theta \) reaches the prescribed value without overshoot: the settling time is approximately 6.5 seconds for controller (16), while it is approximately 5 seconds for controller [12] with the tuning parameters employed (i.e. \( k_{p} = 0.3;k_{m} = 20;k_{v} = 1;\alpha = 10 \)). This difference is due to the faster response of the digital pressure regulator (\(\approx \) 10 ms) compared to the servo motor with the needle valve. It must be noted that the control input represents the position of the servo motor for controller (16), while in [12] it corresponds to the output pressure of the digital pressure regulator, thus it is not directly comparable.

Fig. 9
figure 9

Experimental results showing the regulation on the bending plane without tip mass for controller (16) indicated as ‘Needle valve’ and for our previous implementation [12] indicated as ‘Pressure regulator’: a time history of the tip rotation \(\theta \); b control input

Compared to the simulations, the experimental results show a slower response with all controllers. This is due to the following factors: the model uncertainties and the disturbances affecting the system in the experiments also include the weight of the prototype, the structural stiffness, and the unknown conductance of the needle valve; a lower supply pressure \(P_{0}\) has been employed to avoid damaging the prototype; the response of the servo motor is not instantaneous. In particular, employing a lower \(P_{0}\) limits the pressure in the internal chambers thus reducing the responsiveness. In addition, while the effect of the control input is instantaneous in the simulations, the servo motor has a nominal maximum speed of 140 rpm at no-load, and the experimental measurements indicate that a \(180{^\circ }\) rotation takes approximately 0.7 seconds when the motor shaft is attached to the needle valve. Finally, the valve conductance might not change linearly with the position of the servo motor, which has also a non-negligible dead-band. In this respect, employing a faster servo motor with a specially designed needle valve could further improve the performance with all controllers and shall be investigated in our future work.

6 Conclusion

This paper presented a new energy-based control strategy for a class of soft continuum pneumatic manipulators that can bend on any plane. The controller design procedure employs the IDA-PBC methodology in a multi-step fashion to account for the pressure dynamics of the pneumatic actuation. Nevertheless, we believe that the proposed approach has a more general value, and it could be applied to other types of actuation (e.g. hydraulic). The simulation results indicate that the proposed controllers correctly achieve the regulation goal without triggering vibrations. In comparison, an alternative control law that has been constructed with a backstepping method can lead to unwanted vibrations for systems with smaller physical damping. A comparative simulation study with a PID and an SMC algorithm suggests that the proposed controller achieves the regulation goal with a smoother control action, and that the transient performance is less affected by external disturbances. The validity of the proposed approach has been confirmed with experiments on a prototype in the presence of unmodelled external forces acting on the bending plane and due to a tip mass. The comparison with a PID algorithm indicates that the proposed controllers lead to a more consistent performance across different operating conditions, without changing the tuning parameters. The experimental results also confirm that employing a needle valve operated by a small servo motor allows achieving the regulation goal, thus it could represent an alternative to digital pressure regulators. This approach could help reducing the cost of soft robotic systems thus promoting their adoption in low-income countries.

It should be noted that this study has some limitations. Firstly, the choked flow conditions might not be verified in the presence of larger disturbances, since the control laws would cause the pressure in the internal chambers of the manipulator to reach values comparable to the supply pressure. Similarly, the gas might deviate slightly from isothermal conditions in case of faster pressure variations or larger flow rates. In addition, the simplifying assumptions made on the valve conductance for the purpose of the experiments introduce model uncertainties. Furthermore, the servo motor used to operate the needle valve has limited responsiveness and limited range, thus the control action could suffer from saturation effects. Finally, the tracking system employed in the experiments has a limited range, its working principle makes it susceptible to interferences with ferromagnetic materials, and the sensors are comparatively expensive. Future work will aim to remove some of the simplifying assumptions introduced in this paper, such as those of isothermal conditions and choked flow, to integrate proprioceptive sensing in our prototypes, and to develop a bespoke needle valve. We also plan to extend the control formulation to tracking tasks and to apply it to more complex soft robotic systems consisting of multiple manipulators connected in series and in parallel as well as to soft manipulators that can produce twisting moments. Finally, we aim to compare the proposed controllers with a wider range of competitor solutions as part of a larger experimental study that considers different types of disturbances.