Introduction

In the recent years, aerial manipulation on multi-propeller aerial robot (MAR) has received extensive attention and rapid development worldwide. Due to the unique characteristics and low-cost advantages, MARs have been used for different applications, such as aerial manipulation, construction, and transportation in the early days of their appearance.

Background

The early aerial manipulation experiments are usually carried out in indoor environment under motion capture system. In recent years, outdoor aerial manipulation gets further attention from researchers. The competition named MBZIRC 2020 requires a team of MARs and unmanned ground vehicle (UGV) to collaborate to fight the fire and build a wall in indoor and outdoor environment [1].

The aerial manipulation process usually includes manipulating object, transportation, and placing object part. An MAR for manipulation consists of a multi-propeller rotorcraft and manipulating devices [2]. Usually, multi-degree of freedom (DOF) aerial manipulators, grippers, cables/tethers, and other similar equipment [3] are selected as manipulating devices [4]. For an aerial transportation, cables and tethers [5, 6] are popular transporting device because they are cheap and easy to implement for researchers. Usually researchers tie the object to the cable or tether before experiment. Also some companies launch the MAR express project by utilizing the landing gear like Amazon [7] and SF Technology [8] in a relatively simplified way. However, this kind of transporting device is not suitable for the scenarios that urge the MAR to pick the object during aerial manipulation. The grippers and manipulators are the most widely used manipulating devices when picking up or placing the objects. The MARs with grippers are limited by the workspace while manipulators’ weight is a negative factor for maneuvering. Also some researchers utilize the the gripper [9, 10] as the manipulating device, but the workspace is limited while too small distance between MAR and ground will lead to severe ground effect. In the robot competition named MBZIRC 2017, rigid rods are adopted for the picking device by some teams [11, 12] while the workspace is still not big enough. A parallel mechanism and an electromagnetic end-effector are used to realize the building in MBZIRC 2020 [13].

During an aerial manipulation, dynamic stability is challenging because the MAR should deal with the collision, external disturbance, changing inertia and underactuated characteristic [14,15,16]. The MAR can be regarded as a rigid body during the transportation when the grippers or landing gears are used as the manipulating devices, because the payload remains relatively static to the MAR. The dynamics changes when the cables/tethers or manipulators are applied during the manipulation.

For an aerial manipulation, most systems, including multi-propeller aircraft and manipulating devices, use the proportional-integral-derivative (PID) control at an earlier time [10, 17]. With the development of technologies, advanced systems make use of hierarchical [18] and hybrid controls [19] that are more suitable for complex conditions. These control methods separate the control of an MAR and the control of a manipulating device, and then fuse them to control the entire system. The control of multi-propeller aircraft adopts PID [9, 10, 17], adaptive [19, 20], trajectory linearization control (TLC) [21], backstepping [22], sliding-mode [23], and other methods, whereas impedance control [24] and visual servoing control [25, 26] are the most common methods for the manipulating devices. TLC is an effective nonlinear control methodology based on strict theories in differential algebra and differential geometry [27]. In TLC, the tracking error is linearized dynamically along the nominal trajectory to obtain the linearized system, which is different from the feedback linearization control. TLC method combines open-loop inverse control and closed-loop feedback stability regulation, which has good dynamic characteristics and robustness [28]. So it’s very suitable for MAR’s aerial manipulation scenarios.

Contribution

The contributions of this paper can be summarized as follows:

On the one hand, we analyze the dynamic modeling of the hybrid system for an aerial manipulation. Based on the dynamic model, the MAR is stabilized by a cascade controller of TLC and model reference adaptive control (MRAC) method called adaptive trajectory linearization controller (ATLC). The MRAC is applied in actuator dynamics to deal with the external forces from environment and inaccurate modeling caused by the swinging passive manipulator, which is designed by Lyapunov method. The stability of the proposed switched system is analyzed by Lyapunov method. The adaptive controller in ATLC can deal with the disturbance and the change of stages during the aerial manipulation. The TLC is applied because of its effectiveness and simple structure. In [21, 29], an MAR with dual active arms is stabilized by a controller designed by TLC method. But it does not consider variable inertia during aerial manipulation. Also in this paper, the passive manipulator puts forward higher requirements on the controller.

On the other hand, the simulations and experiments are carried out based on the prototype with the passive manipulator as shown in Fig. 1. Comparing with active manipulator, it is lighter because of the underactuatation. In [28], an MAR with one active arm is stabilized by TLC method but it does not realize real-world experiments. In this paper, the simulations’ results show that ATLC is more stable and with more accurate tracking than TLC dealing with the collision, external disturbance, changing inertia and underactuated characteristic during the aerial manipulation.The ATLC is better than TLC because the adaptive controller can deal with the disturbance and the switching system can deal with the stages’ change during the aerial manipulation. Field experiments are carried out to prove the feasibility of the ATLC controller for an aerial manipulation.And comparing with the TLC controller for aerial arm waving experiment in [21], ATLC performs better than TLC in control accuracy.

The remainder of this paper is composed of five sections: Structure and mechanism design of the proposed MAR is presented in Sect. 2. In Sect. 3, the dynamic modeling and controller design of the MAR is presented. Section 4 describes the simulation and experiments. Finally, Section 5 provides some concluding remarks and areas of future work.

Fig. 1
figure 1

MAR for aerial manipulation. The passive manipulator is shown separately

Structure and hybrid system

Structure of MAR

The configuration of MAR is illustrated in Fig. 2. It is consist of a hexacopter and a passive manipulator. The manipulator includes two joints, two rods, and an electromagnetic end-effector. The joints are both Hooke joints and the first arm is attached to the bottom of the frame with a damper element. In order to avoid the ground effect induced by walls, bricks, and the ground, the second rod can’t be too short. The length of the two arms are designed as \({\mathbf {L}} = {\left( {{l_1},{l_2}} \right) ^T} = {\left( {0.4103,0.5114} \right) ^T}{\hbox {m}}\) according to the optimized method considering picking, load capacity, and landing of the MAR [30].

Fig. 2
figure 2

Configuration of MAR. \({\Sigma _E}\) stands for the earth-fixed frame while \({\Sigma _B}\) denotes the hexacopter’s body frame.The origin of the frame \({\Sigma _{{\hbox {II}}}}\) is in the joint. The Y-axis of \({\Sigma _{{\hbox {II}}}}\) is parallel to the Y-axis of \({\Sigma _B}\). The X-axis of \({\Sigma _{{\hbox {II}}}}\) is along the second rod. The Z-axis is perpendicular to the \({X_{II}}{O_{II}}{Z_{II}}\) plane and follows the right-hand rule. \({l_1}\) and \({l_2}\) are the length of two arms respectively. \({m_3}\) is the mass of the end-effector. \({T_i}\) and \({Q_i}\) are the thrust and torque produced by the \(i{\hbox {th}}\) propeller. The angle between the first rod and the second rod in the \({X_B}{O_B}{Z_B}\) plane is written as \({\varphi _{{l_2}}}\), while the angle around the \({Z_B}\) axis is \({\theta _{{l_2}}}\)

Hybrid system

The overview of the aerial manipulation is shown in Fig. 3. It can be regarded as a hybrid system [31] because the important term mass matrix in the dynamics equation changes during the whole process of an aerial manipulation.

The dynamics of system can be written as follows:

Fig. 3
figure 3

Hybrid system for an aerial manipulation

$$\begin{aligned} {{\mathbf {M}}_K}{{{\dot{\zeta }} }} + {{\mathbf {C}}_K}({{\zeta }}){{\zeta }} + {{\mathbf {G}}_K}({\mathbf {R}}) = {\mathbf {H}}{{\mathbf {u}}_K}, \end{aligned}$$
(1)

where \({{\mathbf {M}}_K} \in {{{\mathbb {R}}}^{6 \times 6}}\), \({{\mathbf {C}}_K} \in {{{\mathbb {R}}}^{6 \times 6}}\), \({{\mathbf {G}}_K} \in {{{\mathbb {R}}}^6}\) are the generalized inertia matrix, Coriolis matrix, and gravity matrix in the different K stages, respectively. \({{\zeta }} = \left( {{\mathbf {v}},{{\omega }}} \right) \in {{\mathbb {R}}^6}\) represents the linear velocity and the angular velocity expressed in the body-fixed frame. \({\mathbf {R}}\) is the attitude of the MAR’s frame. \({{\mathbf {u}}_K} = {\left( {T,{{\mathbf {\tau }}_\mathrm{MAR}}} \right) _K} \in {{\mathbb {R}}^4}\) is the control input of the system, T is the total thrust and \({{\mathbf {\tau }}_\mathrm{MAR}}\) is the torque produced by the propellers. \({\mathbf {H}} \in {{\mathbb {R}}^{6 \times 4}}\) stands for the control allocation matrix of the MAR.

When \(K = 1\), the system is in take off stage. The mass and inertia do not change significantly because of the ground support; then we consider \({{\mathbf {M}}_1} = {{\mathbf {M}}_\mathrm{MAR}}\), \({{\mathbf {G}}_1} = {{\mathbf {G}}_\mathrm{MAR}}\) .The subscript MAR stands for the variable in a standard initial configuration.

When \(K = 2\), the system is in free flight stage and \({{\mathbf {M}}_2}(t) = {{\mathbf {M}}_\mathrm{MAR}} + {\mathbf {M}}_{{l_1}}^B + \overline{{\mathbf {M}}_{{l_2}}^B(t)} \). \({\mathbf {M}}_{{l_1}}^B\) is the inertia tensor of the first rod and buffer device because the first rod has no relative rotation with the frame. The mean inertia tensor of the second rod and the end-effector \(\overline{{\mathbf {M}}_{{l_2}}^B(t)} \) can be expressed to describe the change of the inertia tensor of this process as \(\overline{{\mathbf {M}}_{{l_2}}^B\left( t \right) } = \frac{{\int _0^{{\varepsilon _\mathrm{freefight}}} {{\mathbf {M}}_{{l_2}}^B\left( t \right) \mathrm{d}t} }}{{{\varepsilon _\mathrm{freefight}}}}\), and \({\varepsilon _\mathrm{freefight}}\) is the motion epoch. The second arm of the model can be regarded as a pendulum in 3-dimensional space. Its motion can be divided into two sections: one is a swing along the XOZ plane, the other is a uniform circular motion along XOY plane. Then \({\mathbf {M}}_{{l_2}}^B\left( t \right) \) can be expressed as

$$\begin{aligned}&{\mathbf {M}}_{{l_2}}^B(t) = {\hbox {Ad}}_{{{\left( {{\mathbf {R}}_{{\hbox {II}}}^B(t)} \right) }^{- 1}}}^T{\mathbf {M}}_{{l_2}}^{{\hbox {II}}}(t){\hbox {A}}{{\hbox {d}}_{{{\left( {{\mathbf {R}}_{{\hbox {II}}}^B(t)} \right) }^{ - 1}}}}\nonumber \\&\quad = \left[ {\begin{array}{*{20}{c}} {{\mathbf {R}}_{{\hbox {II}}}^B(t){\mathbf {I}}_{{l_2}}^{{\hbox {II}}} {{\left( {{\mathbf {R}}_{{\hbox {II}}}^B(t)} \right) }^T} - {m_{{l_2}}}{{{\hat{r}}}}_ {{l_2}}^2(t)}&{}\quad {{m_{{l_2}}}{{{{{\hat{r}}}}}_{{l_2}}}(t)}\\ { - {m_{{l_2}}}{{{\hat{r}}}_{{l_2}}}(t)}&{}{{m_{{l_2}}}{{\mathbf {E}}_3}} \end{array}} \right] , \end{aligned}$$
(2)

where \({m_{{l_2}}}\) and \({\mathbf {I}}_{{l_2}}^{{\hbox {II}}}\) are the mass and inertia expressed in the \({\Sigma _{{\hbox {II}}}}\) frame, respectively. \({\mathbf {R}}_{{\hbox {II}}}^B(t)\) is the rotation matrix between \({\Sigma _{{\hbox {II}}}}\) and \({\Sigma _{\hbox {B}}}\) , \({{\mathbf {r}}_l}_{_2}(t)\) is the origin of the \({\Sigma _{{\hbox {II}}}}\) expressed in \({\Sigma _{\hbox {B}}}\). And \({{\mathbf {E}}_3}\) is the identity matrix.

When \(K = 3\), the system is in pick and raise stage. The inertia is changing during this process and it will be stabilized by the ATLC controller, and inertia can be expressed as \({{\mathbf {M}}_3}(t) = {{\mathbf {M}}_\mathrm{MAR}} + {\mathbf {M}}_{{l_1}}^B + {\mathbf {M}}_{{l_2}}^B + \frac{{{\mathbf {M}}_\mathrm{brick}^B}}{{{\varepsilon _\mathrm{pick}}}}\int _{{t_2}}^t {\mathrm{d}t} \), where \({\varepsilon _\mathrm{pick}}\) is the picking time. \({\mathbf {M}}_{{l_2}}^B\) and \({\mathbf {M}}_\mathrm{brick}^B\) are generalized inertia matrix of the second rod and the target brick expressed in \({\Sigma _{\hbox {B}}}\), respectively.

When \(K = 4\), the system is in fly with payload stage. The inertia is similar to the free flight stage except for payload. It can also be expressed by the mean generalized inertia tensor \({{\mathbf {M}}_4}(t) = {{\mathbf {M}}_\mathrm{MAR}} + {\mathbf {M}}_{{l_1}}^B + \overline{{\mathbf {M}}_{{l_2}}^B(t) + {\mathbf {M}}_\mathrm{brick}^B(t)} \).

When \(K = 5\), the system is in a construct stage. The inertia is similar with the pick and raise stage. It can be expressed as \({{\mathbf {M}}_5}(t) = {{\mathbf {M}}_\mathrm{MAR}} + {\mathbf {M}}_{{l_1}}^B + {\mathbf {M}}_{{l_2}}^B + {\mathbf {M}}_\mathrm{brick}^B - \frac{{{\mathbf {M}}_\mathrm{brick}^B}}{{{\varepsilon _\mathrm{construct}}}}\int _{{t_3}}^t {\mathrm{d}t} \). Similarly, \({\varepsilon _\mathrm{construct}}\) is the construct time.

The entire aerial manipulation process of MAR can be regarded as a hybrid system because the dynamics of the entire system changes with the mode switching as shown in Fig. 3. The dynamic model has a significant jump when the brick is picked or constructed, it can be confirmed in Sect. 4. The system consists of two parts, namely, a continuous variable system and a discrete event system [31]. In each sub-stage, the equation of state is continuous. Thus, each sub-stage is a continuous variable system. In the switching state of the work mode, discrete events drive the change in mode. A continuous dynamic time evolution and discrete time variation are combined to form the entire hybrid system.

Define the switching coefficient matrix \({\mathbf {S}}(K) \in {{\mathbb {R}}^6}\) as

$$\begin{aligned} {\mathbf {S}}(K) = [{s_1}(K);{s_1}(K);{s_1}(K);{s_2}(K);{s_2}(K);{s_2}(K)], \end{aligned}$$
(3)

where \({s_1}(K) = \frac{K - 1}{{24}}( - {K^3} + 13{K^2} - 58K + 96)\), \({s_2}(K) =\frac{{(K - 1)(K - 2)}}{{24}}\left( {(5\varepsilon - 3){K^2} + (25 - 47\varepsilon )K + 12(9\varepsilon - 4)} \right) \) and \(\varepsilon \in (0,1)\) is the completeness of the manipulation or construction phase.

Then the \({{\mathbf {M}}_K}\) can be further expressed as

$$\begin{aligned} {{\mathbf {M}}_K} = {{\mathbf {M}}_\mathrm{MAR}} + {\mathbf {M}}_L^B \cdot {\mathbf {S}}(K), \end{aligned}$$
(4)

where \({\mathbf {M}}_L^B = \left[ {{\mathbf {M}}_{{l_1}}^B + {\mathbf {M}}_{{l_2}}^B,{\mathbf {M}}_\mathrm{brick}^B} \right] \). The upper and lower elements of \({\mathbf {S}}(K)\), respectively, represent the influence of the manipulator and the target on the overall inertial parameter. The expression of \({{\mathbf {C}}_K}({{\zeta }}){{\zeta }}\) can be expressed in detail by Lagrange method as

$$\begin{aligned} {{\mathbf {C}}_K}{{\zeta }} = \left[ {\begin{array}{*{20}{c}} {{m_K}{{{\hat{\omega }} v}} + \left( {{m_K}{{{{{\hat{r}}}}}_C}(t){{\omega }}} \right) \times {{\omega }}}\\ {{{{\hat{\omega }} }}{{\mathbf {I}}_K}(t){{\omega }} - {m_K}{{{{{\hat{r}}}}}_C}(t){{{\hat{v}}\omega }}} \end{array}} \right] , \end{aligned}$$
(5)

where \({{\mathbf {r}}_C}(t)\) is the center of mass (COM) expressed in \({\Sigma _{\hbox {B}}}\), \({{\mathbf {I}}_K}\) is inertia matrix of the generalized inertia matrix \({{\mathbf {M}}_K}\), and \({m_k}\) is the total mass of the system at all stages.

And the gravity matrix \({G_K}(t)\) is

$$\begin{aligned} {{\mathbf {G}}_K}(t) = \left[ {\begin{array}{*{20}{c}} {{{\mathbf {R}}^{{\mathbf { - 1}}}}{{\mathbf {G}}_0}(t)}\\ {{\hat{r}}_C}{{\mathbf {R}}^{{\mathbf { - 1}}}}{{\mathbf {G}}_0}(t) \end{array}} \right] . \end{aligned}$$
(6)

Dynamic modeling and controller design

Passive decomposition

The dynamics of system (1) can be decoupled utilizing passive decomposition method [32] as

$$\begin{aligned} {\dot{{\zeta } }} = \left[ {\begin{array}{*{20}{c}} {{\varDelta _ \bot }}&{{\varDelta _ \top }} \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {{}^b{\dot{\mathbf{p}}}}\\ {{\omega }} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{{\mathbf {E}}_3}}&{}{{{\mathbf {S}}_E}}\\ 0&{}{{{\mathbf {E}}_3}} \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {{}^b{\dot{\mathbf{p}}}}\\ {{\omega }} \end{array}} \right] , \end{aligned}$$
(7)

where \({\mathbf {p}}\) is position of COM expressed in \({\Sigma _{\hbox {E}}}\).

Then the above equation can be transformed from the body frame to the earth-fixed frame as follows [28]:

$$\begin{aligned} \begin{array}{l} {\hbox {Transition}}\quad {\hbox {system}} \left\{ {\begin{array}{*{20}{l}} {{\dot{\mathbf{p}}}} = {\mathbf {v}}\\ {{\dot{\mathbf{v}}} = - \frac{1}{{{m_K}}}{\mathbf {R}}T{{\mathbf {e}}_3} + g} \end{array}} \right. \\ {\hbox {Rotation}}\quad {\hbox {system}}\left\{ \begin{array}{l} {\dot{\mathbf{R}}} = {{\mathbf {R}}^T}{\hat{{{\omega }} }}\\ {{\mathbf {M}}_K}\dot{{{\omega } }} + {{\mathbf {C}}_K}{{\omega }} = - {\mathbf {S}}_E^TT{e_3} + {{\mathbf {\tau }}_\mathrm{MAR}} = {{\mathbf {\tau }}_E}{\mathbf {n}} \end{array} \right. \end{array}, \end{aligned}$$
(8)

where \({\hbox {g}}\) is the gravity acceleration, and \({e_3} = {(0,0,1)^T}\) is reversed along the Z-axis of the body system. \({{\mathbf {S}}_E}\) is part of \({\varDelta _ \top }\) expressed in (2).

Through this part of the decoupling, we can design the cascade TLC controller structure corresponding to the rotation subsystem and the transition subsystem.

TLC controller

The rotation subsystem and transition subsystem are designed by TLC method [28]. Both of them consist of two cascade TLC sub-controllers. As shown in Fig. 4, a TLC controller is made up of two parts: A dynamic pseudo-inverse of an open-loop controlled module, where a nominal control input is generated based on the desired system output. And the other part is a closed-loop tracking error stabilization controller for stabilizing the system so that the system has certain response characteristics.

Assuming that the tracking error of the system is small, the nonlinear tracking error can be linearized along the nominal trajectory. The partial derivative coefficient matrix can be found in [33]. And the TLC structure can be stabilized by linear time-varying control law \({{\mathbf {u}}_\mathrm{TLC}} = {{\mathbf {K}}_\mathrm{TLC}}(t){{\mathbf {x}}_\mathrm{TLC}}\). The control coefficient matrix \({{\mathbf {K}}_\mathrm{TLC}}(t)\) can be obtained by PD spectrum theory of linear time-varying system [27].

Fig. 4
figure 4

TLC controller structure. The outer loop is dynamic inverse and the inner loop is a PI stabilizer

MRAC controller

During the process of an aerial manipulation, a change in the dynamics is involved, which is caused by the impact of disturbance or manipulation target. We add an MRAC sub-controller to overcome these series of effects. The process can essentially be considered as a gain [19], namely an MRAC system with adjustable gain. It is designed utilizing Lyapunov method as shown in Fig. 5.

We consider the simplified actuator dynamics as a first-order system, whose parameters are identified by a 6-axes force/torque sensor. In addition, we consider extracting generalized force \({{\mathbf {F}}_d} = {\left( {\begin{array}{*{20}{c}}{{{\mathbf {f}}_d}}&{{{{\tau }}_\mathbf {d}}}\end{array}} \right) ^T}\) as six separate one-dimensional inputs \({u_\mathrm{mrac}}(t)\). They are independent of each other so they are not coupled.

Fig. 5
figure 5

MRAC sub-controller in entire controller. \({\varvec{\Lambda }_\mathrm{est}}\) denotes the estimation of generalized disturbance and \({\mathbf {F}}\) indicates generalized force. They are calculated from the disturbance estimator and the MAR model system

The dynamic equation of an open-loop system can be written as follows:

$$\begin{aligned} \frac{1}{{{k_a}}}{\dot{e}_\mathrm{mrac}} + {e_\mathrm{mrac}} = ({k_m} - {\beta _\mathrm{mrac}}{k_p}){u_\mathrm{mrac}}(t), \end{aligned}$$
(9)

where \({e_\mathrm{mrac}}\) is the error between the referenced model output \({y_m}\) and plant output \({y_{\hbox {p}}}\), \({k_a}\) is input–output curve parameter of the measured motor, and \({k_a} > 0\). In addition, \({\beta _\mathrm{mrac}}\) is the adaptive gain and \({k_p}\) is the influence parameter from the external disturbance.

Let

$$\begin{aligned} {k_\mathrm{mrac}} = {k_m} - {\beta _\mathrm{mrac}}{k_p}. \end{aligned}$$
(10)

Consider the following Lyapunov candidate function:

$$\begin{aligned} {V_1}({e_\mathrm{mrac}},{\beta _\mathrm{mrac}}) = e_\mathrm{mrac}^2 + {\lambda _\mathrm{mrac}}k_\mathrm{mrac}^2, \end{aligned}$$
(11)

where \({\lambda _\mathrm{mrac}} > 0\) is a positive constant.

Then,

$$\begin{aligned} \frac{{d{V_1}({e_\mathrm{mrac}},{\beta _\mathrm{mrac}})}}{{\mathrm{d}t}} = 2{e_\mathrm{mrac}}{\dot{e}_\mathrm{mrac}} + 2{\lambda _\mathrm{mrac}}{k_\mathrm{mrac}}{\dot{k}_\mathrm{mrac}}. \end{aligned}$$
(12)

By observing the dynamic equation of the open-loop system, a deformation can be obtained.

$$\begin{aligned} {\dot{e}_\mathrm{mrac}} = - {k_a}{e_\mathrm{mrac}} + {k_a}{k_\mathrm{mrac}}{u_\mathrm{mrac}}\left( t \right) . \end{aligned}$$
(13)

Evidently,

$$\begin{aligned} {V_1}({e_\mathrm{mrac}},{\beta _\mathrm{mrac}}) = e_{_\mathrm{mrac}}^2 + {\lambda _\mathrm{mrac}}k_{_\mathrm{mrac}}^2 > 0 \end{aligned}$$
(14)

is always valid.

In addition, \( - 2{k_a}e_{_\mathrm{mrac}}^2\) is negative definite when \({e_\mathrm{mrac}} \ne 0\). To ensure Lyapunov stability,

$$\begin{aligned} 2{e_\mathrm{mrac}}{k_a}{k_\mathrm{mrac}}{u_\mathrm{mrac}}\left( t \right) + 2{\lambda _\mathrm{mrac}}{k_\mathrm{mrac}}{\dot{k}_\mathrm{mrac}} = 0, \end{aligned}$$
(15)

and when simplified, the following is obtained:

$$\begin{aligned} {\dot{k}_\mathrm{mrac}} = - \frac{1}{{{\lambda _\mathrm{mrac}}}}{e_\mathrm{mrac}}{k_a}{u_\mathrm{mrac}}\left( t \right) . \end{aligned}$$
(16)

Consider the impact and disturbance in the process of manipulation, we need to design the parameter \({k_p}\) in the adaptive controller. And the momentum-based disturbance estimator is built as follows: [14]

$$\begin{aligned}&{{\varvec{\Lambda }}_\mathrm{est}} = {{\mathbf {K}}_\mathrm{est}}\nonumber \\&\quad \left( {{\varXi } - \int {\left( {{\mathbf {H}}{{\mathbf {u}}_K} - {{\mathbf {C}}_K}({{\zeta }}){{\zeta }} - {{\mathbf {G}}_K} + {{\mathbf {\Lambda }}_\mathrm{est}}} \right) \mathrm{d}t - } {\varXi }\left( 0 \right) } \right) ,\nonumber \\ \end{aligned}$$
(17)

where \({{\varvec{\Lambda }}_\mathrm{est}} = {\left[ {\begin{array}{*{20}{c}}{{{\mathbf {f}}_{{boldsymbol{\Lambda }},est}}}&{{{\varvec{\tau }}_{{\varvec{\Lambda }}, \mathrm{est}}}}\end{array}} \right] ^T} \in {{\mathbb {R}}^6}\) is the estimation of generalized disturbance caused by collision and modeling error, \({{\mathbf {K}}_\mathrm{est}} \in {{\mathbb {R}}^{6 \times 6}}\) is positive-definite diagonal matrix, and \(\varXi = {{\mathbf {M}}_K}{{\zeta }}\) is generalized momentum.

We design the \({k_p}\) as

$$\begin{aligned} {k_p} = {e^{ - \frac{{\left\| {{{\varvec{\Lambda }}_\mathrm{est}}} \right\| }}{{\left\| {\mathbf {F}} \right\| }}}}{k_{p0}}, \end{aligned}$$
(18)

where \({\mathbf {F}} = {\left[ {\begin{array}{*{20}{c}}{\mathbf {f}}&{\varvec{\tau }}\end{array}} \right] ^T} \in {{\mathbb {R}}^6}\) is generalized force and \({k_{p0}}\) is a constant to be designed.

Differentiate the (10); then

$$\begin{aligned} {\dot{k}_\mathrm{mrac}} = - {k_p}{{\dot{\beta }} _\mathrm{mrac}} - {\dot{k}_p}{\beta _\mathrm{mrac}}. \end{aligned}$$
(19)

Combining (16), (18) and (19),

$$\begin{aligned} {{\dot{\beta }} _\mathrm{mrac}} = \frac{1}{{\varvec{\lambda _\mathrm{mrac}}{k_p}}}{e_\mathrm{mrac}}{k_a}{u_\mathrm{mrac}}\left( t \right) - \frac{{\partial \frac{{\left\| {{{\varvec{\Lambda }}_\mathrm{est}}} \right\| }}{{\left\| {\mathbf {F}} \right\| }}}}{{\partial t}}\frac{{\left\| {{{\varvec{\Lambda }}_\mathrm{est}}} \right\| }}{{\left\| {\mathbf {F}} \right\| }}{\beta _\mathrm{mrac}}.\nonumber \\ \end{aligned}$$
(20)

Remark To ensure the stability of the robotics in the real-world, usually the produced generalized force \({\mathbf {F}}\) is bigger than the generalized disturbance \({{\varvec{\Lambda }}_\mathrm{est}}\), which means that the exponential\( - \left\| {{{\varvec{\Lambda }}_\mathrm{est}}} \right\| /\left\| {\mathbf {F}} \right\| \in \left[ { - 1,0} \right] \).

Stability of the switched system

The entire controller is presented in Fig. 6. The transition system controller and rotation system controller are both cascade TLC structure. Similar to the rotation system controller, two cascade TLC sub-controllers formed the transition system controller. Each controller includes the dynamic inverse of the outer loop and the PI stabilizer of the inner loop. They output velocity, force, angular velocity, and torque, respectively. And the attitude is output by transition system allocation. An adaptive sub-controller is introduced to overcome the disturbance in dynamics. In order to deal with the switching and jumps between different stages, switching controller is designed.

Fig. 6
figure 6

Entire controller of the MAR system. The subscript d represents desired/command value while the value without subscript is the sensed value. The transition system and rotation system controller are designed by TLC method, the adaptive system controller is desired by MRAC method and chosen with Lyapunov method. The switching and jumps are handled by switching controller

Define a following state equation:

$$\begin{aligned} \begin{array}{lll} \displaystyle {{\mathbf {q}}_1} = \int {{\zeta }} \mathrm{d}t - \int {{{{\zeta }}_\mathrm{mrac}}} \mathrm{d}t\\ \displaystyle {{\mathbf {q}}_2} = {{\dot{\mathbf { q}}}_1} + {a_1}{{\mathbf {q}}_1} \end{array}, \end{aligned}$$
(21)

where \({{\mathbf {q}}_1} \in {{\mathbb {R}}^6}\) is the generalized error of position and attitude, \({{{\zeta }}_\mathrm{mrac}} = \left( {{{\mathbf {v}}_\mathrm{mrac}},{{{\omega }}_\mathrm{mrac}}} \right) \in {{\mathbb {R}}^6}\) represents the linear velocity and the angular velocity expressed in the body-fixed frame caused by \({{\mathbf {F}}_\mathrm{mrac}} = {\left( {\begin{array}{*{20}{c}}{{{\mathbf {f}}_\mathrm{mrac}}}&{{{{\tau }}_\mathrm{mrac}}}\end{array}} \right) ^T}\), \({a_1} > 0\) is a scalar parameter.

Transform and differentiate it, we can get

$$\begin{aligned} \begin{array}{l} {{\dot{\mathbf { q}}}_1} = {{\mathbf {q}}_2} - {a_1}{{\mathbf {q}}_1}\\ {{\dot{\mathbf { q}}}_2} = {{{\dot{\zeta }} }} - {{{{{\dot{\zeta }} }}}_\mathrm{mrac}} - a_1^2{{\mathbf {q}}_1} + {a_1}{{\mathbf {q}}_2} \end{array}. \end{aligned}$$
(22)

Consider the following Lyapunov candidate function:

$$\begin{aligned} {{\mathbf {V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2}) = \frac{1}{2}{\mathbf {q}}_1^T{{\mathbf {q}}_1} + \frac{1}{2}{\mathbf {q}}_2^T{{\mathbf {q}}_2}. \end{aligned}$$
(23)

Differentiate it along time and substitute (20) into

$$\begin{aligned}&{\dot{\mathbf { V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2}) = {\mathbf {q}}_1^T{\dot{\mathbf { q}}_1} + {\mathbf {q}}_2^T{\dot{\mathbf { q}}_2}\nonumber \\&\quad = - {a_1}{\mathbf {q}}_1^T{{\mathbf {q}}_1} + {\mathbf {q}}_1^T{{\mathbf {q}}_2} + {\mathbf {q}}_2^T\left( {{{{\dot{\zeta }} }} - {{{{{\dot{\zeta }} }}}_\mathrm{mrac}} - a_1^2{{\mathbf {q}}_1} + {a_1}{{\mathbf {q}}_2}} \right) .\nonumber \\ \end{aligned}$$
(24)

As discussed before, \({{\mathbf {M}}_K}\) is nonsingular and the \({{\zeta }}\) can be derived from the dynamics equation (1) as

$$\begin{aligned} {{{\dot{\zeta }} }} = {\mathbf {M}}_K^{ - 1}\left( {{\mathbf {H}}{{\mathbf {u}}_K} - {{\mathbf {C}}_K}{{\zeta }} - {{\mathbf {G}}_K}} \right) . \end{aligned}$$
(25)

Define another scalar parameter \({a_2} > 0\) and construct \({\dot{\mathbf { V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2})\) further

$$\begin{aligned}&{\dot{\mathbf { V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2}) = - {a_1}{\mathbf {q}}_1^T{{\mathbf {q}}_1} - {a_2}{\mathbf {q}}_2^T{{\mathbf {q}}_2} + {a_2}{\mathbf {q}}_2^T{{\mathbf {q}}_2} + {\mathbf {q}}_2^T{{\mathbf {q}}_1}\nonumber \\&\quad + {\mathbf {q}}_2^T\left( {{{{\dot{\zeta }} }} - {{\dot{\zeta }}_\mathrm{mrac}} - a_1^2{{\mathbf {q}}_1} + {a_1}{{\mathbf {q}}_2}}, \right) . \end{aligned}$$
(26)

where \({\mathbf {q}}_1^T{{\mathbf {q}}_2} = {\mathbf {q}}_2^T{{\mathbf {q}}_1}\) is a scalar. Design a following control law:

$$\begin{aligned}&{{\mathbf {u}}_K} = {{\mathbf {H}}^{ - 1}}\nonumber \\&\quad \left( {{{\mathbf {M}}_K}\left( { - {a_2}{{\mathbf {q}}_2} - {{\mathbf {q}}_1} + {{{{{\dot{\zeta }} }}}_\mathrm{mrac}} + a_1^2{{\mathbf {q}}_1} - {a_1}{{\mathbf {q}}_2}} \right) + {{\mathbf {G}}_K} + {{\mathbf {C}}_K}{{\zeta }}} \right) .\nonumber \\ \end{aligned}$$
(27)

Substitute (27) into (26) and we get

$$\begin{aligned} {\dot{\mathbf { V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2}) = - {a_1}{\mathbf {q}}_1^T{{\mathbf {q}}_1} - {a_2}{\mathbf {q}}_2^T{{\mathbf {q}}_2}, \end{aligned}$$
(28)

The equation (28) does not include the parameter K. It means that in every stage the system has the positive definite common Lyapunov function \({{\mathbf {V}}_2}({{\mathbf {q}}_1},{{\mathbf {q}}_2})\) with the negative definite derivative \({\dot{\mathbf {V}}}_2({{\mathbf {q}}_1},{{\mathbf {q}}_2})\). And the equilibrium point is \({{\mathbf {q}}_1} = {{\mathbf {q}}_2} = {{\mathbf {0}}_{3 \times 1}}\).Then the proposed system is stable [34].

The main feature of the new ATLC controller is a new adaptive subsystem used in dealing with inertia changes in the system and external disturbances. The development from TLC to ATLC is shown in simulation and the feasible of ATLC is presented in real-world field experiments; they are introduced in Sect. 4.

Simulation and experiment

Simulation of ATLC vs TLC

The mentioned dynamic model and controller have been implemented in MATLAB/SIMULINK 2019b. Consider a following desired trajectory of the given MAR system:

$$\begin{aligned} {{\mathbf {p}}_{\mathbf {d}}} = \left( {\begin{array}{*{20}{c}} {{x_d}}\\ {{y_d}}\\ {{z_d}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {10\sin (0.4t)}\\ {0.5t}\\ {0.3t} \end{array}} \right) {{ \mathrm{m} \qquad 0 < t }} \le {\hbox {20}} \, {\hbox { s}}. \end{aligned}$$
(29)

The results under TLC controller is shown in Fig. 7; it is carried out without disturbance or manipulation task. Taking the characteristics of every motor \({{\hbox {k}}_a} = 24.39\). The setting parameter is \({a_1} = 0.35\), \({a_2} = 0.65\). And the coefficient of MRAC for this numerical case is

$$\begin{aligned} {{\mathbf {K}}_{{\mathbf {P0}}}}&= {\hbox {diag(}}{{\hbox {k}}_{{\hbox {pfx}}}}{{;}} {{\hbox {k}}_{{\hbox {pfy}}}}{{;}}{{\hbox {k}}_{{\hbox {pfz}}}}{{;}}{{\hbox {k}}_{{\hbox {pMx}}}} {{;}}{{\hbox {k}}_{{\hbox {pMy}}}}{{;}}{{\hbox {k}}_{{\hbox {pMz}}}})\nonumber \\&\quad = {\hbox {diag}} (0.01;0.01;0.01;0.05;0.05;0.05)\nonumber \\ {{\mathbf {K}}_{\mathbf {M}}}&= {\hbox {diag(}}{{\hbox {k}}_{{\hbox {mfx}}}};{{\hbox {k}}_{{\hbox {mfy}}}}; {{\hbox {k}}_{{\hbox {mfz}}}};{{\hbox {k}}_{{\hbox {mMx}}}};{{\hbox {k}}_{{\hbox {mMy}}}};{{\hbox {k}}_ {{\hbox {mMz}}}}) \nonumber \\&\quad = {\hbox {diag}}(3.5;3.5;3.5;8;8;8)\nonumber \\ {{\lambda }}&= {\hbox {diag}}({\lambda _{fx}};{\lambda _{fy}};{\lambda _{fz}}; {\lambda _{Mx}};{\lambda _{My}};{\lambda _{Mz}}) \nonumber \\&\quad = {\hbox {diag}}(8.1;8.1;6.2;4;4;3)\nonumber \\ {{\mathbf {K}}_\mathrm{est}}&= {\hbox {diag}}({{\hbox {k}}_{{\hbox {estfx}}}};{{\hbox {k}}_{{\hbox {estfy}}}};{{\hbox {k}}_ {{\hbox {estfz}}}};{{\hbox {k}}_{{\hbox {estMx}}}};{{\hbox {k}}_{{\hbox {estMy}}}}; {{\hbox {k}}_{{\hbox {estMz}}}})\nonumber \\&\quad = {\hbox {diag}}(2;2;2;8;8;8) \end{aligned}$$
(30)
Fig. 7
figure 7

Simulation results of TLC controller without disturbance or manipulation task. The red line is the desired trajectory and the blue one is the sensed trajectory

Fig. 8
figure 8

The comparison between TLC and ATLC on the roll angle with a collision appears in 4 s. The red line is the command value while the blue line is the sensed value. The green area and yellow area are the errors

Assuming that there are complex external conditions during this manipulation process, we will compare the response results under TLC controller with ATLC controller. First, assuming the MAR collides with the environment for a short time at 4 s. The value is 50 N and the direction is along the positive Y-axis in \({\Sigma _{\hbox {B}}}\). It can be represented by a Dirac delta function. Then from 6 s to 10 s, the MAR continues to be affected by the F-5 wind, and the direction is along the positive X-axis, which can be settled to about 10 N according to aerodynamics. Finally, the MAR picks the object at 11 s, and places the object at 17 s. The weight of the object is 0.3 kg, and the time of both picking and placing is 0.5 s. Assuming that the relative speed before picking is 10 m/s, the simulated force on Z-axis can be calculated according to conservation of momentum. The above process can be expressed as

$$\begin{aligned}&{{\mathbf {f}}_{{\mathbf {dis}}}}{\mathbf {(t)}} \nonumber \\&\quad = \left( {\begin{array}{*{20}{c}} {10\varepsilon (t - 6) - 10\varepsilon (t - 10)}\\ {50\varepsilon (t - 4) - 50\varepsilon (t - 4.1)}\\ {30\varepsilon (t - 11) - 30\varepsilon (t - 11.5) + 30\varepsilon (t - 17) - 30\varepsilon (t - 17.5)} \end{array}} \right) {\hbox { N}}\nonumber \\ \end{aligned}$$
(31)

The disturbance \({{\mathbf {f}}_{{\mathbf {dis}}}}{\mathbf {(t)}}\) acts on the end-effector and derived disturbance wrench is calculated by the MAR model.And \(\varepsilon \) is a Heaviside function. Also, the quality change of MAR during this process can be expressed as follows:

$$\begin{aligned} {m_\mathrm{MAR}} = 2.7 + 0.3\varepsilon (t - 11) - 0.3\varepsilon (t - 17.5)\quad {\hbox { kg}} \end{aligned}$$
(32)
Fig. 9
figure 9

TLC and ATLC comparison on the pitch angle with wind resistance appears during 6–10 s. The red line is the command value while the blue line is the sensed value. The green area and yellow area are the errors

Fig. 10
figure 10

TLC and ATLC comparison on the Z-axis around construction time. The red line is the command value, the blue line is the sensed value of ATLC while the green line is the sensed value of TLC. The purple line is the average of ATLC response and black line is the average of TLC response

The controller about roll angle achieved obvious stable improvement around the 4 s dealing with collision problem. The roll angle is chosen to prove the ability of controller because the direction of the external force has the biggest influence on this parameter. The result is shown in Fig. 8. With TLC controller, the peaks of the command and sensed value are \(-12.38^{\circ }\) and \(-19.05^{\circ }\), occur at 4.189 s and 4.465 s. The TLC controller achieves stable with the \(6.67^{\circ }\) overshoot error and 0.276 s peak time error. Further more, the ATLC controller performs better under the same input, disturbance and controller parameters. The peaks of the command and sensed value are \(-11.26^{\circ }\) and \(-13.35^{\circ }\), occur at 4.186 s and 4.296 s. The degree overshoot error is \(2.09^{\circ }\) and the peak time error is 0.110 s. So comparing ATLC with TLC, it makes 206\(\%\) improvement of the degree overshoot error and 150\(\%\) improvement of the peak time error.

The controller about pitch angle realize stabilization during 6–10 s facing the simulated wind resistance. Similar to the roll angle stabilization, pitch angle is mainly affected during this period and the result is shown in Fig. 9. A big fluctuation appears at the beginning of the response because the command is a sine curve. It will be much smoother if the command is linear. Comparing with the TLC controller, the ATLC controller makes 42\(\%\) improvement of degree overshoot error and 32\(\%\) improvement of peak time error around the beginning of the wind, 255\(\%\) improvement of degree overshoot error, and 876\(\%\) improvement of peak time error around the end of the wind.

Fig. 11
figure 11

Simulation results of ATLC controller with collision, wind resistance, and manipulation task. The red line is the desired trajectory and blue one is the sensed trajectory

Table 1 Comparison of simulation results for TLC and ATLC
Fig. 12
figure 12

Hardware of the experiment platform. a Camera is mounted in the hardware system for the future autonomous manipulation work. But the visual information is not involved in this paper. b The area of the sector represents the mass proportion of each part in the total system. And the weight of different intervals is distinguished by different colors

Fig. 13
figure 13

Aerial manipulation experiment. The process of on ground, take off, freeflight, pick, transport, and construct are shown in the same scene. More details about experimental video can be found in https://youtu.be/1aRrelrtfoU

The manipulation task including picking and placing a brick mainly affects the MAR in the Z-axis of \({\Sigma _{\hbox {E}}}\). And in order to keep stable, the MAR usually hovers at picking and placing time. So the response can be compared in \({\Sigma _{\hbox {B}}}\). The command and response are enlarged in Fig. 10. The steady-state error with TLC controller is 0.344 m while the steady-state error with ATLC controller is 0.281 m. ATLC controller performs 22.4\(\%\) better than TLC controller in dealing with the manipulating a brick task.

The entire tracking result is shown in Fig. 11. In conclusion, the ATLC performs significant improvement compared with TLC during an aerial manipulation with three typical cases: collision, wind resistance, and picking or placing. The comparison of simulation results are summarized in Table 1.

Fig. 14
figure 14

Attitude tracking during the aerial manipulation with ATLC controller. The red line is the command value while the blue line is the sensed value

Fig. 15
figure 15

Position tracking during the aerial manipulation with ATLC controller. The red line is the command value while the blue line is the sensed value

Hardware of the experiment platform

To further prove the feasibility of the controller and the proposed MAR system, an MAR is built to carry out the corresponding experiments. Experiments are conducted to verify the adaptability of the controller to the dynamic inertial parameters.

Fig. 16
figure 16

Total force in aerial manipulation. A sudden jump occurs in 60 s and 110 s for picking and construction

Fig. 17
figure 17

PWM commands during the whole process. Motors 1, 3, and 5 turn in the same direction while motors 2, 4, and 6 are in the same direction

The manipulator consists of two joints, two rods, and an electromagnetic gripper. A minor IMU is attached to the second rod to get the attitude. The total weight of the passive manipulator system is 225 g while the suction power is 300 N. It is very important to evaluate the weight of MAR especially in a manipulation task because the thrust of the motors are limited. A DJI F550 frame is adopted to accelerate the construction of the platform, while DJI E310 is selected as the motor system. The Euler angles and angular velocities of the MAR are provided by an Xsens MTI-G-710 inertial measurement unit (IMU), whereas the positions and velocities information are measured using NovAtel OEM615 RTK. A custom-made flight controller based on an STM32F427 ARM chip is applied while another MCU based on an STM32F103 ARM chip is used to process the visual data and the RTK data. The electromagnetic gripper is mounted with a hall to detect the electromagnetic surface. All information is transmitted to the ground control station (GCS) through 5G-wifi module of the onboard computer NVDIA Jeston TX2. The whole system is powered by a 3S Ace 5200 mAh battery. The MAR weighs 2,755 g including the battery. The hardware frame can be found in Fig. 12 and the overall of the MAR can be found in Fig. 1.

Experiments for aerial manipulation

Field experiments are carried out to verify the feasibility of the ATLC controller which are more complex than the controlled laboratory experiments. An aerial manipulation experiment is shown in Fig. 13. And the picking experiment, transportation experiment, and construction experiment can be found in attached video. The object weighs 243 g with a ferromagnetic surface.

The attitude responses during the aerial manipulation with ATLC controller recorded by the GCS are presented in Fig. 14. The fluctuation of the roll angle and pitch angle are kept within \( \pm 5^{\circ }\) during the manipulation process, and the yaw angle is kept within \( \pm 1^{\circ }\). The picking and placing happen around 60 s and 110 s.

As illustrated in Fig. 15, the picking happens around 60 s and placing happens around 110 s affecting the MAR in the Z-axis. An obvious position change occurs while the total thrust jumps at picking and placing time as shown in Fig. 15 and Fig. 16. The total force jumps from 28 N to 34 N at the picking time, and it returns to 28 N after releasing the brick. The brick is 243 g but the increased thrust is 6 N because the MAR needs more force to complete the lifting; also collision occurs in the Z-axis even the MAR achieves picking and placing as smoothly as possible. We can also find the changes at 60 s and 110 s in PWM commands of the motors in Fig. 17.

Fig. 18
figure 18

Disturbance estimation during the whole process

Fig. 19
figure 19

Attitude error and position error during the aerial manipulation with ATLC controller. a The red line is roll angle error, the blue line is pitch angle error, and the green line is yaw angle error. b The red line is X-axis error, the blue line is Y-axis error, and the green line is Z-axis error

As shown in Fig. 18, the disturbance force and wrench from the external disturbance estimation block are presented. From the picture, we can find that the disturbance of the external force is within the range of \( \pm 2{\hbox { \, N}}\) except for 60 s and 110 s. The disturbance is caused by the random wind disturbance and the inaccurate modeling of the passive manipulator; however, it is bounded as a whole. Around 60 s , there is a peak value lasting for 6 s. The peak occurs due to the contact between MAR and the ground through the target object. And an upward force occurs (the positive direction of the Z-axis is downward). Also, there is a peak value lasting for 2 s around 110 s, which is caused by the construction of MAR. MAR is also subject to upward force at this time. In the whole process, there is no movement along the yaw direction. We can find that the disturbance wrench along the Z-axis is smaller than X-axis and Y-axis.

The attitude errors and position errors are shown in Fig. 19. In the Fig. 19a, we can find that the attitude errors are almost within \( \pm 3^{\circ }\) except for some peak time in roll angle (still within \( \pm 5^{\circ }\)). It happens because the onboard sensors are not absolutely arranged symmetrically in the X-axis (roll angle). In the Fig. 19b, obvious peaks occur around 60 s and 110 s in Z-axis error for picking and placing happen. Otherwise, the position errors are within \(\pm 0.5\) m. The accurate attitude and position tracking are very important for the precise manipulation work in outdoor environment without motion capture system.

Experimental results prove that the ATLC controller can stabilize the MAR proposed in this paper during an aerial manipulation task. The MAR can achieve accurate manipulation with collision, disturbance, and swinging rigid payload.

Conclusion and future work

This paper presents an MAR consisting of a hexacopter and a passive manipulator for aerial manipulation. The passive manipulator is utilized because it has larger workspace and is more adaptive to inclined surface than grippers while being lighter than active manipulator. Considering inertia changes during aerial manipulation, the whole process is modeled by hybrid system method and dynamics of the MAR is decoupled. The MAR is suffered from the collision, disturbances and changing inertia caused by passive manipulator, the ATLC is designed to stabilize the system. Basing on TLC method and MRAC method, the ATLC controller is designed by Lyapunov method in cascade structure. The stability of the proposed switching system is analyzed utilizing common Lyapunov method. In the simulation, the ATLC achieves 4 times better than TLC averagely in the attitude control and approximate 1.2-times better in the position control. The experimental results prove that the ATLC controller can effectively deal with changes in the inertial parameters and counteract disturbances. The proposed MAR works well with the ATLC controller during an aerial manipulation.

In the future, more work will be carried out on the proposed MAR system, and the fully autonomous flight experiments of aerial manipulation under visual servoing will be carried out. At the same time, experiments using an active manipulator will be further developed to compare with the passive manipulator.