1 Introduction

Unmanned aerial manipulators (UAMs) consist of unmanned aerial vehicles (UAVs) coupled with one or more robotic manipulators. These aerial robots expand the workspace of a robotic manipulator to encompass the entire accessible (i.e., obstacle-free) tridimensional space. They have a vast potential to perform tasks such as grasping objects, load transportation and sensor deployment, especially in remote, hard to access and hazardous environments (Orsag et al. 2018; Ollero and Siciliano 2019).

Despite the advantages, the control design for UAMs is challenging. These systems are, usually, underactuated with highly coupled and complex nonlinear dynamics. In addition, UAMs operate under disturbances caused by aerodynamic effects, unmodeled dynamics and parametric uncertainties, as well as displacements of the center of mass (CoM) generated by the movements of the robotic arm. As a consequence, robust controllers are required to achieve acceptable performance.

In the literature, most studies dealing with control design for UAMs employ hierarchical controllers based on simplified models, with one control loop for the UAV and another for the robotic manipulator. Heredia et al. (2014) design a backstepping controller for the UAV and an admittance controller for the robotic arm; also in Jimenez-Cano et al. (2013), the same backstepping controller of Heredia et al. (2014) is used for the UAV, while a PID controller is designed for the robotic arm. Chaikalis et al. (2020) propose a hierarchical control strategy, in which an adaptive backstepping controller with gravity compensation is designed based on simplified UAV dynamics, and a separate adaptive backstepping controller is developed for the manipulator arm. Admittance-based control structures are also found in Ryll et al. (2017); Zhang et al. (2018); Coelho et al. (2020); Slightam et al. (2021); Smrcka et al. (2021).

Still concerning hierarchical methods, passivity-based control strategies have also been used for control design of UAMs. Acosta et al. (2014) propose a robust passivity-based hierarchical controller, which ensures stability to the system with the robotic arm locked. The same authors present in Acosta et al. (2020) a nonlinear cascade control structure with a passivity-based controller for the UAV and an inverse kinematic controller with integral action for the robotic manipulator. In addition to these control techniques, Ballesteros-Escamilla et al. (2019) propose an adaptive controller based on a PD structure for the trajectory tracking of a UAM, and Nava et al. (2020) present an outer-loop PID controller for the UAV and an inner-loop controller based on multi-task optimization for a manipulator.

Although less prevalent, another approach that has been used to control UAMs is based on the multi-body model obtained from the UAV perspective, which takes into account the coupling between the UAV and the robotic manipulator. Mello et al. (2016) propose a cascade control strategy with an outer-loop kinematic controller designed based on the dual-quaternion algebra and an inner-loop dynamic controller designed based on input–output partial feedback linearization with a linear \({\mathscr {H}}_{\infty }{}\) controller used as the auxiliary control law. Moreover, in our previous work (Morais et al. 2020), we present the multi-body model of a UAM obtained from the UAV perspective, from which robust nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers are designed for trajectory tracking. These controllers are compared and validated in a hardware-in-the-loop (HIL) simulation.

On the one hand, the aforementioned hierarchical control strategies based on simplified models of the UAM have some drawbacks. By using decoupled models of the UAV and the manipulator, the dynamical coupling effects are assumed as disturbances for the control design, degrading its performance. On the other hand, the control strategies based on the multi-body model obtained from the UAV perspective (Mello et al. 2016; Morais et al. 2020) do consider the systems dynamical coupling; however these control strategies still require the usage of outer layers in order to track references of the end-effector. To address these issues, this work proposes a single-layer controller based on the multi-body dynamics of the UAM modeled from the perspective of the end-effector.

As previously mentioned, UAMs require robust controllers in order to achieve acceptable performance. A usual approach used to deal with uncertainties in the control design stage is the nonlinear \({\mathscr {H}}_{\infty }{}\) control strategy (van der Schaft 2000). Some applications of this control technique to underactuated mechanical systems are found in Siqueira and Terra (2004); Raffo et al. (2011, 2015). Nevertheless, as stated in Chilali and Gahinet (1996), the \({\mathscr {H}}_{\infty }{}\) control strategy deals mostly with the aspect of the highest gain that the system gives to the disturbances and provides little control over the transient behavior of the system. To overcome this issue, Aliyu and Boukas (2011) proposed the formulation of the \({\mathscr {H}}_{\infty }{}\) controller in the Sobolev space \(\mathscr {W}{}_{m,p}\) for the general class of nonlinear systems. This approach was later particularized for mechanical systems and extended to the weighted Sobolev space in Cardoso et al. (2018). Furthermore, in Cardoso et al. (2021), the \({\mathscr {W}_{\infty }}{}\) control theory was refined and formulated for reduced and underactuated systems with input coupling. The motivation behind this novel control approach is to consider the dynamics of the system in the cost functional to obtain a controller that provides better transient performance with fast reaction against external disturbances. These features make the novel \({\mathscr {W}_{\infty }}{}\) control strategy even more attractive for the control design of UAMs.

Therefore, aiming to perform trajectory tracking of the end-effector and achieve robustness against disturbances with fast transients, this paper designs two single-layer controllers for a UAM, one based on the classic nonlinear \({\mathscr {H}}_{\infty }{}\) control approach and the other based on the novel nonlinear \({\mathscr {W}_{\infty }}{}\) one. The efficiency of the proposed controllers is demonstrated via numerical experiments conducted in a HIL framework using the ProVANT simulator. The ProVANT simulatorFootnote 1 is a software developed at Federal University of Minas Gerais (UFMG) and released under the MIT open-source license. This software was created with the primary goal of providing simulations with visual feedback of control strategies designed for UAVs. Comparison analyses between the nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) single-layer controllers are also performed to highlight their advantages and disadvantages in the case study.

Summarizing, the main contributions of this paper are: (i) the multi-body dynamical modeling of the UAM from the perspective of its end-effector, using the Euler–Lagrange formalism; (ii) the proposal of two single-layer nonlinear controllers, based on the nonlinear \({\mathscr {H}}_{\infty }{}\) and the novel nonlinear \({\mathscr {W}_{\infty }}{}\) control approaches, for robust trajectory tracking of the UAM end-effector; (iii) the validation of the proposed single-layer controllers in a HIL framework using the ProVANT Simulator, resulting in soft real-time control systems that are ready for implementation in the real system.

The remainder of the paper is structured as: Section 2 develops the multi-body modeling of the UAM from the perspective of its end-effector; Sect. 3 presents the design of the single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers for the UAM; Sect. 4 describes the simulation environment, performs the HIL numerical experiments, and presents the comparative analysis between the \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers. Finally, Sect. 5 concludes the work and proposes future works.

Notation: The notation used in this paper is quite standard. Italic lowercase letters denote scalars, boldface italic lowercase letters denote vectors, and boldface italic uppercase letters denote matrices; \((\cdot )'\), \((\cdot )^{-1}\), and \((\cdot )^{\dagger }{}\) stand, respectively, for the transpose, inverse, and Moore–Penrose pseudo-inverse of the element \((\cdot )\); \({\mathbb {N}} \triangleq \{1,2,\ldots \}\), \({\mathbb {R}} \triangleq (-\infty , \infty )\), \({\mathbb {R}}_{\ge 0} \triangleq [0, \infty )\), \({\mathbb {R}}^n \triangleq \{\varvec{r} = [r_1 \; \ldots \; r_n]':r_i \in {\mathbb {R}}\}\), and \({\mathbb {R}}^{n\times m} \triangleq \{\varvec{R} = [\varvec{r}_1 \;\ldots \;\varvec{r}_m]:\varvec{r}_i \in {\mathbb {R}}^n\}\); SO(3) denotes the group of all rotations about the origin of three-dimensional Euclidean space \({\mathbb {R}}^3\), and \({\varvec{{R}}}_{x,\phi }\), \({\varvec{{R}}}_{y,\theta }\), and \({\varvec{{R}}}_{z,\psi }\) denote rotation matrices of angles \(\phi \), \(\theta \), and \(\psi \) around \(\vec {x}\), \(\vec {y}\), and \(\vec {z}\) axes, respectively; \({\mathbb {O}}\) and \({\mathbbm {1}}{}\) are, respectively, zero and identity matrices with appropriate dimension; \({{\,\mathrm{diag}\,}}(\cdot )\) is a diagonal matrix whose diagonal elements are given in parentheses, and all off-diagonal elements are zero; similarly, \({{\,\mathrm{blkdiag}\,}}(\cdot )\) represents a block diagonal matrix whose diagonal elements are square matrices given in parentheses, and all off-diagonal blocks are zero matrices; \(\varvec{z}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{n_z}\) is a time-varying function, and \(\dot{\varvec{z}}(t) \triangleq {d\varvec{z}(t)}/{dt}\) denotes its time derivative. Let \(t \in {\mathbb {R}}_{\ge 0}\) and \(p \in {\mathbb {N}}\cup \{\infty \}\), if \(\varvec{z}(t) \in {\mathcal {L}}_p[0,\infty )\), then \(||\varvec{z}(t)||_{{\mathcal {L}}_p} \triangleq \left( \int _{0}^{\infty } \sum _{j = 1}^{n_z} |\varvec{z}_j(t)|^p~dt\right) ^{{1}/{p}} < \infty \), where \(\varvec{z}_j(t)\) is the element corresponding to the j-th row of the vector \(\varvec{z}(t)\); \(~||\varvec{z}(t)||_{{\mathcal {L}}_p,\varvec{\Lambda }} ~\triangleq ~\left( \int _{0}^{\infty } ||\varvec{\Lambda }^{1/p}\varvec{z}(t)||_p^p~dt\right) ^{{1}/{p}}\), with \(||\varvec{\Lambda }^{1/p}\varvec{z}(t)||_p \triangleq \left( \sum _{i=1}^{n_z}|\left( \varvec{\Lambda }^{1/p}\varvec{z}(t)\right) _i|^p\right) ^{1/p}\), in which \(\left( \varvec{\Lambda }^{1/p}\varvec{z}(t)\right) _i\) stands for the i-th element of the vector resulting from the product \(\varvec{\Lambda }^{1/p}\varvec{z}(t)\); let \(m \in {\mathbb {N}}\cup \{0\}\), then \(||\varvec{z}(t)||_{{\mathcal {W}}_{m,p,\varvec{\Gamma }}} \triangleq \big (\sum \limits _{\alpha = 0}^{m} ||{d^{\alpha }\varvec{z}(t)}/{dt^{\alpha }}||_{{\mathcal {L}}_p,\varvec{\Gamma }_\alpha }^p\big )^{{1}/{p}}\), with \(\varvec{\Gamma } \triangleq \{\varvec{\Gamma }_0, \ldots , \varvec{\Gamma }_m\}\).

2 System Modeling

This section develops the multi-body modeling (Shabana 2013) of the UAM from the perspective of its end-effector using the Euler–Lagrange formalism. The UAM is composed of a quadrotor UAV serially coupled with a planar manipulator with three revolution joints. Figures 1 and 2 illustrate the computer-aided design (CAD) model of the UAM and the planar manipulator, respectively.

In order to obtain the forward kinematic model (FKM), the UAM is assumed to be composed of four rigid bodies: the quadrotor UAV and the three links of the planar manipulator. Then, the following frames are rigidly attached to the system: the inertial reference frame (\({\mathcal {F}}_{{\mathcal {I}}}\)); frame (\({\mathcal {F}}_{{{\mathcal {L}}}_0}\)) attached to the geometric center of the quadrotor UAV; frame (\({\mathcal {F}}_{{{\mathcal {L}}}_i}\)), for \(i \in \{1,\; 2,\; 3\},\) attached to the i-th link of the planar manipulator according to the standard Denavit–Hartenberg (DH) convention; and the end-effector frame (\({\mathcal {F}}_{{{\mathcal {L}}}_4}\)).

Fig. 1
figure 1

Computer-aided design of the UAM and reference frames rigidly attached to obtain the FKM

Fig. 2
figure 2

Computer-aided design of the planar manipulator and reference frames rigidly attached to obtain the FKM. The frames \(\vec {z}\)-axis points inward to the page

In this work, the UAM equations of motion are obtained from the perspective of the end-effector. The end-effector has six degrees of freedom (DOF), which are grouped into the vector \({\varvec{{q}}}_{{{\mathcal {E}}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^6\), with \({\varvec{{q}}}_{{{\mathcal {E}}}}(t) \triangleq [\phi (t) \; \theta (t) \; \psi (t) \; x(t) \; y(t) \; z(t)] '{}\), where \(\phi (t)\), \(\theta (t)\), and \(\psi (t)\) are Euler angles with the ZYX convention about local axis, which are used to describe the orientation of \({\mathcal {F}}_{{\mathcal {L}}_4}\) w.r.t. \({\mathcal {F}}_{{{\mathcal {I}}}}\), and x(t), y(t), and z(t) are the position of \({\mathcal {F}}_{{\mathcal {L}}_4}\) along the \(\vec {x}\), \(\vec {y}\) and \(\vec {z}\) axes of \({\mathcal {F}}_{{{\mathcal {I}}}}\), respectively, in which \((\cdot )'{}\) denotes the transpose operator. The manipulator arm has three revolution joints, thus three DOF, that are grouped into the vector \({\varvec{{q}}}_{{{\mathcal {M}}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^3\), with \({\varvec{{q}}}_{{{\mathcal {M}}}}(t) \triangleq \begin{bmatrix} \beta _{1}(t)&\beta _{2}(t)&\beta _{3}(t) \end{bmatrix}'{}\), where \(\beta _{i}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}\) is the angular position of the i-th link w.r.t the (\(i-1\))-th link. Therefore, the vector of generalized coordinates that describes the system is given by \({\varvec{{q}}}{}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{9},\) with \({\varvec{{q}}}{}(t) \triangleq \begin{bmatrix}{\varvec{{q}}}{}_{{\mathcal {E}}}'{}(t)&{\varvec{{q}}}{}_{{\mathcal {M}}}'{}(t) \end{bmatrix}'{}\).

The FKM of the UAM is developed using homogeneous transformation matrices (HTM) (Jazar 2010). The position and orientation of \({\mathcal {F}}_{{{\mathcal {L}}}_4}\) w.r.t. \({\mathcal {F}}_{{\mathcal {I}}}\) are computed by the HTMFootnote 2

$$\begin{aligned} {\varvec{{H}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = \begin{bmatrix} {\varvec{{R}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} &{}\quad {\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}}\\ {\mathbb {O}}{} &{}\quad 1 \end{bmatrix}, \end{aligned}$$
(1)

where \({\mathbb {O}}{}\) is a matrix of zeros with appropriate dimension, \({\varvec{{R}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} \in SO(3)\) is a rotation matrix from \({\mathcal {F}}_{{{\mathcal {L}}}_4}\) to \({\mathcal {F}}{}_{{\mathcal {I}}{}}{}\), with \({\varvec{{R}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} \triangleq {\varvec{{R}}}_{z,\psi }{\varvec{{R}}}_{y,\theta }{\varvec{{R}}}_{x,\phi }{\varvec{{R}}}_{x,-\frac{\pi }{2}}\), and \({\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = \begin{bmatrix} x&y&z \end{bmatrix}'{}\) is the position of the origin of \({\mathcal {F}}_{{{\mathcal {L}}}_4}\) w.r.t. \({\mathcal {F}}{}_{{\mathcal {I}}{}}{}\), expressed in \({\mathcal {F}}{}_{{\mathcal {I}}{}}{}\).

Using the standard DH convention, the pose of frames \({\mathcal {F}}_{{{\mathcal {L}}}_i}\), for \(i \in \{1,\; 2,\; 3\}\), w.r.t. \({\mathcal {F}}_{{{\mathcal {L}}}_{i-1}}\) is given by the HTM

$$\begin{aligned} {\varvec{{H}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_{i+1}}}^{{\mathcal {F}}_{{{\mathcal {L}}}_{i}}} = \begin{bmatrix} {\varvec{{R}}}^{{\mathcal {F}}_{{{\mathcal {L}}}_{i}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_{i+1}}} &{} {\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_{i+1}}}^{{\mathcal {F}}_{{{\mathcal {L}}}_{i}}} \\ {\mathbb {O}}{} &{} 1 \end{bmatrix}, \end{aligned}$$
(2)

with

$$\begin{aligned} {\varvec{{R}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_{i+1}}}^{{\mathcal {F}}_{{{\mathcal {L}}}_{i}}}&= \begin{bmatrix} \cos (\beta _i) &{}\quad -\sin (\beta _i)\cos (\alpha _i) &{}\quad \sin (\beta _i)\sin (\alpha _i) \\ \sin (\beta _i) &{}\quad \cos (\beta _i)\cos (\alpha _i) &{}\quad -\cos (\beta _i)\sin (\alpha _i) \\ 0 &{}\quad \sin (\alpha _i) &{}\quad \cos (\alpha _i)\\ \end{bmatrix},\\ {\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_{i+1}}}^{{\mathcal {F}}_{{{\mathcal {L}}}_{i}}}&= \begin{bmatrix} a_i \cos (\beta _i)&\; a_i \sin (\beta _i)&\; d_i \end{bmatrix}'{}, \end{aligned}$$

where \(\alpha _i\), \(d_i\), \(a_i \in {\mathbb {R}}\) are, respectively, the i-th link twist angle, the i-th link offset distance, and the i-th link length (Jazar 2010). The DH parameters of the manipulator arm, as well as the physical parameters of the UAM, are presented in Table 1.

In order to derive the equations of motion of the system, the pose of the CoM of each body must be computed. Therefore, assuming frames located at the CoM \({\mathcal {C}}_k\), for \(k \in \{0,\; 1,\; 2,\; 3\}\), where \({\mathcal {C}}_0\) is the CoM of the quadrotor UAV, and \({\mathcal {C}}_1\), \({\mathcal {C}}_2\), \({\mathcal {C}}_3\) are the CoM of the planar manipulator links, the pose of each CoM is given by

$$\begin{aligned} {\varvec{{H}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}&= {\varvec{{H}}}_{{\mathcal {F}}_{{\mathcal {L}}_4}}^{{\mathcal {F}}_{{\mathcal {I}}}} {\varvec{{H}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {L}}_4}} = \begin{bmatrix} {\varvec{{R}}}^{{\mathcal {F}}_{{\mathcal {I}}}}_{{\mathcal {C}}_k} &{} {\varvec{{p}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}} \\ {\mathbb {O}}{} &{} 1 \end{bmatrix}, \end{aligned}$$
(3)

with \({\varvec{{H}}}_{{\mathcal {C}}_{3}}^{{\mathcal {F}}_{{\mathcal {L}}_{4}}} \triangleq \begin{bmatrix} {\mathbbm {1}}{} &{} {\varvec{{p}}}^{{\mathcal {F}}_{{\mathcal {L}}_{4}}}_{{\mathcal {C}}_{3}}\\ {\mathbb {O}}&{} 1 \end{bmatrix}\) and \({\varvec{{H}}}_{{\mathcal {C}}_n}^{{\mathcal {F}}_{{\mathcal {L}}_4}} \triangleq \left( {\varvec{{H}}}_{{\mathcal {F}}_{{\mathcal {L}}_4}}^{{\mathcal {F}}_{{\mathcal {L}}_{n+1}}} \right) ^{-1} {\varvec{{H}}}_{{\mathcal {C}}_{n}}^{{\mathcal {F}}_{{\mathcal {L}}_{n+1}}}\), for \(n \in \{0,\; 1, \; 2 \}\), where \( {\varvec{{H}}}_{{\mathcal {C}}_{k}}^{{\mathcal {F}}_{{\mathcal {L}}_{k+1}}} \triangleq \begin{bmatrix} {\mathbbm {1}}{} &{} {\varvec{{p}}}^{{\mathcal {F}}_{{\mathcal {L}}_{k+1}}}_{{\mathcal {C}}_{k}}\\ {\mathbb {O}}&{} 1 \end{bmatrix}, \) with \({\varvec{{p}}}^{{\mathcal {F}}_{{\mathcal {L}}_{1}}}_{{\mathcal {C}}_{0}} \triangleq [ 0 \;\; -l_0 \;\; 0]'\), \(l_0 \in {\mathbb {R}}\) is the distance from frame \({\mathcal {F}}_{{\mathcal {C}}_0}\) to \({\mathcal {F}}_{{\mathcal {L}}_1}\), \({\varvec{{p}}}^{{\mathcal {F}}_{{\mathcal {L}}_{i+1}}}_{{\mathcal {C}}_{i}} \triangleq [ -{a_i}/{2} \;\; 0 \;\; 0]'\) for \(i \in \{1, \;2,\; 3\}\), and \({\mathbbm {1}}{}\) is an identity matrix with appropriate dimension.

Assumption 1

The position of the CoM of each body is located at its geometric center.

2.1 Equations of Motion

The equations of motion of the UAM are derived through the Euler–Lagrange (EL) formalism (Jazar 2010) and written as

$$\begin{aligned} {\varvec{{M}}}{}({\varvec{{q}}}{})\ddot{{\varvec{{q}}}{}}{}(t) + \left( {\varvec{{C}}}{}({\varvec{{q}}}{}, \dot{{\varvec{{q}}}{}}{}) + {\varvec{{\Phi }}} \right) \dot{{\varvec{{q}}}{}}{}(t) + {\varvec{{g}}}({\varvec{{q}}}{}) = {\varvec{{u}}}(t) + {\varvec{{\delta }}}(t), \end{aligned}$$
(4)

where \({\varvec{{M}}}({\varvec{{q}}}): {\mathbb {R}}^9 \rightarrow {\mathbb {R}}^{9 \times 9}\) is the symmetric and positive-definite inertia matrix, \({\varvec{{C}}}({\varvec{{q}}}, \dot{{\varvec{{q}}}}): ({\mathbb {R}}^9 \times {\mathbb {R}}^9) \rightarrow {\mathbb {R}}^{9 \times 9}\) is the centripetal and Coriolis forces matrix, \({\varvec{{\Phi }}} \in {\mathbb {R}}^{9 \times 9}\) is the viscous friction coefficient matrix, \({\varvec{{g}}}({\varvec{{q}}}): {\mathbb {R}}^9 \rightarrow {\mathbb {R}}^{9}\) is the vector of gravitational forces, \({\varvec{{u}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{9}\) is the vector of generalized forces due to the control inputs, and \({\varvec{{\delta }}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^9\) is the unknown but bounded vector of generalized disturbances, with \({\varvec{{\delta }}}(t) \triangleq [\delta _{\phi }(t) \; \delta _{\theta }(t) \; \delta _{\psi }(t) \; \delta _{x}(t)\) \(\; \delta _{y}(t) \; \delta _{z}(t) \; \delta _{\beta _1}(t)\; \delta _{\beta _2}(t) \; \delta _{\beta _3}(t)]'{}\).

Remark 1

The vector of generalized disturbances \({\varvec{{\delta }}}(t)\) represents the total effects of external disturbances, parametric uncertainties, and unmodeled dynamics actuating on the UAM.

The inertia matrix is obtained from the total kinetic energy of the system, which is computed by (Jazar 2010) \({\mathcal {K}} = \dot{{\varvec{{q}}}}'{\varvec{{M}}}({\varvec{{q}}})\dot{{\varvec{{q}}}},\) with

$$\begin{aligned} {\varvec{{M}}}({\varvec{{q}}}) = \sum _{k = 0}^{3} \left( m_{k}{\varvec{{J}}}_{v_k}'{}{\varvec{{J}}}_{v_k} + {\varvec{{J}}}_{\omega _k}'{}{\varvec{{R}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}}{\varvec{\mathcal {I}}}{}_{{\mathcal {C}}_k}({\varvec{{R}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}})'{}{\varvec{{J}}}_{\omega _k} \right) , \end{aligned}$$
(5)

where \(m_k \in {\mathbb {R}}\) and \({\varvec{\mathcal {I}}}{}_{{\mathcal {C}}_k} \in {\mathbb {R}}^{3 \times 3}\) are, respectively, the mass and the inertia tensor matrix associated with the k-th body. In addition, \({\varvec{{J}}}_{v_k} = \partial \dot{{\varvec{{p}}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}/ \partial \dot{{\varvec{{q}}}}\) is the linear velocity Jacobian, in which \(\dot{{\varvec{{p}}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}(t):\ {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{3}\) is the time derivative of \({{\varvec{{p}}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{3}\) obtained from (3). Similarly, \({\varvec{{J}}}_{\omega _k} = \partial {\varvec{{\omega }}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}/\partial \dot{{\varvec{{q}}}}\) is the angular velocity Jacobian, in which \({\varvec{{\omega }}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^3\) is the angular velocity of the k-th body w.r.t. \({\mathcal {F}}{}_{{\mathcal {I}}{}}{}\), expressed in \({\mathcal {F}}{}_{{\mathcal {I}}{}}{}\), obtained from \({\varvec{{S}}}({\varvec{{\omega }}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}) = \dot{{\varvec{{R}}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}}({\varvec{{R}}}^{{\mathcal {F}}_{{\mathcal {I}}}}_{{\mathcal {C}}_k})'\), where \({\varvec{{S}}}(\cdot )\) is a skew-symmetric matrix (Jazar 2010).

The centripetal and Coriolis forces matrix \({\varvec{{C}}}({\varvec{{q}}}, \dot{{\varvec{{q}}}})\) is obtained from the inertia matrix by computing the Christoffel symbols of the first kind

$$\begin{aligned} {\varvec{{C}}}_{{\hat{k}},{\hat{j}}} = \sum _{{\hat{l}}=1}^{9} \dfrac{1}{2} \left[ \dfrac{\partial {\varvec{{M}}}_{{\hat{k}},{\hat{j}}}}{\partial {\varvec{{q}}}_{\hat{l}}} + \dfrac{\partial {\varvec{{M}}}_{{\hat{k}},{\hat{l}}}}{\partial {\varvec{{q}}}_{\hat{j}}} - \dfrac{\partial {\varvec{{M}}}_{{\hat{l}},{\hat{j}}}}{\partial {\varvec{{q}}}_{\hat{k}}} \right] \dot{{\varvec{{q}}}}_{\hat{l}}, \end{aligned}$$
(6)

where \({\varvec{{C}}}_{\hat{k},{\hat{j}}}\) and \({\varvec{{M}}}_{\hat{k},{\hat{j}}}\) are, respectively, the elements of the Coriolis and inertia matrices corresponding to the \({\hat{k}}\text {-th}\) row and \({\hat{j}}\text {-th}\) column.

The frictional force actuating on the UAM is computed by:

$$\begin{aligned} {\varvec{{F}}}_{drag} = -{\varvec{{\Phi }}}\dot{{\varvec{{q}}}}(t). \end{aligned}$$
(7)

Only the friction forces generated by the manipulator’s joints are here considered; therefore, \({\varvec{{\Phi }}} = {{\,\mathrm{diag}\,}}(0\), 0, 0, 0, 0, 0, \(\mu _{\beta _1}\), \(\mu _{\beta _2}\), \(\mu _{\beta _3})\), where \(\mu _{\beta _i} \in {\mathbb {R}}\) is the coefficient of friction of the i-th joint.

The gravitational force vector \({\varvec{{g}}}({\varvec{{q}}})\) is computed by \({\varvec{{g}}}({\varvec{{q}}}) = {\partial {\mathcal {U}}({\varvec{{q}}})}/{\partial {\varvec{{q}}}}\), where \({\mathcal {U}}({\varvec{{q}}}): {\mathbb {R}}^9 \rightarrow {\mathbb {R}}\) is the potential energy of the system, which is computed by summing up the potential energy of all the bodies

$$\begin{aligned} {\mathcal {U}} = -g_a \left( \sum _{k=0}^{3} a_z\, m_k\, {{\varvec{{p}}}}_{{\mathcal {C}}_k}^{{\mathcal {F}}_{{\mathcal {I}}}} \right) , \end{aligned}$$
(8)

where \(a_z \triangleq [0 \; 0 \; 1]'{}\), and \(g_a \in {\mathbb {R}}\) is the gravity acceleration.

The generalized forces vector is given by \({\varvec{{u}}}(t) = {\varvec{{B}}}({\varvec{{q}}}){\varvec{{\upsilon }}}(t)\), in which \({\varvec{{B}}}({\varvec{{q}}}): {\mathbb {R}}^{9} \rightarrow {\mathbb {R}}^{9 \times 7}\) is the input coupling matrix, and \({\varvec{{\upsilon }}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^{7}\) is the vector of control inputs, with \({\varvec{{\upsilon }}}(t) \triangleq [f_{1}(t) \; f_{2}(t) \; f_{3}(t) \; f_{4}(t) \; \tau _{1}(t) \; \tau _{2}(t) \; \tau _{3}(t)]'{}\), where \(f_{j}\) is the thrust generated by the j-th propeller, for \(j \in \{1,\;2,\;3,\;4\}\), and \(\tau _{i}\) is the torque applied to the i-th joint of the manipulator arm by a servomotor.

The thrust generated by the j-th propeller is given by (Sanchez-Cuevas et al. 2017)

$$\begin{aligned} f_{j}(z_j) = b\omega _j^{2}\frac{1}{f_{GE}(z_j)}, \end{aligned}$$
(9)

where \(b \in {\mathbb {R}}\) is the propeller thrust coefficient, \(\omega _j(t):{\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}\) is the angular velocity of the j-th propeller, \(z_j(t):{\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}\) is the distance from the j-th propeller to the closest surface of the environment, and \(f_{GE}(z_j): {\mathbb {R}} \rightarrow {\mathbb {R}}\) is the ground effect factor, which accounts for the increment in thrust due to the ground effect, that is given by

$$\begin{aligned} f_{GE}(z_j)&= 1 - \left( \frac{R}{4z_j} \right) ^{2} - R^{2}\left( \frac{z_j}{\sqrt{\left( d^{2} + 4z_j^{2} \right) ^{3}}} \right) \nonumber \\&\quad {-} \frac{R^{2}}{2}\left( \frac{z_j}{\sqrt{\left( 2d^{2} {+} 4z_j^{2} \right) ^{3}}} \right) {-}4R^{2}\left( \frac{z_j}{\left( l^{2} {+} 4z_j^{2} \right) ^{3}} \right) , \end{aligned}$$
(10)

where \(R \in {\mathbb {R}}\) is the propeller radius, \(d \in {\mathbb {R}}\) is the distance to the adjacent propeller, and \(l \in {\mathbb {R}}\) is the distance between the propellers and the quadrotor geometric center.

In order to improve the controllability of the system and generate the input coupling necessary to design the nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers presented in the next section, the rotors of the quadrotor UAV are tilted toward its geometric center by a small angle \(\alpha _{T}\) (Raffo et al. 2011). Thus, the input coupling matrix of the system is given by

$$\begin{aligned} {\varvec{{B}}}({\varvec{{q}}})&= \begin{bmatrix} {\varvec{{J}}}_{\omega _{0}}'{}{\varvec{{R}}}_ {{\mathcal {C}}_0}^{{\mathcal {F}}_{{\mathcal {I}}}} &{} {\varvec{{J}}}_{v_0}'{}{\varvec{{R}}}_ {{\mathcal {C}}_0}^{{\mathcal {F}}_{{\mathcal {I}}}} &{} \begin{bmatrix} {\mathbb {O}}_{6 \times 3} \\ {\mathbbm {1}}_{3} \end{bmatrix} \end{bmatrix} \cdot {\varvec{{N}}},\nonumber \\ {\varvec{{N}}}&\triangleq \begin{bmatrix} \overline{{\varvec{{N}}}} &{}\quad {\mathbb {O}}_{6 \times 3} \\ {\mathbb {O}}_{3 \times 4} &{}\quad {\mathbbm {1}}_{3} \end{bmatrix},\nonumber \\ \overline{{\varvec{{N}}}}&\triangleq \begin{bmatrix} 0 &{}\quad l \cos (\alpha _{T}) &{}\quad 0 &{}\quad -l \cos (\alpha _{T}) \\ -l \cos (\alpha _{T}) &{}\quad 0 &{}\quad l \cos (\alpha _{T}) &{}\quad 0 \\ \frac{k_{\tau }}{b}\cos (\alpha _{T}) &{}\quad -\frac{k_{\tau }}{b}\cos (\alpha _{T}) &{}\quad \frac{k_{\tau }}{b}\cos (\alpha _{T}) &{}\quad -\frac{k_{\tau }}{b}\cos (\alpha _{T}) \\ -\sin (\alpha _{T}) &{}\quad 0 &{}\quad \sin (\alpha _{T}) &{}\quad 0\\ 0 &{}\quad -\sin (\alpha _{T}) &{}\quad 0 &{}\quad \sin (\alpha _{T}) \\ \cos (\alpha _{T}) &{}\quad \cos (\alpha _{T}) &{}\quad \cos (\alpha _{T}) &{}\quad \cos (\alpha _{T}) \end{bmatrix}, \end{aligned}$$
(11)

where \({\mathbbm {1}}_{3}\) is an identity matrix with dimension 3, \(k_{\tau } \in {\mathbb {R}}\) is the propeller drag coefficient, \({\varvec{{J}}}_{v_0}\), \({\varvec{{J}}}_{\omega _0}\) are the linear and angular velocity Jacobians associated with the CoM of the quadrotor UAV defined as in (5), and \({\varvec{{R}}}_{{\mathcal {C}}_0}^{{\mathcal {F}}_{{\mathcal {I}}}}\) is defined as in (3).

Remark 2

The UAM considered in this work is an underactuated mechanical system (Raffo et al. 2015), since it has more degrees of freedom than manipulated variables, i.e., \({\varvec{{q}}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^9\) and rank(\({\varvec{{B}}}({\varvec{{q}}})\)) \(= 7, \forall {\varvec{{q}}}\).

Table 1 Table of system parameters

3 Controller Design

This section concerns the design of the single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers for the UAM.

Regarding Remark 2, the UAM is underactuated and no more than seven degrees of freedom (DOF) can be controlled (i.e., regulated at a desired position or track a reference trajectory) simultaneously through the control inputs (Siqueira and Terra 2004). Therefore, for control design purposes, we split the vector of generalized coordinates into controlled and stabilized DOF as \({\varvec{{q}}}{}(t) \triangleq [{\varvec{{q}}}{}_{s}'{} \; {\varvec{{q}}}{}_{c}'{}]'{}\), in which \({\varvec{{q}}}{}_{s}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^2\) represents the stabilized DOF and \({\varvec{{q}}}{}_{c}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^7\) the controlled ones. The nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers are designed in order to achieve trajectory tracking of the controlled DOF while stabilizing the remaining ones.

For the UAM considered in this work, the rolling and pitching motions are correlated with the x and y movements, respectively. Then, it is necessary to choose either these angles or the x and y positions as the controlled DOF (Raffo et al. 2011). Aiming to achieve tracking of the end-effector, the controlled DOF is chosen as \({\varvec{{q}}}_c(t) = [\psi \; x \; y \; z \; \beta _1 \; \beta _2 \; \beta _3 ]'{}\), and the stabilized DOF is chosen as \({\varvec{{q}}}_s(t) = [\phi \; \theta ]'{}\). Consequently, system (4) is partitioned, resulting in

$$\begin{aligned}&\begin{bmatrix} {\varvec{{M}}}{}_{ss} &{} {\varvec{{M}}}{}_{sc} \\ {\varvec{{M}}}{}_{cs} &{} {\varvec{{M}}}{}_{cc} \end{bmatrix} \begin{bmatrix} \ddot{{\varvec{{q}}}{}}{}_{s}\\ \ddot{{\varvec{{q}}}{}}{}_{c} \end{bmatrix} {+} \begin{bmatrix} {\varvec{{C}}}{}_{ss} &{} {\varvec{{C}}}{}_{sc} \\ {\varvec{{C}}}{}_{cs} &{} {\varvec{{C}}}{}_{cc} \end{bmatrix} \begin{bmatrix} \dot{{\varvec{{q}}}{}}{}_{s}\\ \dot{{\varvec{{q}}}{}}{}_{c} \end{bmatrix} {+} \begin{bmatrix} {\varvec{{g}}}{}_{s}\\ {\varvec{{g}}}{}_{c} \end{bmatrix} \nonumber \\&\quad = \begin{bmatrix} {\varvec{{B}}}_s \\ {\varvec{{B}}}_c \end{bmatrix}{\varvec{{\upsilon }}} {+} {\varvec{{\delta }}}, \end{aligned}$$
(12)

in which, for the purposes of control design, the frictional force and the ground effect are assumed as unmodeled dynamics. Thus, \({\varvec{{\Phi }}} = {\mathbb {O}}_{9 \times 9}\) in (7), and \(f_{GE}(z_j)\) \(= 1\) in (9), which results in \(f_j = b \omega _{j}^{2}\).

Remark 3

According to the particular choices of stabilized and controlled DOF, the partitioned system (12) provides rank\(({\varvec{{B}}}_s({\varvec{{q}}}))\) \(= 2\), and rank\(({\varvec{{B}}}_c({\varvec{{q}}}))\) \(= 7, \forall q \in {\mathbb {R}}^9\). These features are necessary to design the nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers proposed in Raffo et al. (2011) and Cardoso et al. (2021).

In the following, the single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers are designed based on the partitioned system (12).

3.1 Nonlinear \({\mathscr {H}}_{\infty }{}\) Control Design

The single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) controller is designed in this subsection based on the approach proposed in Raffo et al. (2011) for input-affine underactuated mechanical systems with input coupling represented by the Euler–Lagrange equations. The use of the Euler–Lagrange model provides some features of the Inertia and Coriolis matrices, such as symmetry \(\varvec{M}(\varvec{q}) = \varvec{M}'(\varvec{q})\), positive definiteness \(\varvec{M}(\varvec{q}) > 0\) and skew-symmetry \(\dot{\varvec{M}}(\varvec{q}) - 2\varvec{C}(\dot{\varvec{q}},\varvec{q})\), to demonstrate the asymptotic stability of the nonlinear \({\mathscr {H}}_{\infty }{}\) controller presented in this section, as well as for the nonlinear \({\mathscr {W}_{\infty }}{}\) controller presented in Sect.3.2. To design this controller, system (12) is normalized by pre-multiplying it by

$$\begin{aligned} {\varvec{{T}}}_{m}{} = \begin{bmatrix} {\mathbbm {1}}{} &{} -{\varvec{{M}}}{}_{sc}{\varvec{{M}}}{}_{cc}^{-1} \\ -{\varvec{{M}}}{}_{cs}{\varvec{{M}}}{}_{ss}^{-1} &{} {\mathbbm {1}}{} \end{bmatrix}, \end{aligned}$$
(13)

to obtain a block diagonal inertia matrix. This results in the normalized system

$$\begin{aligned} \begin{aligned}&\underbrace{\begin{bmatrix} {\varvec{{M}}}{}_{or} &{} {\mathbb {O}}{} \\ {\mathbb {O}}{} &{} {\varvec{{M}}}{}_{ic} \end{bmatrix}}_{ \overline{{\varvec{{M}}}{}}{}({\varvec{{q}}}{})} \begin{bmatrix} \ddot{{\varvec{{q}}}{}}{}_{s} \\ \ddot{{\varvec{{q}}}{}}{}_{c} \end{bmatrix} {+} \underbrace{\begin{bmatrix} {\varvec{{C}}}{}_{or} &{} {\varvec{{C}}}{}_{oc}\\ {\varvec{{C}}}{}_{ir} &{} {\varvec{{C}}}{}_{ic} \end{bmatrix}}_{\overline{{\varvec{{C}}}{}}{}({\varvec{{q}}}{}, \dot{{\varvec{{q}}}{}}{})} \begin{bmatrix} \dot{{\varvec{{q}}}{}}{}_{s}\\ \dot{{\varvec{{q}}}{}}{}_{c} \end{bmatrix} {+} \underbrace{\begin{bmatrix} {\varvec{{g}}}{}_{or} \\ {\varvec{{g}}}{}_{ic} \end{bmatrix}}_{\overline{{\varvec{{g}}}{}}{}({\varvec{{q}}}{})}\\&\quad = \underbrace{\begin{bmatrix} \overline{{\varvec{{\upsilon }}}}{}_{or}\\ \overline{{\varvec{{\upsilon }}}}{}_{ic} \end{bmatrix}}_{\overline{{\varvec{{\upsilon }}}}{}(t)} {+} \underbrace{\begin{bmatrix} {\varvec{{\delta }}}_{or}\\ {\varvec{{\delta }}}_{ic} \end{bmatrix}}_{\overline{{\varvec{{\delta }}}}(t)} \end{aligned}, \end{aligned}$$
(14)

where \(\overline{{\varvec{{M}}}{}}{}({\varvec{{q}}}{}) = {\varvec{{T}}}_{m}{}({\varvec{{q}}}{}){\varvec{{M}}}{}({\varvec{{q}}})\), \(\overline{{\varvec{{C}}}{}}{}({\varvec{{q}}}{}\), \(\dot{{\varvec{{q}}}{}}{}) = {\varvec{{T}}}_{m}{}({\varvec{{q}}}{}){\varvec{{C}}}{}({\varvec{{q}}}{}, \dot{{\varvec{{q}}}{}}{}),\) \(\overline{{\varvec{{g}}}{}}{}({\varvec{{q}}}{}) = {\varvec{{T}}}_{m}{}({\varvec{{q}}}{}){\varvec{{g}}}{}({\varvec{{q}}}{}),\) \(\overline{{\varvec{{\upsilon }}}}{}(t) = {\varvec{{T}}}_{m}{}({\varvec{{q}}}{}){\varvec{{B}}}({\varvec{{q}}}{}){\varvec{{\upsilon }}}(t),\) and \(\overline{{\varvec{{\delta }}}}(t) = {\varvec{{T}}}_{m}{}({\varvec{{q}}}{}){\varvec{{\delta }}}(t)\).

Afterwards, the tracking error vector is defined as

$$\begin{aligned} {\varvec{{x}}}(t) = \begin{bmatrix} \dot{{\varvec{{q}}}{}}{}_{s}(t)\\ \dot{\tilde{{\varvec{{q}}}}}_{c}(t)\\ \tilde{{\varvec{{q}}}}_{c}(t)\\ \int _0^{t} \tilde{{\varvec{{q}}}}_{c}(\tau ) d\tau \end{bmatrix} = \begin{bmatrix} \dot{{\varvec{{q}}}{}}{}_{s}(t)\\ \dot{{\varvec{{q}}}{}}{}_{c}(t) - \dot{{\varvec{{q}}}{}}{}_{c_{r}}(t)\\ {\varvec{{q}}}{}_{c}(t) - {\varvec{{q}}}{}_{c_{r}}(t)\\ \int _0^\tau {\varvec{{q}}}{}_{c}(t) - {\varvec{{q}}}{}_{c_{r}}(t) d\tau \end{bmatrix}, \end{aligned}$$
(15)

in which an integral action is considered over the error of the controlled DOF to improve the parametric uncertainty and constant disturbance rejection capability for the closed-loop system, and \({\varvec{{q}}}{}_{c_{r}}(t): {\mathbb {R}}_{\ge 0} \rightarrow {\mathbb {R}}^7\) is the desired trajectory for the controlled DOF, with \({\varvec{{q}}}{}_{c_{r}}(t) \in {\mathcal {C}}^2\).

Assumption 2

The desired trajectory is feasible.

Remark 4

Assumption 2 holds if there exists a control action \({\varvec{{\upsilon }}}(t)\) and some configuration of the stabilized DOF \({\varvec{{q}}}_s(t)\), such that system (4) can track the desired trajectory \({\varvec{{q}}}{}_{c_{r}}(t)\), even when affected by the disturbance signal \(\varvec{\delta (t)}\).

Then, the following states transformation is considered:

$$\begin{aligned} {\varvec{{z}}}(t) = \begin{bmatrix} {\varvec{{z}}}_{1} \\ {\varvec{{z}}}_{2} \\ {\varvec{{z}}}_{3} \\ {\varvec{{z}}}_{4} \end{bmatrix} = \begin{bmatrix} {\varvec{{T}}}_{11} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{}\\ {\mathbb {O}}{} &{}\quad {\varvec{{T}}}_{22} &{}\quad {\varvec{{T}}}_{23} &{}\quad {\varvec{{T}}}_{24} \\ {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbbm {1}}{} &{}\quad {\mathbbm {1}}{}\\ {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbbm {1}}{} \end{bmatrix} {\varvec{{x}}}(t) = {\varvec{{T}}}_{0} {\varvec{{x}}}(t), \end{aligned}$$
(16)

where \({\varvec{{T}}}_{11}\), \({\varvec{{T}}}_{22}\), \({\varvec{{T}}}_{23}\), and \({\varvec{{T}}}_{24}\) are weighting matrices of appropriate dimension, and \({\varvec{{T}}}_{11} \triangleq \rho {\mathbbm {1}}{}\), \({\varvec{{T}}}_{22} \triangleq \nu {\mathbbm {1}}{}\), with \(\rho ,\nu \in {\mathbb {R}}_{\ge 0}\).

Despite this transformation, the following change of variables over the control action and disturbances is considered:

$$\begin{aligned} \overline{{\varvec{{M}}}{}}{}({\varvec{{q}}}{}) {\varvec{{T}}} \dot{{\varvec{{x}}}} + \overline{{\varvec{{C}}}{}}{}({\varvec{{q}}}{}, \dot{{\varvec{{q}}}{}}{}){\varvec{{T}}}{\varvec{{x}}} = \overline{{\varvec{{u}}}}(t) + \overline{{\varvec{{d}}}}(t), \end{aligned}$$
(17)

where \({\varvec{{T}}} \triangleq \begin{bmatrix} {\varvec{{T}}}_{11} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{}\\ {\mathbb {O}}{} &{} {\varvec{{T}}}_{22} &{} {\varvec{{T}}}_{23} &{} {\varvec{{T}}}_{24} \end{bmatrix}\) .

Accordingly, by expanding transformations (16) and (17) and writing the normalized system (14) with respect to the tracking error variables, the system is represented in the standard state-space form

$$\begin{aligned} \dot{{\varvec{{x}}}} = {\varvec{{f}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) + {\varvec{{G}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t)\overline{{\varvec{{u}}}} + {\varvec{{K}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \overline{{\varvec{{d}}}}, \end{aligned}$$
(18)

where \({\varvec{{f}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \triangleq {\varvec{{T}}}_{0}^{-1} {\varvec{{F}}} {\varvec{{T}}}_{0} {\varvec{{x}}}\), with

$$\begin{aligned}&{\varvec{{F}}} \triangleq \begin{bmatrix} -{\varvec{{M}}}{}_{or}^{-1}{\varvec{{C}}}{}_{or} &{} -{\varvec{{M}}}{}_{or}^{-1}{\varvec{{C}}}{}_{oc} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{}\\ -{\varvec{{M}}}{}_{ic}^{-1}{\varvec{{C}}}{}_{ir} &{} -{\varvec{{M}}}{}_{ic}^{-1}{\varvec{{C}}}{}_{ic} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{}\\ {\mathbb {O}}{} &{} {\varvec{{T}}}_{22}^{-1} &{} {\mathbbm {1}}{} - {\varvec{{T}}}_{22}^{-1} {\varvec{{T}}}_{23} &{} -{\mathbbm {1}}{} - {\varvec{{T}}}_{22}^{-1} ({\varvec{{T}}}_{23} - {\varvec{{T}}}_{24})\\ {\mathbb {O}}{} &{} {\mathbb {O}}{} &{} {\mathbbm {1}}{} &{} -{\mathbbm {1}}{} \end{bmatrix}, \\&{\varvec{{G}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) = {\varvec{{K}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \triangleq {\varvec{{T}}}_{0}^{-1} \begin{bmatrix} {\varvec{{M}}}{}_{or}^{-1} &{} {\mathbb {O}}{} \\ {\mathbb {O}}{} &{} {\varvec{{M}}}{}_{ic}^{-1}\\ {\mathbb {O}}{} &{} {\mathbb {O}}{}\\ {\mathbb {O}}{} &{} {\mathbb {O}}{} \end{bmatrix}. \end{aligned}$$

The transformed control input and external disturbance vectors are given by \(\overline{{\varvec{{u}}}} = {\varvec{{T}}}_c(-\varvec{n} + \overline{{\varvec{{\upsilon }}}}{})\) and \(\overline{{\varvec{{d}}}} {=} \overline{{\varvec{{M}}}{}}{}{\varvec{{T}}}_c\overline{{\varvec{{M}}}{}}{}^{-1}\overline{{\varvec{{\delta }}}},\) respectively, in which \(\varvec{n} \triangleq {\varvec{{M}}}_{cc}(\ddot{{\varvec{{q}}}}_{c_r} - {\varvec{{T}}}^{-1}_{11} {\varvec{{T}}}_{22} \dot{\tilde{{\varvec{{q}}}}}_c\;\;-\;\;{\varvec{{T}}}^{-1}_{11} {\varvec{{T}}}_{13}\tilde{{\varvec{{q}}}}_c) \; + \; {\varvec{{G}}}_c + \; {\varvec{{C}}}_{cc}\Big (\dot{{\varvec{{q}}}}_{c_r}\;\; -\;\; {\varvec{{T}}}^{-1}_{11}{\varvec{{T}}}_{22}\tilde{{\varvec{{q}}}}_c\) \(- {\varvec{{T}}}_{11}^{-1}{\varvec{{T}}}_{23}\int \tilde{{\varvec{{q}}}}_c dt \Big )\), and \({\varvec{{T}}}_c \triangleq \) blkdiag \(({\varvec{{T}}}_{11} , {\varvec{{T}}}_{22})\).

Finally, in order to design the single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) controller for the system (18), plant \({\mathcal {P}}_1\) is defined as

$$\begin{aligned} {\mathcal {P}}_1{:} {\left\{ \begin{array}{ll} \dot{{\varvec{{x}}}}(t) {=} {\varvec{{f}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) {+} {\varvec{{G}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t)\overline{{\varvec{{u}}}}(t) {+} {\varvec{{K}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \overline{{\varvec{{d}}}}(t),\\ {\varvec{{\zeta }}}(t) {=} {\varvec{{W}}} \begin{bmatrix} {\varvec{{x}}}(t) \\ \overline{{\varvec{{u}}}}(t) \end{bmatrix}, \end{array}\right. } \end{aligned}$$
(19)

where \({\varvec{{\zeta }}}(t)\) is the cost variable.

The classic nonlinear \({\mathscr {H}}_{\infty }{}\) control problem is posed as

$$\begin{aligned} V_{{\mathscr {H}}_{\infty }{}} =&\min _{\overline{{\varvec{{u}}}} \in {\mathcal {L}}} \max _{\overline{{\varvec{{d}}}} \in {\mathcal {L}}} \left\{ \frac{1}{2} \left\| {\varvec{{\zeta }}}(t)\right\| ^2_{{\mathcal {L}}_2} - \frac{1}{2}\gamma ^{2} \Vert \overline{{\varvec{{d}}}}(t) \Vert ^{2}_{{\mathcal {L}}_{2}} \right\} , \nonumber \\&\text { s.t. }{\mathcal {P}}_1, \end{aligned}$$
(20)

where \(\gamma \in {\mathbb {R}}_{\ge 0}\) is the \({\mathscr {H}}_{\infty }{}\) attenuation level, and \({\mathcal {L}} = {\mathcal {L}}_2[0,\infty )\) (van der Schaft 2000).

Remark 5

The nonlinear \({\mathscr {H}}_{\infty }{}\) controller is designed to satisfy the inequality \(\left\| {\varvec{{\zeta }}}(t)\right\| _{{\mathcal {L}}_2} \le \gamma \Vert \overline{{\varvec{{d}}}}(t) \Vert _{{\mathcal {L}}_{2}}\). Thus, it inherently provides disturbance attenuation to the closed-loop system for any \(\overline{{\varvec{{d}}}}(t) \in {\mathcal {L}}_2[0,\infty )\), i.e., bounded in energy. This, together with the integral action considered on the controlled DOF in (15), allows handling a wide variety of disturbances.

Remark 6

In the optimal control problem (20), which considers the tracking error vector (15), as well as in the \({\mathscr {W}_{\infty }}{}\) optimal control problem that is subsequently presented, the generalized velocities of the stabilized DOF are required to converge to zero. Accordingly, there is no need to set references for the stabilized DOF as the optimal control problem (20) does not regulate the generalized coordinates \({\varvec{{q}}}_s(t)\). This allows the controller to accommodate these DOF in order to achieve tracking of the controlled DOF and attenuate disturbances. For example, if the UAM is in contact with the environment, the controller will accommodate the stabilized DOF in order to achieve the task.

The optimization problem (20) can be formulated using dynamic programming (DP) (Kirk 2012), from which the associated Hamiltonian is given by

$$\begin{aligned} {\mathbb {H}}_{{\mathscr {H}}_{\infty }{}}&= \frac{\partial '{} V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{x}}}}\dot{{\varvec{{x}}}} + \frac{\partial '{} V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{q}}}_s}\dot{{\varvec{{q}}}}_s + \frac{1}{2}{\varvec{{x}}}'{}{\varvec{{Q}}}{\varvec{{x}}} + {\varvec{{x}}}'{}{\varvec{{S}}}\overline{{\varvec{{u}}}} \nonumber \\&\quad + \frac{1}{2}\overline{{\varvec{{u}}}}'{}{\varvec{{R}}}\overline{{\varvec{{u}}}}- \frac{1}{2}\gamma ^2\overline{{\varvec{{d}}}}'{}\overline{{\varvec{{d}}}}, \end{aligned}$$
(21)

with the boundary condition \(V_{{\mathscr {H}}_{\infty }{}}(0)=0\), in which \({\varvec{{Q}}}\), \({\varvec{{S}}}\) and \({\varvec{{R}}}\) are weighting matrices with appropriate dimension, and \({\varvec{{W}}}'{}{\varvec{{W}}} = \begin{bmatrix} {\varvec{{Q}}} &{} {\varvec{{S}}} \\ {\varvec{{S}}}'{} &{} {\varvec{{R}}}\end{bmatrix}\).

The optimal control law, \(\overline{{\varvec{{u}}}}^{*}\), and the worst case of disturbances, \(\overline{{\varvec{{d}}}}^{*}\), are computed by taking the partial derivatives of (21), as follows

$$\begin{aligned} \frac{\partial {\mathbb {H}}_{{\mathscr {H}}_{\infty }{}}}{\partial \overline{{\varvec{{u}}}}}&= {\varvec{{G}}}'{}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \frac{\partial V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{x}}}} + {\varvec{{S}}}'{}{\varvec{{x}}} + {\varvec{{R}}}\overline{{\varvec{{u}}}} = 0, \end{aligned}$$
(22)
$$\begin{aligned} \frac{\partial {\mathbb {H}}_{{\mathscr {H}}_{\infty }{}}}{\partial \overline{{\varvec{{d}}}}}&= {\varvec{{K}}}'{}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t) \frac{\partial V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{x}}}} - \gamma ^2\overline{{\varvec{{d}}}} = 0. \end{aligned}$$
(23)

After some algebraic manipulations, the above derivatives lead to

$$\begin{aligned} \overline{{\varvec{{u}}}}^{*}&= -{\varvec{{R}}}^{-1}\left( {\varvec{{G}}}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t)\frac{\partial V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{x}}}} + {\varvec{{S}}}'{}{\varvec{{x}}}\right) , \end{aligned}$$
(24)
$$\begin{aligned} \overline{{\varvec{{d}}}}^{*}&= \frac{1}{\gamma ^2}{\varvec{{K}}}'{}({\varvec{{x}}}, {\varvec{{q}}}_{s}, t)\frac{\partial V_{{\mathscr {H}}_{\infty }{}}}{\partial {\varvec{{x}}}}. \end{aligned}$$
(25)

The Hamilton–Jacobi (HJ) equation associated with this optimization problem is obtained by replacing the optimal control law (24) and the worst case of the disturbances (25) in (21), resulting in

$$\begin{aligned} {\dot{V}}_{{\mathscr {H}}_{\infty }{}}({\varvec{{x}}}, t) + {\mathbb {H}}_{{\mathscr {H}}_{\infty }{}}(V_{{\mathscr {H}}_{\infty }{}}, {\varvec{{x}}}, {\varvec{{q}}}{}_{s}, \overline{{\varvec{{u}}}}^{*}, \overline{{\varvec{{d}}}}^{*}, t) = 0. \end{aligned}$$
(26)

A particular solution to the HJ partial differential equation (PDE) (26) is given in the following theorem.

Theorem 1

(Raffo et al. 2011) Let \(V_{{\mathscr {H}}_{\infty }{}}(\varvec{x},\varvec{q}_r,t)\) be the parameterized scalar function:

$$\begin{aligned}&V_{{\mathscr {H}}_{\infty }{}}(\varvec{x},\varvec{q}_r,t) \nonumber \\&\quad = \dfrac{1}{2}\varvec{x}'\varvec{T}'_0 \begin{bmatrix} \varvec{M}_{ss} &{}\quad \varvec{M}_{sc} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} \\ \varvec{M}_{cs} &{}\quad \varvec{M}_{cc} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} \\ {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad \varvec{Y} &{}\quad \varvec{X} - \varvec{Y} \\ {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad \varvec{X} - \varvec{Y} &{}\quad \varvec{Z} + \varvec{Y} \end{bmatrix}\varvec{T}_0\varvec{x}, \end{aligned}$$
(27)

where \(\varvec{X}\), \(\varvec{Y}\), \(\varvec{Z} \in {\mathbb {R}}^{n_c \times n_c}\) are constant, symmetric, and positive-definite matrices such that \(\varvec{Z} - \varvec{X} \varvec{Y}^{-1} \varvec{X} + 2 \varvec{X} > {\mathbb {O}}{}\), and \(\varvec{T}_0\) and \(\varvec{T}\) are defined as in (16) and (17). If these matrices verify the following equation,

$$\begin{aligned}&\begin{bmatrix} {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} \\ {\mathbb {O}}{} &{}\quad {\mathbb {O}}{} &{}\quad \varvec{Y} &{}\quad \varvec{X} \\ {\mathbb {O}}{} &{}\quad \varvec{Y} &{}\quad 2\varvec{X} &{}\quad \varvec{Z}+2\varvec{X} \\ {\mathbb {O}}{} &{}\quad \varvec{X} &{}\quad \varvec{Z}+2\varvec{X} &{}\quad {\mathbb {O}}{} \\ \end{bmatrix} + \varvec{Q} + \dfrac{1}{\gamma ^2}\varvec{T}'\varvec{T} \nonumber \\&\quad - (\varvec{S}' + \varvec{T})'\varvec{R}^{-1}(\varvec{S}' + \varvec{T}) {=} {\mathbb {O}}{}, \end{aligned}$$
(28)

then, function \(V(\varvec{x},\varvec{q}_r,t)\) constitutes a solution to the HJ Eq. (26), for a sufficiently high \({\mathscr {H}}_{\infty }{}\) attenuation level \(\gamma \).

The asymptotic stability of the nonlinear \({\mathscr {H}}_{\infty }{}\) controller is stated in the following theorem.

Theorem 2

(Adapted from (Raffo et al. 2015)) Consider a desired sufficiently large \({\mathscr {H}}_{\infty }{}\) attenuation level \(\gamma > 0\). Let \(V_{{\mathscr {H}}_{\infty }{}}(\varvec{x},\varvec{q}_r,t) \ge 0\) be a solution of (26) given by function (27), with matrices \(\varvec{X}\), \(\varvec{Y}\), \(\varvec{Z}\) and \(\varvec{T}\) verifying (28), then the closed-loop system corresponding to system (19) with the control law (24) is asymptotically stable.

From the results of Theorem 1, the following optimal control law is obtained:

$$\begin{aligned} \overline{{\varvec{{u}}}}^{*}(t) = -{\varvec{{T}}}_{m}{}{\varvec{{R}}}^{-1}({\varvec{{S}}}'+{\varvec{{T}}}){\varvec{{x}}}(t). \end{aligned}$$
(29)

By replacing the optimal control law (29) into (17), assuming \(\overline{{\varvec{{d}}}}=0\) , and after some manipulations, the following transformed generalized force vector is obtained:

$$\begin{aligned} \overline{{\varvec{{\upsilon }}}}{}(t) = \overline{{\varvec{{M}}}{}}{}({\varvec{{q}}}{})\ddot{{\varvec{{q}}}{}}{}(t) + \overline{{\varvec{{C}}}{}}{}({\varvec{{q}}}{}, \dot{{\varvec{{q}}}{}}{})\dot{{\varvec{{q}}}{}}{}(t) + \overline{{\varvec{{g}}}{}}{}({\varvec{{q}}}{}), \end{aligned}$$
(30)

with

$$\begin{aligned} \ddot{{\varvec{{q}}}{}}{}(t) = \begin{bmatrix} {\mathbb {O}}{}\\ \ddot{{\varvec{{q}}}{}}{}_{c_{r}} \end{bmatrix} - {\varvec{{K}}}_{D} \begin{bmatrix} \dot{{\varvec{{q}}}}_{s}\\ \dot{\tilde{{\varvec{{q}}}}}_{c} \end{bmatrix} - {\varvec{{K}}}_{P} \begin{bmatrix} {\mathbb {O}}{}\\ \tilde{{\varvec{{q}}}}_{c} \end{bmatrix} - {\varvec{{K}}}_{I} \begin{bmatrix} {\mathbb {O}}{}\\ \smallint _{0}^{t} \tilde{{\varvec{{q}}}}_{c} d\tau \end{bmatrix}.\nonumber \\ \end{aligned}$$
(31)

The matrices \({\varvec{{K}}}_{D}\), \({\varvec{{K}}}_{P}\), and \({\varvec{{K}}}_{I}\) are given in Appendix A. The control input applied to system (12) is given by

$$\begin{aligned} {\varvec{{\upsilon }}}(t) = {\varvec{{B}}}({\varvec{{q}}}{})^{\dagger }{}{\varvec{{T}}}_{m}{}^{-1}({\varvec{{q}}}{})\overline{{\varvec{{\upsilon }}}}{}(t). \end{aligned}$$
(32)

3.2 Nonlinear \({\mathscr {W}_{\infty }}{}\) Control Design

The single-layer nonlinear \({\mathscr {W}_{\infty }}{}\) controller is designed in this subsection based on the approach proposed in Cardoso et al. (2021) for input-affine underactuated mechanical systems with input coupling represented by the Euler–Lagrange equations. The first step to design this controller is to rewrite system (12) as the tracking error dynamics, which is given by

$$\begin{aligned}&{\varvec{{M}}}{}({\varvec{{q}}}{}_{s}, \tilde{{\varvec{{q}}}}_{c} + {\varvec{{q}}}_{c_{r}}) \begin{bmatrix}\ddot{{\varvec{{q}}}}_{s} \\ \ddot{\tilde{{\varvec{{q}}}}}_{c} {+} \ddot{{\varvec{{q}}}}_{c_{r}} \end{bmatrix} + {\varvec{{C}}}{}({\varvec{{q}}}{}_{s}, \tilde{{\varvec{{q}}}}_{c} + {\varvec{{q}}}_{c_{r}}, \dot{{\varvec{{q}}}}_{s}, \dot{\tilde{{\varvec{{q}}}}}_{c} \nonumber \\&\quad + \dot{{\varvec{{q}}}}_{c_{r}}) \begin{bmatrix} \dot{{\varvec{{q}}}}_{s} \\ \dot{\tilde{{\varvec{{q}}}}}_{c} {+} \dot{{\varvec{{q}}}}_{c_{r}} \end{bmatrix}\nonumber \\&\quad + {\varvec{{g}}}{}({\varvec{{q}}}{}_{s}, \tilde{{\varvec{{q}}}}_{c} + {\varvec{{q}}}_{c_{r}}) = {\varvec{{B}}}({\varvec{{q}}}{}_{s}, \tilde{{\varvec{{q}}}}_{c} + {\varvec{{q}}}_{c_{r}}){\varvec{{\upsilon }}}(t) + {\varvec{{\delta }}}(t), \end{aligned}$$
(33)

with \(\tilde{{\varvec{{q}}}{}}_{c} \triangleq {\varvec{{q}}}_c(t) - {\varvec{{q}}}_{c_r}(t)\), and the desired trajectory \({\varvec{{q}}}_{c_r}(t) \in {\mathcal {C}}^2\) according to Assumption 2.

Considering the tracking error vector defined in (15), Eq. (33) is expressed in the state space as

$$\begin{aligned} \dot{{\varvec{{x}}}}= & {} \underbrace{\begin{bmatrix} -{\varvec{{M}}}^{-1}{\varvec{{C}}} &{} {\mathbb {O}}&{} {\mathbb {O}}\\ [{\mathbb {O}}\;\;\; {\mathbbm {1}}{}] &{} {\mathbb {O}}&{} {\mathbb {O}}\\ {\mathbb {O}}&{} {\mathbbm {1}}{} &{} {\mathbb {O}}\end{bmatrix}{\varvec{{x}}}}_{{\varvec{{f}}}({\varvec{{x}}},{\varvec{{q}}}_s)} {+} \underbrace{\begin{bmatrix} -{\varvec{{M}}}^{-1}{\varvec{{d}}} \\ {\mathbb {O}}\\ {\mathbb {O}}\end{bmatrix}}_{{\varvec{{\overline{f}}}}({\varvec{{x}}},{\varvec{{q}}}_s,t)} {+} \underbrace{\begin{bmatrix} {\varvec{{M}}}^{-1} \\ {\mathbb {O}}\\ {\mathbb {O}}\end{bmatrix}}_{{\varvec{{G}}}({\varvec{{x}}},{\varvec{{q}}}_s)} {\varvec{{u}}}(t)\nonumber \\&+ \underbrace{\begin{bmatrix} {\varvec{{M}}}^{-1} \\ {\mathbb {O}}\\ {\mathbb {O}}\end{bmatrix}}_{{\varvec{{K}}}({\varvec{{x}}},{\varvec{{q}}}_s)} {\varvec{{\delta }}}(t), \end{aligned}$$
(34)

where \({\varvec{{d}}} \triangleq {\varvec{{g}}}({\varvec{{q}}}_s,{\varvec{{x}}})+{\varvec{{M}}}({\varvec{{q}}}_s,{\varvec{{x}}})\begin{bmatrix} {\mathbb {O}}\\ \ddot{{\varvec{{q}}}}_{c_r} \end{bmatrix} + {\varvec{{C}}}({\varvec{{q}}}_s,{\varvec{{x}}})\begin{bmatrix} {\mathbb {O}}\\ \dot{{\varvec{{q}}}}_{c_r} \end{bmatrix}\), and \({\varvec{{u}}}(t) = {\varvec{{B}}}({\varvec{{q}}}_s,{\varvec{{x}}}){\varvec{{\upsilon }}}(t)\) is the generalized input vector.

In order to derive the nonlinear \({\mathscr {W}_{\infty }}{}\) optimal control law, system (34) composes plant \({\mathcal {P}}_2,\) which is given by

$$\begin{aligned} {\mathcal {P}}_2: {\left\{ \begin{array}{ll} \dot{{\varvec{{x}}}}(t) &{}= {\varvec{{f}}}({\varvec{{x}}},{\varvec{{q}}}_s,t) + \overline{{\varvec{{f}}}}({\varvec{{x}}},{\varvec{{q}}}_s,t) + {\varvec{{G}}}({\varvec{{x}}},{\varvec{{q}}}_s,t){\varvec{{u}}}(t) \\ &{}+\; {\varvec{{K}}}({\varvec{{x}}},{\varvec{{q}}}_s,t){\varvec{{\delta }}}(t),\\ {\varvec{{z}}}_c(t) &{}= \int _{0}^{t}\tilde{{\varvec{{q}}}}_c(\tau )d\tau ,\\ {\varvec{{z}}}_s(t) &{}= \dot{{\varvec{{q}}}}_s(t), \end{array}\right. } \end{aligned}$$
(35)

where \({\varvec{{z}}}_c(t)\) and \({\varvec{{z}}}_s(t)\) are the cost variables related to the controlled and stabilized DOF, respectively. They allow the appearance of both dynamics in the cost functional.

The \({\mathscr {W}_{\infty }}{}\) optimal control problem is posed as

$$\begin{aligned} {\varvec{{V}}}_{{\mathcal {W}}_\infty } {=}&\min _{{\varvec{{u}}} \in {\mathcal {U}}}\max _{{\varvec{{\delta }}} \in {\mathcal {L}}} \left\{ \frac{1}{2} ||{\varvec{{z}}}_c||^2_{\mathscr {W}_{3,2,{\varvec{{\Gamma }}}}} {+} \frac{1}{2} ||{\varvec{{z}}}_s||^2_{\mathscr {W}_{1,2,{\varvec{{\Upsilon }}}}}{-}\frac{\gamma ^2}{2}||{\varvec{{\delta }}}||_{{\mathcal {L}}_2}^2\right\} , \nonumber \\&\text { s.t. }{\mathcal {P}}_2, \end{aligned}$$
(36)

where \(\gamma \) is the \({\mathscr {W}_{\infty }}{}\) attenuation level, \({\mathcal {U}}\subseteq {\mathbb {R}}\), \({\mathcal {L}}= {\mathcal {L}}_2[0,\infty )\). Besides, \({\varvec{{\Gamma }}} = \{{\varvec{{\Gamma }}}_0,\;{\varvec{{\Gamma }}}_1,\; {\varvec{{\Gamma }}}_2\;,{\varvec{{\Gamma }}}_3\}\) and \({\varvec{{\Upsilon }}} =\{ {\varvec{{\Upsilon }}}_0, {\varvec{{\Upsilon }}}_1\}\) are composed of symmetric and positive-definite tuning matrices, that weight the influences of the cost variables and their time derivatives in the control objective.

Remark 7

The nonlinear \({\mathscr {W}_{\infty }}{}\) controller is designed to satisfy the inequality \(||{\varvec{{z}}}_c(t)||_{\mathscr {W}_{3,2,{\varvec{{\Gamma }}}}} \;\; + \;\; ||{\varvec{{z}}}_s(t)||_{\mathscr {W}_{1,2,{\varvec{{\Upsilon }}}}} \; \le \) \( \gamma ||{\varvec{{\delta }}}(t)||_{{\mathcal {L}}_2}\). In this case, time derivatives of the cost variables are taken into account; consequently, the controller provides a faster disturbance attenuation with an improved transient performance to the closed-loop system, besides the features mentioned in Remark 5.

The optimization problem (36) is formulated using DP, from which the associated Hamiltonian is given by

$$\begin{aligned}&{\mathbb {H}}_{{\mathscr {W}_{\infty }}{}}(V_{{\mathscr {W}_{\infty }}{}}, {\varvec{{x}}}, {\varvec{{q}}}{}_{s}, {\varvec{{u}}}, t) {=} \frac{\partial '{} V_{{\mathscr {W}_{\infty }}{}}}{\partial {\varvec{{x}}}} \dot{{\varvec{{x}}}} {+} \frac{1}{2} {\varvec{{z}}}'_{c}{\varvec{{\Gamma }}}_0{\varvec{{z}}}_{c} {+} \frac{1}{2}\dot{{\varvec{{z}}}}_{c}'{}{\varvec{{\Gamma }}}_1\dot{{\varvec{{z}}}}_{c} \nonumber \\&\quad {+} \frac{1}{2}\ddot{{\varvec{{z}}}}_{c}{\varvec{{\Gamma }}}_2\ddot{{\varvec{{z}}}}_{c} {+} \frac{1}{2}\dddot{{\varvec{{z}}}}_{c}'{}{\varvec{{\Gamma }}}_3\dddot{{\varvec{{z}}}}_{c} {+} \frac{1}{2}{\varvec{{z}}}_{s}'{}{\varvec{{\Upsilon }}}_{0}{\varvec{{z}}}_{s} {+} \frac{1}{2}\dot{{\varvec{{z}}}}_{s}'{}{\varvec{{\Upsilon }}}_{1}\dot{{\varvec{{z}}}}_{s} {-} \frac{1}{2}\gamma ^{2}{\varvec{{\delta }}}'{}{\varvec{{\delta }}}, \end{aligned}$$
(37)

with the boundary condition \(V_{{\mathscr {W}_{\infty }}{}}(0) = 0\).

The optimal control law and the worst case of disturbances are computed by taking the partial derivatives of (37) as follows

$$\begin{aligned} \frac{\partial {\mathbb {H}}_{\mathscr {W}_{\infty }}{}}{\partial {\varvec{{u}}}}&= {\varvec{{G}}}'\frac{\partial {\varvec{{V}}}_{\mathscr {W}_{\infty }}{}}{\partial {\varvec{{x}}}} {-}\Pi {\varvec{{C}}}\dot{\tilde{{\varvec{{q}}}}} {-}\Pi {\varvec{{d}}} {+} \Pi {\varvec{{\delta }}}^* {+} \Pi {\varvec{{u}}}^* = 0, \end{aligned}$$
(38)
$$\begin{aligned} \frac{\partial {\mathbb {H}}_{\mathscr {W}_{\infty }}{}}{\partial {\varvec{{w}}}}&= {\varvec{{K}}}'\frac{\partial {\varvec{{V}}}_{\mathscr {W}_{\infty }}{}}{\partial {\varvec{{x}}}} {-} \Pi {\varvec{{C}}}\dot{\tilde{{\varvec{{q}}}}} {-}\Pi {\varvec{{d}}} {+} \Pi {\varvec{{u}}}^* {+} \Pi {\varvec{{\delta }}}^* {-} \gamma ^2{\varvec{{\delta }}}^* = 0, \end{aligned}$$
(39)

where \({\varvec{{\Pi }}} \triangleq {\varvec{{M}}}{}^{-1}{\varvec{{E}}}{\varvec{{M}}}^{-1}\) with \({\varvec{{E}}} \triangleq blkdiag ({\varvec{{\Upsilon }}}_{1}, {\varvec{{\Gamma }}}_3)\). Accordingly, the optimal control law is obtained from (38), with some algebraic manipulations, and is given by

$$\begin{aligned} {\varvec{{u}}}^{*} = -\Pi ^{-1} {\varvec{{G}}}'\frac{\partial {\varvec{{V}}}_{{\mathscr {W}_{\infty }}{}}}{\partial {\varvec{{x}}}} + {\varvec{{C}}}\dot{\tilde{{\varvec{{q}}}}} +{\varvec{{d}}} - {\varvec{{\delta }}}^*. \end{aligned}$$
(40)

In addition, the worst case of the disturbances is computed by subtracting (39) from (38), yielding

$$\begin{aligned} {\varvec{{\delta }}}^* = \frac{1}{\gamma ^2}\Big ( {\varvec{{K}}}'-{\varvec{{G}}}' \Big )\frac{\partial {\varvec{{V}}}_{\mathscr {W}_{\infty }}{}}{\partial {\varvec{{x}}}}. \end{aligned}$$
(41)

The HJ equation associated with the optimization problem is obtained by replacing the optimal control law and the worst case of the disturbances in (37), which results in

$$\begin{aligned} {\dot{V}}_{{\mathscr {W}_{\infty }}{}}({\varvec{{x}}}, t) + {\mathbb {H}}_{{\mathscr {W}_{\infty }}{}}(V_{{\mathscr {W}_{\infty }}{}}, {\varvec{{x}}}, {\varvec{{q}}}{}_{s}, {\varvec{{u}}}^{*}, {\varvec{{\delta }}}^{*}, t) = 0. \end{aligned}$$
(42)

A particular solution to the HJ PDE (42) is given in the following theorem.

Theorem 3

(Adapted from (Cardoso et al. 2021)) Let \(V_{{\mathscr {W}_{\infty }}{}}\) be the parametrized scalar function

$$\begin{aligned} V_{{\mathscr {W}_{\infty }}{}}(\varvec{x},t) = \frac{1}{2} \varvec{x}'\begin{bmatrix} \hat{\varvec{U}} &{} {\mathbb {O}}&{} {\mathbb {O}}&{} {\mathbb {O}}\\ {\mathbb {O}}&{} \hat{\varvec{Q}} &{} \hat{\varvec{K}} &{} \hat{\varvec{F}}\\ {\mathbb {O}}&{} \hat{\varvec{K}} &{} \hat{\varvec{R}} &{} \hat{\varvec{S}}\\ {\mathbb {O}}&{} \hat{\varvec{F}} &{} \hat{\varvec{S}} &{} \hat{\varvec{P}} \end{bmatrix} \varvec{x} > 0, \end{aligned}$$
(43)

such that \(\hat{\varvec{U}}\), \(\hat{\varvec{Q}}\), \(\hat{\varvec{K}}\), \(\hat{\varvec{F}}\), \(\hat{\varvec{R}}\), \(\hat{\varvec{S}}\), and \(\hat{\varvec{P}}\) are positive-definite matrices and verify \(\hat{\varvec{Q}} - \hat{\varvec{K}}\hat{\varvec{R}}^{-1}\hat{\varvec{K}} > 0\) and \(\begin{bmatrix} \hat{\varvec{Q}} &{} \hat{\varvec{K}} \\ \hat{\varvec{K}} &{} \hat{\varvec{R}} \end{bmatrix} - \begin{bmatrix} \hat{\varvec{F}} \\ \hat{\varvec{S}} \end{bmatrix}\hat{\varvec{P}}^{-1}\begin{bmatrix} \hat{\varvec{F}}&\hat{\varvec{S}} \end{bmatrix} > 0\), with \(\hat{\varvec{U}}\), \(\hat{\varvec{Q}}\), \(\hat{\varvec{K}}\), and \(\hat{\varvec{F}}\) obtained from the following Riccati equations

$$\begin{aligned} -\hat{\varvec{U}}\varvec{\Upsilon }_1^{-1}\hat{\varvec{U}}+\varvec{\Upsilon }_0&= {\mathbb {O}}, \end{aligned}$$
(44)
$$\begin{aligned} -\hat{\varvec{F}}\varvec{\Gamma }_3^{-1}\hat{\varvec{F}}+\varvec{\Gamma }_0&= {\mathbb {O}}, \end{aligned}$$
(45)
$$\begin{aligned} -\hat{\varvec{Q}}\varvec{\Gamma }_3^{-1}\hat{\varvec{Q}}+2\hat{\varvec{K}}+\varvec{\Gamma }_2&= {\mathbb {O}}, \end{aligned}$$
(46)
$$\begin{aligned} -\hat{\varvec{K}}\varvec{\Gamma }_3^{-1}\hat{\varvec{K}}+2\hat{\varvec{S}} + \varvec{\Gamma }_1&= {\mathbb {O}}. \end{aligned}$$
(47)

Besides, \(\hat{\varvec{R}}\), \(\hat{\varvec{S}}\), and \(\hat{\varvec{P}}\) are given by

$$\begin{aligned} \hat{\varvec{R}}&= \hat{\varvec{Q}}\varvec{\Gamma }_3^{-1}\hat{\varvec{K}}{-}\hat{\varvec{F}}, \end{aligned}$$
(48)
$$\begin{aligned} \hat{\varvec{S}}&= \hat{\varvec{Q}}\varvec{\Gamma }_3^{-1}\hat{\varvec{F}}, \end{aligned}$$
(49)
$$\begin{aligned} \hat{\varvec{P}}&= \hat{\varvec{K}}\varvec{\Gamma }_3^{-1}\hat{\varvec{F}}. \end{aligned}$$
(50)

Then, function \(V_{{\mathscr {W}_{\infty }}{}}(\varvec{x},t)\) is a solution to the HJ Eq. (42).

The asymptotic stability of the nonlinear \({\mathscr {W}_{\infty }}{}\) controller is stated in the following theorem.

Theorem 4

(Cardoso et al. 2021) Consider a sufficiently large \({\mathscr {W}_{\infty }}{}\) attenuation level \(\gamma > 0\), satisfying \(\varvec{M}^{-1}\varvec{E}\varvec{M}^{-1}\) \(- \gamma ^2\varvec{I} < 0\), with \(\varvec{E}\triangleq blkdiag(\varvec{\Upsilon }_1 ,\varvec{\Gamma }_3)\). Let \(V_{{\mathscr {W}_{\infty }}{}}(\varvec{x},t) > 0\) be a solution of (42) given by the parametrized scalar function (43). Therefore, the closed-loop system composed of control law (40) and system (35) is asymptotically stable.

From the results of Theorem 3, the applied control inputs are given by:

$$\begin{aligned}&{\varvec{{\upsilon }}}(t) = {\varvec{{B}}}^{\dagger }{}({\varvec{{q}}}{}_{s}, {\varvec{{x}}}) \left( {\varvec{{g}}}{}({\varvec{{q}}}) + {\varvec{{M}}}{}({\varvec{{q}}}) \begin{bmatrix} {\mathbb {O}}{} \\ \ddot{{\varvec{{q}}}{}}{}_{c_{r}} \end{bmatrix} \right. \nonumber \\&\left. \quad + {\varvec{{C}}}{}({\varvec{{q}}},\dot{{\varvec{{q}}}}) \dot{{\varvec{{q}}}{}}{} {-} {\varvec{{M}}}{}({\varvec{{q}}}) {{\varvec{\mathcal {K}}}} {\varvec{{x}}}(t) \right) , \end{aligned}$$
(51)

with,

$$\begin{aligned} {\varvec{\mathcal {K}}} \triangleq \begin{bmatrix} {\varvec{{\Upsilon }}}_{1}^{-1}\hat{{\varvec{{U}}}} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{} &{} {\mathbb {O}}{}\\ {\mathbb {O}}{} &{} {\varvec{{\Gamma }}}_3^{-1} \hat{{\varvec{{Q}}}} &{} {\varvec{{\Gamma }}}_3^{-1} \hat{{\varvec{{K}}}} &{} {\varvec{{\Gamma }}}_3^{-1} \hat{{\varvec{{F}}}} \end{bmatrix}. \end{aligned}$$

where \(\hat{{\varvec{{U}}}}\), \(\hat{{\varvec{{Q}}}}\), \(\hat{{\varvec{{K}}}}\), and \(\hat{{\varvec{{F}}}}\) are obtained from the soltuion of (44)–(50).

Remark 8

The nonlinear \({\mathcal {H}}_\infty \) and \({\mathcal {W}}_\infty \) controllers are designed considering input-affine underactuated mechanical systems with input coupling that are represented by the canonical Euler–Lagrange equations. Therefore, these control strategies can be employed to a quadrotor UAV coupled with different manipulator configurations, provided that the system has input coupling.

4 Hardware-In-the-Loop Numerical Experiments

This section presents numerical results of two different experiments to corroborate the efficiency of the proposed single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers. The first experiment is adapted from a benchmark proposed by Suarez et al. (2020) and denoted by Experiment A. This experiment is used to tune the controllers and compare their performance by means of the integral of the square error (ISE) and integral of the absolute value of the control derivative (IADu) indexes. The second experiment, denoted by Experiment B, is designed to evaluate the controllers in a more complex scenario, with tasks commonly executed by UAMs.Footnote 3

The experiments were performed in a HIL framework using the ProVANT Simulator (Lara et al. 2018), which uses the Gazebo platform (Koenig and Howard 2004) to execute the simulation and provide a visual feedback of the experiment. Gazebo was set up with the Open Dynamics Engine (ODE) physics engine considering a step time of 4 ms, and the controllers were executed with a sample time of 12 ms. The ProVANT simulator provides a set of plugins that emulate the brushless and servo motors, and also a set of sensors that provide the complete state vector of the system. In the ProVANT simulator, the grasping of objects is performed by a plugin that emulates an electromagnet rigidly attached to the end-effector. This electromagnet generates a magnetic field strong enough to couple metallic objects when it is at 1 mm of distance.

Figure 3 shows the hardware components of the HIL framework and their connections. The simulation server used in this work is a general-purpose notebook computer equipped with an Intel Core i7 7500U processor, with two physical and four logical cores, running at 2.9 GHz, 16 GB of RAM and a NVidia 920MX GPU. This computer runs Ubuntu version 20.04 operational system and executes the software components of the ProVANT Simulator. The embedded system executes the software components of the controller, which is composed of a Raspberry Pi 3B+ SOC with a quadcore ARM Cortex-A53 processor running at 1.2 GHz, with 1GB of RAM and a VideoCore IV GPU.

The embedded system and the simulation server communicate through a local area network (LAN) connected by a 1 Gbps ethernet switch, with, respectively, fixed IP addresses 192.168.0.10 and 192.168.0.100. The controller is a ROS node implemented in C++ programming language on the embedded system that communicates using ROS message with the ProVANT Simulator. At each step time, the ProVANT simulator feeds the controller with the desired trajectory and the state of the system. The controller computes the control law and returns the control inputs to be applied to the UAM.

Fig. 3
figure 3

Connection between the embedded system and the simulation server, the software running in each system component, and the data transmitted between the softwares

In order to compare the performance of the proposed nonlinear \({\mathscr {W}_{\infty }}{}\) and \({\mathscr {H}}_{\infty }{}\) single-layer controllers, initially, the \({\mathscr {H}}_{\infty }{}\) controller was tuned with two different sets of parameters to conduct Experiment A. On the one hand, the first version, called \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller, was tuned in order to achieve a similar control effort to the \({\mathscr {W}_{\infty }}{}\) controller, for which the IADU performance index was used. For comparison purposes, in that case, we are interested in the ISE performance index. On the other hand, the second version, called \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller, was tuned pursuing ISE similar to the \({\mathscr {W}_{\infty }}{}\) controller, allowing now to analyze the control effort expended by the controllers when presenting similar trajectory tracking performance.

The \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller was implemented taking into account the control law (32) with the parameters \(\gamma = 12\), \(\omega _{us} = 0.4875\), \(\omega _{uc} = 9.5\), \(\omega _{1s} = 3\), \(\omega _{1c} = 0.65\), \(\omega _{2c} = 0.5\), \(\omega _{3c} = 2.75\), and the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller with \(\gamma = 12\), \(\omega _{us} = 0.75\), \(\omega _{uc} = 3\), \(\omega _{1s} = 2.5\), \(\omega _{1c} = 0.39\), \(\omega _{2c} = 1\), \(\omega _{3c} = 2.95\). The \({\mathscr {W}_{\infty }}{}\) controller (51) was tuned with \({\varvec{{\Upsilon }}}_{0} = {{\,\mathrm{diag}\,}}(\)50, 50), \({\varvec{{\Upsilon }}}_{1} = 10^{-4}\cdot {\mathbbm {1}}_{2}\), \({\varvec{{\Gamma }}}_{0} = {{\,\mathrm{diag}\,}}(\)0.4, 0.001, 0.001, 0.005, 0.005, 0.075, 0.075), \({\varvec{{\Gamma }}}_{1} = {{\,\mathrm{diag}\,}}(\)1, 1, 1, 1, 0.01, 0.1, 0.1), \({\varvec{{\Gamma }}}_{2} = {{\,\mathrm{diag}\,}}(\)0.1, 0.01,0.01, 1, 0.1, 0.1, 0.1), and \({\varvec{{\Gamma }}}_{3} = {{\,\mathrm{diag}\,}}(\)0.01, 0.01, 0.01, \(10^{-3}\), \(10^{-4}\), 0.01, 0.01).

To ensure satisfaction of Assumption 2, the position, velocity and acceleration references for all experiments were generated offline using a modified version of the rapidly exploring random tree (RRT) path planning algorithm, denoted RRT* (Choset et al. 2005), that was executed using MoveIt.Footnote 4 The resulting reference data were saved to a comma separated value (CSV) file to be provided during the simulations.

4.1 Experiment A

The aim of Experiment A is: (i) to tune the controllers and (ii) evaluate their tracking accuracy and control effort. Figure 4 illustrates the environment of Experiment A, highlighting its parameters. This experiment is composed of the following phases: the UAM starts at the origin \(^{(1)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [0 \; 0 \; 0]'{}\) m, lifts off to position \(^{(2)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [0 \; 0 \; h_1]'{}\) m, proceeds to \(^{(3)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [0.9d_\mathrm{goal} \; 0 \; h_1]'{}\) m, then goes to \(^{(4)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [d_\mathrm{goal} \; 0 \; h_\mathrm{goal}]'{}\) m while its manipulator arm is extended in its total length, reaching the goal position, and finally it proceeds to \(^{(5)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [d_\mathrm{goal} \; 0 \; h_1]'{}\) m. The experiment parameters were obtained from Table V of Suarez et al. (2020), which are given by \(h_1 = 2 \) m, \(d_\mathrm{goal} = 2\) m, and \(h_\mathrm{goal} = 1\) m. It is noteworthy that the ground effect and the friction force of the manipulator’s joints are disregarded in this experiment.

Fig. 4
figure 4

Environment of the Experiment A. Image obtained from Suarez et al. (2020)

Fig. 5
figure 5

Roll and pitch angles, error of translational position and yaw angle, and angles of the manipulator arm during experiment A

Figures 5 and 6 show the results obtained in Experiment A, while Table 2 shows the related performance indexes. Note that all the designed controllers were able to track the desired trajectories with small error and similar behavior. Nevertheless, when analyzing the performance indexes of the \({\mathscr {H}}_{\infty }^{\text {IADu}}\) and \({\mathscr {W}_{\infty }}{}\) controllers, clearly the nonlinear \({\mathscr {W}_{\infty }}{}\) controller provided a higher precision during the trajectory tracking. This better performance is obtained due to the inclusion of the system dynamics directly in the cost functional, which provides smoothness to the control system, added to a greater number of parameters available for control adjustment. The latter affords more flexibility for the \({\mathscr {W}_{\infty }}{}\) controller in order to achieve the desired performance in control systems with different time scales, as the UAM.

Fig. 6
figure 6

Applied control inputs during experiment A

Table 2 Performance indexes—Experiment A

Indeed, from the tuning parameters used in the \({\mathscr {W}_{\infty }}{}\) controller, it is possible to infer that the UAM used in this work has at least three groups of dynamics with very distinct behavior, namely the attitude, linear positions, and manipulator joint dynamics, and thus, they require distinct tuning. In contrast, the nonlinear \({\mathscr {H}}_{\infty }{}\) controller designed here considers only two different groups of dynamics for tuning, one related to the controlled DOF and other related to the stabilized DOF. Consequently, this controller must be adjusted seeking a performance trade-off between the dynamics in this two DOF groups, making it difficult to obtain an acceptable performance for the whole system. In this context, the possibility of weighting each DOF separately is a clear advantage of the \({\mathscr {W}_{\infty }}{}\) control formulation.

Additionally, when the \({\mathscr {H}}_{\infty }{}\) controller is tuned to obtain similar precision, as in the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller, it demands a much higher control effort, as can be verified by the IADu index. Therefore, it is noteworthy that these features provide the nonlinear \({\mathscr {W}_{\infty }}{}\) controller better transient response with less control effort and less oscillatory behavior.

4.2 Experiment B

The aim of this experiment is to evaluate the following features: (i) the performance of the UAM operating in hover mode; (ii) the ability to track a time-varying trajectory, grasp and carry an object; (iii) the system behavior under movements of the robotic arm; (iv) robustness against disturbances such as ground effect, environment wind, friction forces, and parametric and structural uncertainties. Figure 7 illustrates the environment designed for Experiment B, indicating the UAM initial position, an obstacle to be avoided by the UAM, and a yellow object, which is a metallic cube placed at the goal position (Target). In this experiment, the UAM must perform a mission composed of the following stretches: the UAM starts at the initial position \({\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}}(0) = [0.5\; 2.7\; 0]'\) m, displaced from the desired position \(^{(1)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [0.5\; 2.7\; 1]'\) m, with the remaining states equal to zero; goes through the intermediate point \(^{(2)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [1.5\; 1.5\; 1.1]'\) m; proceeds to the target position \(^{(3)}{\varvec{{p}}}_{{\mathcal {F}}_{{{\mathcal {L}}}_4}}^{{\mathcal {F}}{}_{{\mathcal {I}}{}}{}} = [2.23\; 2.7\; 0.73]'\) m and hovers while extending its manipulator arm; grabs the small metallic cube with mass of 200 g; retracts the manipulator arm; returns to the starting position carrying the object; and lands.

Fig. 7
figure 7

Simulation environment designed in Gazebo for experiment B

Fig. 8
figure 8

Roll and pitch angles, error of the yaw angle, and angles of the manipulator arm during Experiment B

The ground effect and the friction force of the manipulator’s joints are assumed unmodeled dynamics for control design purposes, that must be attenuated by the proposed single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) controllers. Additionally, to emulate a northeasterly wind actuating on the UAM in the direction of the wind, a drag force of 0.5 N is applied to the center of gravity of the quadrotor UAV when it is operating outdoor (on the right side of the simulation environment). This drag force is computed as (Hoerner 1965)

$$\begin{aligned} f_\mathrm{drag} = 0.5 \; c_D \; \rho \; a \; u^2, \end{aligned}$$
(52)

where \(c_D = 1.05\) is the drag coefficient (the drag coefficient of a cube is employed to account for the worst case, the actual coefficient is expected to be lower), \(a \approx 0.1\ \text {m}^{2}\) is the cross-sectional area of the UAM, obtained from the CAD model, \(\rho = 1.21\ \text {kg}/\text {m}^3\) is the fluid mass density, and u is the wind speed in m/s, set as 2.8 m/s, which is the average wind speed at the Federal University of Minas Gerais campus.

Table 3 Performance indexes—Experiment B
Table 4 Maximum and mean values of the end-effector tracking error during the grasping of the metallic object in Experiment B
Fig. 9
figure 9

Applied control inputs during Experiment B. The purple line indicates the approximate instant in which the cube is grasped by the end-effector using the different controllers (Color figure online)

Fig. 10
figure 10

3D trajectory of the end-effector during Experiment B

Fig. 11
figure 11

External disturbances generated by the ground effect, wind, and joint friction during Experiment B

At the beginning of the experiment, the UAM starts vertically displaced from the reference in order to evaluate the performance of the control systems when the tracking error is large. From Figs. 8, 9 and 10, notice that the UAM converges to the desired trajectory in a few seconds. After 15 seconds, the UAM reaches the target and extends its manipulator arm. In this stretch of the simulation, the ground effect increases due to the proximity with the table. Despite some oscillations, the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) and \({\mathscr {W}_{\infty }}{}\) controllers are able to achieve the mission. Conversely, the \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller presents a growing oscillatory behavior due to the ground effect, which increases even more when the UAM grasps the metallic cube, destabilizing the system. Since the \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller was unable to achieve the mission, falling to the ground in approximately 27 seconds, Tables 3 and 4 show only the performance indexes of the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) and \({\mathscr {W}_{\infty }}{}\) controllers.

It is noteworthy that the \({\mathscr {H}}_{\infty }{}\) controller requires greater control effort than the \({\mathscr {W}_{\infty }}{}\) controller in order to attenuate the disturbances and complete the mission. This analysis is corroborated by the performance indexes present in Table 3, which shows that even though the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller expends more control effort than the \({\mathscr {W}_{\infty }}{}\) controller, the latter achieved a better trajectory tracking performance. Table 4 shows the maximum and mean tracking error of the end-effector during the phase of grasping of the metallic object. It can be observed that, due to the ground effect, the biggest error in the translational position is achieved in the altitude, besides that, the tracking error remains reasonable.

Figure 11 shows the generalized disturbance forces and torques applied to the system due to the drag force, ground effect, and joint frictions. Note that all system DOF are affected by these external disturbances. Also, it is worth highlighting that the generalized disturbances depend on the UAM dynamic behavior due to the mapping of the external disturbances to the generalized ones. This behavior can be appreciated in Fig. 11 that shows the effect of the generalized disturbances when the experiment is performed with each controller. Additionally, the effect of the object grasping can be seen in Table 5, which shows the average thrust generated by each propeller in small intervals before and after that event. It is noteworthy the consistency of the thrust increased by approximately the weight of the grasped object with 200g. Also, notice that the controllers are also affected by parametric and structural uncertainties due to the differences between the model used for control design, which is developed in Sect. 2, and the one implemented in the simulator (CAD model) which is more precise. The \({\mathscr {H}}_{\infty }^{\text {ISE}}\) and \({\mathscr {W}_{\infty }}{}\) controllers are able to accomplish the mission, and successfully attenuate the effects of these disturbances.

Table 5 Average propeller thrust before (between 22.5 and 27.5 s) and after (between 27.5 and 32.5 s) grasping during Experiment B
Fig. 12
figure 12

Histogram of the control law execution times during Experiment B

Figure 12 presents the histogram of the control law execution time for the nonlinear \({\mathscr {H}}_{\infty }^{\text {ISE}}\) and \({\mathscr {W}_{\infty }}{}\) controllers during the Experiment B, while Table 6 shows their minimum, average, and maximum execution times. Both control laws are always computed in a shorter time interval than the 12-ms sampling time. Therefore, both controllers are suitable for deployment in the real system. Also note that, as a result of its simpler control law, the \({\mathscr {W}_{\infty }}{}\) controller has slightly faster execution times than the \({\mathscr {H}}_{\infty }{}\) controller. In both control laws, the most computationally expensive operations are the computation of the Coriolis and centripetal forces matrix and of the Moore–Penrose pseudo-inverse. Thus, these operations are prime candidates for computational performance optimization.

Table 6 Control law execution times during the Experiment B

5 Conclusion

This work presented the multi-body dynamical modeling of an underactuated UAM from the perspective of its end-effector. Accordingly, two single-layer nonlinear controllers were designed, based on the \({\mathscr {H}}_{\infty }{}\) and \({\mathscr {W}_{\infty }}{}\) control approaches, for robust trajectory tracking of the UAM end-effector. These controllers were implemented in an embedded computational system and validated in a HIL framework. Two different scenarios were considered in the numerical experiments. The first scenario was designed to evaluate the tracking accuracy and the control effort of the UAM, while the second one was proposed to evaluate the controller’s performance in an usual task that includes hovering, tracking a time-varying trajectory, extending and retracting the manipulator arm, grasping and carrying an object, while the UAM is affected by disturbances such as the ground effect, environment wind, and parametric and structural uncertainties.

For comparison purposes, the single-layer nonlinear \({\mathscr {H}}_{\infty }{}\) controller was tuned considering two different criteria. The \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller was tuned to achieve a similar control effort with respect to the single-layer \({\mathscr {W}_{\infty }}{}\) controller, while the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller was tuned to achieve a similar tracking performance. These performances were evaluated through the IADU and ISE indexes. It was verified that the \({\mathscr {W}_{\infty }}{}\) controller provided greater tracking accuracy compared to the \({\mathscr {H}}_{\infty }^{\text {IADu}}\) one and less control effort than the \({\mathscr {H}}_{\infty }^{\text {ISE}}\) controller. Moreover, in the second scenario, the \({\mathscr {H}}_{\infty }^{\text {IADu}}\) controller was not able to attenuate the applied disturbances and could not complete the experiment. All the control laws were executed in a feasible computational time to be implemented in the embedded system.

The loss of performance when subjected to disturbances and the difficulty of adjusting the \({\mathscr {H}}_{\infty }{}\) controller is due to its formulation that requires that all DOF in each dynamics group (stabilized and controlled) be tuned with the same weighting parameters (see Appendix A). Therefore, future work will include the reformulation of the nonlinear \({\mathscr {H}}_{\infty }{}\) control strategy to allow separate weighting of more dynamics. Also, the possibility of solving this issue by normalizing the system in terms of time scales will be analyzed. In addition, since we are dealing with an aerial manipulator, it is intended to reformulate the presented controllers in the operational space taking into account constraints related to its workspace, obtain a kinematic and dynamic model free of representational singularities, and consider a contact model of the UAM for control design purposes. Finally, it is also intended to carry out real flight experiments.