*Article* **Aerial Physical Interaction in Grabbing Conditions with Lightweight and Compliant Dual Arms**

#### **Alejandro Suarez \*, Pedro J. Sanchez-Cuevas, Guillermo Heredia and Anibal Ollero**

GRVC Robotics Labs, University of Seville, 41092 Seville, Spain; psanchez16@us.es (P.J.S.-C.); guiller@us.es (G.H.); aollero@us.es (A.O.)

**\*** Correspondence: asuarezfm@us.es

Received: 4 November 2020; Accepted: 12 December 2020; Published: 14 December 2020

**Abstract:** This paper considers the problem of performing bimanual aerial manipulation tasks in grabbing conditions, with one of the arms grabbed to a fixed point (grabbing arm) while the other conducts the task (operation arm). The goal was to evaluate the positioning accuracy of the aerial platform and the end effector when the grabbing arm is used as position sensor, as well as to analyze the behavior of the robot during the aerial physical interaction on flight. The paper proposed a control scheme that exploits the information provided by the joint sensors of the grabbing arm for estimating the relative position of the aerial platform w.r.t. (with respect to) the grabbing point. A deflection-based Cartesian impedance control was designed for the compliant arm, allowing the generation of forces that help the aerial platform to maintain the reference position when it is disturbed due to external forces. The proposed methods were validated in an indoor testbed with a lightweight and compliant dual arm aerial manipulation robot.

**Keywords:** aerial manipulation; dual arm; compliance

#### **1. Introduction**

The reliability in the realization of an aerial manipulation task on flight strongly depends on the positioning accuracy of the aerial robot, which mainly depends on the accuracy of the position sensors, the performance of the multirotor controller, and the effect of endogenous/exogenous forces raised during the execution of the operation. On the one hand, it is desirable that the accuracy in the position estimation of the aerial vehicle is below the 10% of the reach of the manipulator [1], being capable of compensating the undesired deviations while the multirotor hovers within the workspace. Different positioning systems have been employed in the literature. Motion capture systems such as Vicon or Opti-Track have been extensively used in indoor testbeds [2–6] due to their high accuracy (<1 cm) and high update rates (100–200 Hz), as well as because no additional devices have to be integrated in the aerial platform, but only the passive markers. Similarly, the laser tracking systems used in [7] only require the addition of a reflective marker or a prism to the multirotor, although this solution imposes that the marker is not occluded by any obstacle in the line of the laser. Several on-board perception systems have been developed for multirotor platforms, including optical flow [8], stereo vision [9], live 3D dense reconstruction [10], or laser scanners [11]. However, these solutions reduce the payload capacity of the aerial platform, as additional devices such as cameras and on-board computers have to be added and complicate the system integration. Not only that, but each of these technologies presents certain limitations relative to the operation range, accuracy, reliability, or the update rate. The docking system described in [12] is an alternative solution that exploits the proximity of the aerial platform to the workspace during the manipulation phase, using an articulated link for obtaining the relative position from the encoders of the joints.

An aerial manipulation robot operating on flight will be affected by three types of perturbations: the reaction wrenches induced over the multirotor platform due to the motion of the arms [13,14], the contact forces associated to the physical interactions on flight [4,6,15–17], as well as the aerodynamic effects [7]. As consequence, the realization of certain manipulation tasks requiring the correct positioning of the end effector, such as object grasping [2,5], valve turning [3], or inspection by contact [7,15,18], may be compromised or become unfeasible. In order to overcome these problems, several methods and strategies have been proposed, such as the estimation and control of the external wrenches acting over the aerial platform [19,20], the development of multilayer control architectures [13], or the design of lightweight and compliant robotic arms [21,22]. In this sense, it is desirable to improve the accommodation of the aerial platform to the position deviations when it is operating in contact with the environment, exploiting for this purpose the mechanical compliance of the arms [22].

The main contribution of this paper is the design, modelling, and validation of a lightweight and compliant dual arm system that allows for the estimation and control of the position of an aerial robotic manipulator relative to a fixed grabbing point, using one of the arms for grabbing and as position sensor (grabbing arm), while the other is intended to conduct the operation while flying (operation arm). Figure 1 illustrates the application of the dual arm aerial manipulator for the installation of clip-type bird diverters on a power line [23]. Two methods are proposed and evaluated. Firstly, a zero-torque controller was implemented in the grabbing arm, and thus the reaction wrenches induced over the multirotor were relatively low, using the position estimation obtained from the joint servos to control the deviations in the position of the platform with respect to the reference pose. Secondly, a force controller based on Cartesian deflection was developed to achieve the desired impedance behavior during the aerial physical interaction, using the grabbing arm to exert a force that helps the multirotor controller to reach the reference pose relative to the grabbing point. Experimental results carried out in test-bench and indoor flight tests (Figure 1) demonstrated the performance of both approaches.

**Figure 1.** Dual arm aerial manipulation robot grabbed a linear structure with the right (grabbing) arm.

The innovative aspects of this paper with respect to our previous published works [17,21,22] can be summarized in the following points:


The rest of the paper is organized as follows. The prototype employed in the experiments is firstly described in Section 2. Section 3 covers the kinematics and position estimation, with the mentioned control methods described in Section 4. The experimental results are presented in Section 5, and the conclusions are summarized in Section 6.

#### **2. System Description**

#### *2.1. Compliant Dual Arm*

The manipulator used for validating the methods described in Section 4 is a lightweight and compliant dual arm system developed at the GRVC Robotics Labs. A picture of the arms can be seen in Figure 2, indicating in Table 1 its main features. Each arm provides three degrees of freedom for end effector positioning in the following kinematic configuration [22]: shoulder yaw at the base (*q*1), shoulder pitch (*q*2), and elbow pitch (*q*3). The arms are built with the Herkulex DRS-0201 smart servos, and a customized frame structure manufactured in carbon fiber and aluminum, providing full servo protection at the shoulder yaw joint with a pair of polymer bearings, and partial servo protection in the other two joints [21]. In order to estimate and control the torques and forces, the grabbing arm (right arm) integrates 14-bit resolution magnetic encoders that are interfaced through a STM32F303 microcontroller board, sending the deflection measurement to the main computer at 200 Hz with 1 ms latency. Each of the arms and the sensors are connected to the Raspberry Pi 3B+ through USB-to-USART interfaces, where control program of the arms is executed. The manipulator is fed with a 2S, 650 mAh LiPo battery, providing an operation time of around 20 min.

**Figure 2.** Compliant dual arm used in the experiments.



The tip of the forearm link includes an aluminum flange to facilitate the integration of the end effector in the manipulator. For safety reasons, the grabbing operation is conducted with a magnetic gripper (around 5 N force), using the linear metallic structure shown in Figure 1 for grabbing.

#### *2.2. Aerial Manipulation Robot*

The dual arm system is integrated in an S550 platform, a hexarotor similar to a DJI F550. This is equipped with six DJI 2312E brushless motors with 9 × 4.5 inch propellers. Figure 3 shows a picture of the aerial robot, identifying its components, including the Pixhawk 2.1 autopilot, the Raspberry Pi 3B+ computer board, and the 4S 4400 mAh LiPo battery (0.5 kg) used as counterweight of the arms. The setup is similar to the one described in [14], constraining the motion of the arms to prevent the collision with the landing gear. The hardware and software architecture of the system is represented in Figure 4. The control program of the arms, developed in C/C++, as well as the different software modules that control the aerial platform, based on ROS and the UAV Abstraction Layer [24], are executed in the Raspberry Pi and interfaced by the Ground Control Station (GCS) through the wireless link. Four USB-to-USART devices are connected to the computer board: (1) the Pixhawk autopilot, (2) the left arm, (3) the right arm, and (4) the microcontroller board that reads the sensors. The position and orientation of the multirotor are obtained from an Opti Track system, used as ground truth.

**Figure 3.** Dual arm aerial manipulation robot.

**Figure 4.** Hardware architecture of the aerial manipulation robot.

#### **3. Modelling**

#### *3.1. Kinematics*

As usual, three reference frames are defined for the aerial manipulation system, as illustrated in Figure 5: the Earth fixed frame {*E*} (inertial), the multirotor body frame {*B*}, and the manipulator frame {*i*}, with *i* = {1, 2} for the left/right arms. In the following, *ArB* denotes the position of a certain point *B* w.r.t. (with respect to) reference frame {*A*}. In this way, *ErB* = [*x*, *y*, *z*] *<sup>T</sup>* and *<sup>E</sup>*η*<sup>B</sup>* = [φ, θ, ψ] *T* represent the multirotor position and orientation relative to {*E*}, and *<sup>i</sup> rTCP*,*<sup>i</sup>* is the position of the tool center point (TCP) of the *i*-th manipulator expressed in its own frame. The origin of {*i*} is located at the intersection of the shoulder joints, with the *x*-axis pointing forwards, the *y*-axis parallel to the baseline of the two arms, and the *z*-axis pointing upwards.

**Figure 5.** Kinematic model of the dual arm aerial manipulator.

The three reference frames are related through the corresponding transformation matrices:

$$\begin{aligned} \;^E T\_B = \begin{bmatrix} \;^E \mathbf{R}\_B(\phi, \; \theta, \; \psi) & \;^E \mathbf{r}\_B\\ \; \mathbf{0}\_{1 \times 3} & 1 \end{bmatrix} \; ; \quad ^B T\_i = \begin{bmatrix} \;^I\_{3 \times 3} & \;^B \mathbf{r}\_i\\ \; \mathbf{0}\_{1 \times 3} & 1 \end{bmatrix} \; ; \quad ^E T\_i = \;^E T\_B \;^B T\_i \end{aligned} \tag{1}$$

where *ERB* is the multirotor rotation matrix; *Bri* = [*Dx*, ±*D*/2, *Dz*] *<sup>T</sup>* is the origin of {*i*} relative to {*B*}, with *Dx* and *Dz* being the displacement of the arms with respect to {*B*} in the x- and z-axes, respectively; and *D* is the separation distance between the arms in the *y*-axis.

The arms implement the 3-DOF (degrees of freedom) configuration considered in our previous work [14,22], with three joints for TCP positioning: shoulder yaw (base), shoulder pitch, and elbow pitch. The wrist joints are not considered due to the convenience to simplify the mechanical construction and reduce the weight of the arms. The rotation angle of the *j*-th joint of the *i*-th arm is denoted as *qi j* , whereas θ*<sup>i</sup> <sup>j</sup>* is the corresponding servo shaft position. The difference between these two variables is the deflection angle, Δθ*<sup>i</sup> <sup>j</sup>* <sup>=</sup> <sup>θ</sup>*<sup>i</sup> <sup>j</sup>* <sup>−</sup> *qi j* , measured by the encoders [17,21]. The forward and inverse kinematic models are computed as follows (superscript *i* is omitted for clarity reasons):

$$\begin{aligned} \prescript{i}{}{r}\_{\text{TCP},i} = \mathsf{FK}(q^{i}) = \begin{bmatrix} r(q\_{2}, q\_{3}) \cdot \cos(q\_{1}) \\ r(q\_{2}, q\_{3}) \cdot \sin(q\_{1}) \\ L\_{1} \cos(q\_{2}) + L\_{2} \cos(q\_{2} + q\_{3}) \end{bmatrix} \tag{2} \end{aligned} \tag{2}$$

$$q^i = \text{IK}^{\{i}}(r\_{TCP,i}) = \begin{bmatrix} \text{atan2}(y, x) \\ \cos^{-1}\left(\frac{x^2 + y^2 + z^2 - L\_1^2 - L\_2^2}{2L\_1\sqrt{x^2 + y^2}}\right) \\ \cos^{-1}\left(\frac{x^2 + y^2 + z^2 - L\_1^2 - L\_2^2}{2L\_1L\_2}\right) \end{bmatrix} \tag{3}$$

where *L*<sup>1</sup> and *L*<sup>2</sup> are the upper arm/forearm link lengths, and *r*(*q*2, *q*3) is given by

$$r(q\_2, q\_3) = L\_1 \sin(q\_2) + L\_2 \sin(q\_2 + q\_3) \tag{4}$$

#### *3.2. Relative Position Estimation*

If the end effector of the grabbing arm is firmly attached to a fixed point, then it is possible to estimate the position of the multirotor relative to this grabbing point just applying the homogeneous transformation from {**2**} to {*B*}, taking into account that the position of the TCP referred to {*2*} is directly obtained from the forward kinematic model given by Equation (2). The accuracy in the position estimation can be obtained multiplying the joint position error (including the deflection error) by the Jacobian of the arm. The wrist joints are not essential for this purpose, as the multirotor orientation can be obtained from the inertial measurement unit (IMU) of the aerial platform. However, a certain level of accommodation is required at the wrist so the robotic arm can follow the position and orientation deviations of the aerial platform while it is grabbed.

Two similar mechanisms have been proposed in previous works for estimating the pose of an aerial manipulator relative to a contact point. Reference [12] presents a docking tool consisting of an articulated arm with passive joints that is deployed over a pipe with a stiff-joint dual arm, whereas reference [25] relies on a passive spherical wrist joint and an IMU integrated at the end effector of a 3-DOF arm. In this paper, we combine the passive/active compliance methods for estimating the multirotor position while controlling the interaction force.

#### *3.3. Dynamics*

The dynamic model of the compliant joint dual arm aerial manipulation robot is derived from the Lagrangian and the generalized equations of the forces and torques:

$$L = K - V\tag{5}$$

$$\frac{d}{dt}\left\{\frac{\partial L}{\partial \dot{\xi}}\right\} - \left\{\frac{\partial L}{\partial \xi}\right\} = \Gamma + \Gamma\_{ext} \tag{6}$$

where *L* is the Lagrangian; *K* and *V* are the kinetic and potential energies, respectively; ξ is the vector of generalized coordinates; and Γ and Γ*ext* respectively represent the generated and external wrenches acting on the aerial robot. The vector of generalized coordinates includes the multirotor position and orientation, as well as the servo shaft and output link angular position vectors, θ*<sup>i</sup>* = θ*i* <sup>1</sup> <sup>θ</sup>*<sup>i</sup>* <sup>2</sup> <sup>θ</sup>*<sup>i</sup>* 3 and *q<sup>i</sup>* = *qi* <sup>1</sup> *qi* <sup>2</sup> *qi* 3 , respectively, and thus ξ is defined as follows.

$$\mathcal{L} = \begin{bmatrix} \ ^{E}r\_{B} & \ ^{E}\eta\_{B} & \ \ \theta^{1} & \ \ \theta^{2} & \ \ \theta^{2} & \ \ \end{bmatrix}^{T} \in \mathfrak{R}^{18} \tag{7}$$

Analogously, the vector of generalized forces comprises the forces and torques acting over the multirotor and the joints of the manipulator.

$$
\Gamma = \begin{bmatrix} F\_B & \tau\_B & \tau\_m^1 & \tau^1 & \tau\_m^2 & \tau^2 \end{bmatrix}^T \in \mathfrak{R}^{18} \tag{8}
$$

The vector of external forces Γ*ext* models the disturbance wrenches exerted on the multirotor base [18–20], the contact forces at the end effector [4,6,17], as well as the aerodynamic forces raised when the thrust of the rotors is affected by close surfaces in the environment [7,26].

The kinetic energy of the aerial manipulator can be expressed as the sum of the kinetic energy of the aerial platform and the kinetic energy of the robotic arms:

$$K = K\_{lIAV} + K\_{arms} \tag{9}$$

Each of these components comprises two terms corresponding to the translation and rotation of the masses with respect to the inertial frame {*E*}:

$$K\_{\rm LAV} = \frac{1}{2} m\_{\rm LAV} \left\| \stackrel{E}{r} \stackrel{B}{\right\|}^2 + \frac{1}{2} \stackrel{E}{\omega} \omega\_B^T I\_{\rm LAV} \stackrel{E}{\omega} \omega\_B \tag{10}$$

$$\mathcal{K}\_{\text{surms}} = \sum\_{i=1}^{2} \sum\_{j=1}^{4} \left( \frac{1}{2} m\_j^i \left\| \prescript{E}{}{\dot{r}}\_i^j \right\|^2 + \frac{1}{2} E \left\| \prescript{i}{}{\dot{r}}\_j^{i,T} \right\| \prescript{i}{}{\dot{\nu}}\_j^{i,E} \alpha^i\_j \right) \tag{11}$$

where *mUAV* and *IUAV* are the mass and inertia tensor of the aerial platform, respectively, whereas *m<sup>i</sup> j* and *I<sup>i</sup> <sup>j</sup>* are mass and inertia of the *j*-th joint of the *i*-th arm, respectively. The potential energy of the aerial manipulator also includes two terms, the gravity and elastic potential of the compliant joints:

$$V = g \left( m\_{\rm LAV} z\_{\rm LAV} + \sum\_{i=1}^{2} \sum\_{j=1}^{4} m\_j^i z\_j^i \right) + \sum\_{i=1}^{2} \sum\_{j=1}^{4} k\_j^i \left( \theta\_j^i - q\_j^i \right)^2 \tag{12}$$

Here, *g* is the gravity constant, and *k<sup>i</sup> <sup>j</sup>* is the corresponding joint stiffness. After some work, it is possible to express the dynamic model in the usual compact matrix form [14]:

$$\mathbf{M}\ddot{\boldsymbol{\xi}} + \mathbf{C}\{\boldsymbol{\xi}, \dot{\boldsymbol{\xi}}\} + \mathbf{G}(\boldsymbol{\xi}) + \mathbf{K}(\boldsymbol{\xi}) + \mathbf{D}(\dot{\boldsymbol{\xi}}) = \boldsymbol{\Gamma} + \boldsymbol{\Gamma}\_{\text{ext}} \tag{13}$$

where *M* ∈ 18×<sup>18</sup> is the generalized inertia matrix; *C* and *G* ∈ <sup>18</sup> represent the centrifugal, Coriolis, and gravity terms; and *K* and *D* ∈ <sup>18</sup> correspond to the stiffness and damping terms of the compliant manipulator, respectively [17]. The dynamic coupling between the arms and the aerial platform is associated with the cross terms in the generalized inertia matrix, which can be decomposed in three groups of submatrices identified in [14]: multirotor translation (decoupled from rotation), multirotor rotation with coupling terms, and dual arm manipulator with coupling terms. Since the grabbing arm will be held to a fixed point, the corresponding inertia, Coriolis, and gravity terms will be negligible compared to the operation arm. Moreover, if the sensitivity of the zero-torque controller described in next section is good enough, then the magnitude of the wrenches associated to the stiffness and damping terms will be relatively low, and with it, the influence over the multirotor controller.

As stated in the introduction and illustrated in Figure 1, the operation arm is intended to perform the manipulation operation (the installation of a bird flight diverter) while the grabbing arm provides the position estimation. This can be assimilated to a close kinematic chain [27,28] with floating base [29], in which the pushing/pulling force exerted by the operation arm will cause a reaction torque on the aerial platform that should be cancelled by the multirotor controller with the help of the grabbing arm in order to prevent undesired position deviations. This motivates the implementation of an active impedance control scheme with the grabbing arm, as explained below.

#### **4. Control**

#### *4.1. Definition of the Control Task*

As stated in the introduction, a dual arm system allows the realization of aerial manipulation tasks in grabbing conditions, using one arm for grabbing and for estimating the position of the aerial platform relative to the grabbing point (Section 3.2), whereas the other takes care of conducting the task, for example, the installation of a sensor device [21]. Since the grabbing arm is actuated and mechanically compliant, it is possible to estimate and control the forces and torques acting over the manipulator from the deflection of the joints [17,21]. The idea is that the arm helps the multirotor to reach the desired position when it is disturbed by an external force, exerting a pushing/pulling force in the opposite direction of the position error, as Figure 6 illustrates.

**Figure 6.** Model considered in grabbing conditions. Nominal operation pose (left), and displacement due to external force (right). The grabbing arm compensates the disturbance exerting a reaction force.

Therefore, the grabbing arm can be used in two ways:


In the first case, the joints of the grabbing arm implement a PI (proportional-integral) controller to maintain a zero deflection (torque) reference, acting over the servo position as follows:

$$
\Theta\_{j,ref}^2 = \Theta\_j^2 + \left( K\_p \{ \Theta\_j^2 - q\_j^2 \} + K\_i \int \left( \Theta\_j^2 - q\_j^2 \right) dt \right) \tag{14}
$$

Here, θ<sup>2</sup> *<sup>j</sup>* is the position of the *j*-th servo of the right arm, whereas the term on the right side is the incremental position correction. The proportional and integral gains, *Kp* and *Ki*, can be tuned experimentally, taking into account the nominal values of the deflection (≈5 degrees). Now, we impose that the nominal operation position of the aerial robot relative to the grabbing point is the L-shaped configuration of the arm, since this is far enough from the joint limits and the kinematic singularities (although any other could be considered):

$$\mathbf{^2r}\_{\rm TCP2}^{\rm ref} = \begin{bmatrix} L\_2 \\ 0 \\ -L\_1 \end{bmatrix} = \mathbf{FK} \mathbf{(q}\_{ref}^2 \mathbf{)} = \mathbf{FK} \begin{Bmatrix} 0 \\ 0 \\ -\pi/2 \end{Bmatrix} \tag{15}$$

The position deviation of the aerial platform is then defined as the displacement of the TCP of the grabbing arm w.r.t. the reference position. That is,

$$\boldsymbol{\varepsilon} = \begin{bmatrix} \boldsymbol{\varepsilon}\_{\boldsymbol{X}} & \boldsymbol{\varepsilon}\_{\boldsymbol{Y}} & \boldsymbol{\varepsilon}\_{\boldsymbol{Z}} \end{bmatrix}^{T} = \mathbf{F} \mathbf{K} \begin{pmatrix} \boldsymbol{q}^{2} \\ \boldsymbol{r} \boldsymbol{r} \end{pmatrix} - \mathbf{F} \mathbf{K} \begin{pmatrix} \boldsymbol{q}^{2} \end{pmatrix} \tag{16}$$

Note that the maximum deviation is limited by the reach of the arm, ε < *L*<sup>1</sup> + *L*<sup>2</sup> − # *L*2 <sup>1</sup> <sup>+</sup> *<sup>L</sup>*<sup>2</sup> 2. If the influence of the grabbing arm over the attitude controller is relatively low due to the zero-torque

controller, this measurement can then be taken as input by the position controller of the multirotor platform, as represented in upper part of Figure 7, replacing the GPS (Global Positioning System) used for navigating to achieve better accuracy during the manipulation phase.

**Figure 7.** Control scheme of the aerial manipulator with grabbing arm (*i* = 2).

#### *4.2. Impedance Control in Grabbing Conditions*

Assuming that the aerial platform is close to the hover state during the grabbing maneuver (φ θ - 0), it is desired that the position deviation of the aerial platform is assimilated to an impedance behavior characterized as follows:

$$\mathcal{M}\_d \ddot{\varepsilon} + \mathcal{D}\_d \dot{\varepsilon} \star \mathcal{K}\_d \varepsilon = F\_{ext} \tag{17}$$

where *Md*, *Dd*, and *Kd* are the desired inertia, damping, and stiffness, respectively, and *Fext* is the external force exerted over the multi-rotor. This force can be estimated from the Cartesian deflection of the grabbing arm, as it will be seen in next subsection, and taken as input by the attitude controller of the aerial platform so it can be partially compensated with the wrenches generated by the rotors.

The grabbing arm will react to the external force exerting a pushing/pulling force at the end effector in the direction of the position deviation, relying on the Cartesian force controller described in the next subsection. The impedance control is then achieved, generating a force reference that cancels the dynamic behavior described by Equation (17). Figure 7 represents the case of desired stiffness, *Fi <sup>e</sup>*,*TCP* = *Kd*ε.

#### *4.3. Force Control Based on Cartesian Deflection*

The force control of the compliant arm is formulated in the Cartesian space and based on the Cartesian deflection, defined as the position deviation of the TCP of the compliant arm w.r.t. the same point in an equivalent stiff joint arm. That is,

$$
\Delta l\_{TCPi} = \mathsf{FK}(\boldsymbol{\theta}^i) - \mathsf{FK}(\boldsymbol{q}^i) \tag{18}
$$

This definition is useful for expressing the force at the end effector directly in the task space:

$$\mathbf{^idF\_{TCP}} = \mathbf{K\_{C}^{i}} \Delta \mathbf{l\_{TCP}} + \mathbf{D\_{C}^{i}} \dot{\mathbf{\Delta}} \mathbf{l\_{TCP}} \tag{19}$$

where *K<sup>i</sup> <sup>C</sup>* and *<sup>D</sup><sup>i</sup> <sup>C</sup>* are the Cartesian stiffness and damping matrices, respectively, whose values can be obtained from the physical joint stiffness and damping through the Jacobian:

$$\mathbf{K}\_{\mathbb{C}}^{i} = \left(\mathbf{J}^{T}\right)^{-1} \mathbf{K}\_{p}^{i} \mathbf{J}^{-1} \tag{20}$$

where *K<sup>i</sup> <sup>p</sup>* <sup>=</sup> *diag*\$ *ki j* % is the physical joint stiffness matrix [17]. The Cartesian damping can be obtained analogously. The force controller, represented in Figure 7 relies on the inverse kinematics, giving as output an incremental position correction term for the TCP:

$${}^{iF}r\_{TCPi}^{ref} = {}^{i}r\_{TCPi} + \Delta r\_{TCP}^{i} = \text{FK}(q^{i}) + \left(\mathbf{K}\_{P}^{F}\mathbf{F}\_{c,TCP}^{i} + \mathbf{K}\_{I}^{F}\int {}^{i}F\_{c,TCP}^{i}dt\right) \tag{21}$$

Here, **Δ***r<sup>i</sup> TCP* is the position increment that should be applied in the grabbing arm to achieve the desired force reference; *F<sup>i</sup> <sup>e</sup>*,*TCP* <sup>=</sup> *<sup>F</sup><sup>i</sup> re f* <sup>−</sup> *<sup>F</sup><sup>i</sup> TCP* is the force control error at the TCP; whereas *K<sup>F</sup> <sup>P</sup>* <sup>=</sup> *diag*\$ *KF Px*, *<sup>K</sup><sup>F</sup> Py*, *<sup>K</sup><sup>F</sup> Pz*% and *K<sup>F</sup> <sup>I</sup>* <sup>=</sup> *diag*\$ *KF Ix*, *<sup>K</sup><sup>F</sup> Iy*, *<sup>K</sup><sup>F</sup> Iz*% are the proportional and integral gain matrices, respectively, whose value is tuned experimentally knowing the nominal values of the forces (around 1 [*N*]) and the Cartesian deflection (around 0.02 [*m*]).

#### **5. Experimental Results**

#### *5.1. Position Estimation with Zero Deflection*/*Torque Control*

The goal of this experiment was to evaluate the accuracy of the position estimation provided by the grabbing arm when this was used as position sensor, enabling the zero-torque controller to reduce the reaction wrenches induced over the aerial platform on flight (see Section 4.1). The experiment, shown in the video provided as Supplementary Material, consisted of four phases:


Figures 8–10 represent the signals of interest during the grabbing maneuver, that is, the multirotor position (arm estimation and ground truth) relative to the nominal pose, the multirotor orientation, the estimation error, and the joint position and torque in the grabbing arm. In order to appreciate the ability of accommodation of the arm and the accuracy in the estimation, we intentionally deviated the aerial platform in the *x*- and *z*-axes, with small deviations in the *y*-axis. Note that in the experiments the end-effector is supposed to be firmly attached to the grabbing point in such a way that the displacement of the multirotor platform will force the displacement of the grabbing arm. However, the magnetic gripper may slip around the contact area, introducing errors in the position estimation. It was also assumed that the multirotor heading (yaw angle) was almost constant, with the *YB*-axis parallel to the linear structure. Otherwise, additional degrees of freedom should be integrated in the wrist joint to estimate the relative orientation, although this is out of the scope of this work. The influence of these two effects over the positioning accuracy can be observed in Figure 9, where the estimation error increased as the multirotor orientation in the yaw angle changed with respect to its initial value, causing mainly errors in the *y*-axis estimation.

**Figure 8.** Multirotor displacement in the grabbing maneuver with zero torque control. Nominal pose (black), displacement measured by OptiTrack (magenta), and arm estimation (blue).

**Figure 9.** Position estimation error, using Opti-Track as ground truth. *x*-, *y*-, and *z*-axes error (up) and error norm (middle). The three shaded areas correspond to situations in which the platform is rotated in yaw and the error increased since the magnetic gripper was not firmly attached to the point.

**Figure 10.** Evolution of the servo position and torque estimation during the grabbing maneuver.

#### *5.2. Impedance Control in Test-Bench*

Before its evaluation on flight, the impedance controller of the grabbing arm was firstly validated in test-bench in order to evidence more clearly the variation in the desired stiffness, as defined in Equation (17). During the experiment, the arm adopted the L-shaped configuration (Figure 6 and Equation (15)), manually exerting an external force at the end effector that was estimated and compensated from the Cartesian deflection, as expressed by Equations (19) and (21). The desired stiffness was set to *Kd* = 50 *Nm* for the experiment illustrated in Figure 11, and to *Kd* = 100 *Nm* for the experiment represented in Figure 12. As it can be seen, the position deviation of the end effector was lower in the second case, as expected, and the instantaneous stiffness (*Kx* = *Fx*/ε*x*) was similar to the desired value. Note that the stiffness is affected by the singularity associated to the deflection when this tends to zero.

**Figure 11.** Force reference and estimation (up), position deviation (middle), and instantaneous stiffness (down) in the *x*- and *z*-axes for a desired stiffness *Kd* = 50 [*Nm*].

**Figure 12.** Force reference estimation (up), position deviation (middle), and instantaneous stiffness (down) in the x- and z-axes for a desired stiffness *Kd* = 100 [*Nm*].

#### *5.3. Grabbing Interaction on Flight with Impedance Control*

The goal of this experiment was to analyze the behavior of the aerial manipulation robot on flight when the grabbing arm was actively controlling the impedance in the *x*- and *z*-axes, considering a desired Cartesian stiffness *Kd*,*<sup>X</sup>* = *Kd*,*<sup>Z</sup>* = 50 [*N*/*m*]. The performance of the controller was evaluated by injecting a disturbance on the multirotor position that emulates the effect of an external force, such as a wind gust. The zero-torque controller of the first joint (shoulder yaw) was disabled, relying only on the passive compliance to support the lateral displacements (*y*-axis) and heading variations (yaw angle) of the multirotor. The flight test consists of eight phases:


Figures 13 and 14 show the evolution of the system in the time intervals corresponding to phase 5 and phase 6, respectively. On the one hand, Figure 13 covers the time interval from t = 25 to t = 35 s, in which the multirotor was hovering at fixed position while the grabbing arm exerted a small force in the *x*-axis, around 0.5 N, due to the slight displacement of the platform with respect to the nominal pose. On the other hand, Figure 14 covers the interval from t = 48 to t = 70 s. At t = 49.6 [s], we intentionally applied a 10 cm displacement in the *x*-axis position of the multirotor, emulating a wind gust. The grabbing arm reacted, exerting a pushing force with a peak of 2.2 [N] that counteracted the disturbance, recovering the nominal operation pose in 2 s. The instantaneous stiffness varied w.r.t. the desired value (50 N/m) due to the singularity in the displacement (*Kd*,*<sup>x</sup>* = *Fx*/ε*x*). Note also that, since the grabbing arm was not aligned with the *XBZB* plane of the base but it was displaced a distance *D*/2 (see Section 3.1), then the force exerted during the interaction would cause a reaction torque in the yaw angle of the multirotor, and with it, a position deviation in the *y*-axis, as can be seen in Figure 14. The effect was accentuated as the pilot disturbed the multirotor controller between t = 52 and t = 60 s. Although the passive deflection of the shoulder yaw joint provided a certain level of accommodation, the motion constraint associated with the grabbing condition had a more significant effect on the *y*-axis and yaw angle, in accordance with the results shown in Figure 9.

**Figure 13.** Evolution of the grabbing arm while the multirotor hovers with no disturbance during the grabbing maneuver (phase 5) with impedance control in the *x*- and *z*-axes (*Kx* = *Kz* = 50 *N*/*m*).

**Figure 14.** Evolution of the grabbing arm and the multirotor, disturbed at t = 49.6 seconds, during the grabbing maneuver (phase 6) with impedance control in the *x*- and *z*-axes (*Kx* = *Kz* = 50 *N*/*m*).

#### **6. Conclusions**

The paper presented two approaches for the estimation and control of the physical interactions of a compliant dual arm aerial manipulation robot operating in grabbing conditions, in which one of the arms was used as position sensor relative to a grabbing point, implementing a zero-torque controller so the wrenches induced over the multirotor base were relatively low. The mechanical joint compliance of the arm was also exploited for the development of active compliance methods, achieving desired impedance behaviors that improved the response of the aerial manipulator when it was affected by external disturbances while interacting physically with the environment. The experimental results presented here validated the concepts, allowed us to evaluate the accuracy of the position estimation, and evidenced the convenience of combining the passive/active compliance on the three Cartesian axes.

Although the aerial manipulation robot will require a navigation system to reach the workspace, the positioning accuracy required to perform the manipulation task (which should be around 10% of the reach of the arm) cannot be achieved with typical sensors employed in outdoor environments, such as GPS, LIDAR (light detecting and ranging), or vision systems. In this sense, the estimation methods described in this work result from special interest to avoid the integration of additional positioning systems, taking into account the limited payload capacity of the aerial platform, being also an effective and reliable solution. In terms of future work, we propose the application of this system for the installation of bird flight diverters on power lines, or for inspection and maintenance of railways, chemical plants, and other linear infrastructure.

**Supplementary Materials:** The following are available online at http://www.mdpi.com/2076-3417/10/24/8927/s1. Video S1: Aerial\_Physical\_Interaction.mp4.

**Author Contributions:** Conceptualization, A.O. and A.S.; software, A.S. and P.J.S.-C.; validation, A.S. and P.J.S.-C.; data curation, A.S.; writing—original draft preparation, A.S.; writing—review and editing, G.H. and A.S.; supervision, G.H.; project administration, A.O.; funding acquisition, A.O. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was funded by the AERIAL-CORE project (H2020-2019-871479) funded by the European Commission; the European Research Council Advanced Grant GRIFFIN project (Action 788247); and the ARM-EXTEND (DPI2017-89790-R) and ARTIC (RTI2018-102224-B-I00) projects funded by the Spanish Ministerio de Economia, Industria, y Competitividad.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

### *Article* **Cartesian Aerial Manipulator with Compliant Arm**

**Alejandro Suarez \*, Manuel Perez, Guillermo Heredia and Anibal Ollero**

GRVC Robotics Labs, University of Seville, 41092 Sevilla, Spain; manup1192@gmail.com (M.P.); guiller@us.es (G.H.); aollero@us.es (A.O.) **\*** Correspondence: asuarezfm@us.es

**Abstract:** This paper presents an aerial manipulation robot consisting of a hexa-rotor equipped with a 2-DOF (degree of freedom) Cartesian base (XY–axes) that supports a 1-DOF compliant joint arm that integrates a gripper and an elastic linear force sensor. The proposed kinematic configuration improves the positioning accuracy of the end effector with respect to robotic arms with revolute joints, where each coordinate of the Cartesian position depends on all the joint angles. The Cartesian base reduces the inertia of the manipulator and the energy consumption since it does not need to lift its own weight. Consequently, the required torque is lower and, thus, the weight of the actuators. The linear and angular deflection sensors of the arm allow the estimation, monitoring and control of the interaction wrenches exerted in two axes (XZ) at the end effector. The kinematic and dynamic models are derived and compared with respect to a revolute-joint arm, proposing a force-position control scheme for the aerial robot. A battery counterweight mechanism is also incorporated in the X–axis linear guide to partially compensate for the motion of the manipulator. Experimental results indoors and outdoors show the performance of the robot, including object grasping and retrieval, contact force control, and force monitoring in grabbing situations.

**Keywords:** aerial manipulation; Cartesian manipulator; compliance; hexa-rotor

**Citation:** Suarez, A.; Perez, M.; Heredia, G.; Ollero, A. Cartesian Aerial Manipulator with Compliant Arm. *Appl. Sci.* **2021**, *11*, 1001. https://doi.org/10.3390/app11031001

Received: 28 December 2020 Accepted: 18 January 2021 Published: 22 January 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

#### **1. Introduction**

#### *1.1. Aerial Manipulation*

Aerial manipulation robots (drones equipped with robotic arms) are extending the potential applications of multirotor platforms, allowing the realization of tasks involving the manipulation of objects and tools in flight, as well as interaction with the environment with a certain level of dexterity and control capability. The development of this technology is motivated by interest in reducing the time, cost and risk for human workers associated with the realization of certain tasks in high altitude or difficult access workspaces such as power lines [1,2], chemical plants [3], oil and gas refineries [4], and other infrastructures [5,6]. Recent works in this field have demonstrated the possibility to conduct operations such as object grasping [7–9], valve turning [10], sensor installation and retrieval [2,11], contactbased inspection [3,12,13], insulation of cracks and leaks [14], or the realization of other tasks with grippers and other tools [15,16]. Several prototypes and morphologies of manipulators have been specifically developed for their integration in multi-rotors, including multi-joint arms [17,18], dual arm systems [7,10], linear actuators [11], delta manipulators [14], compliant joint arms [2,19,20], long reach aerial manipulators [2,21], or three-arm manipulators used for object grasping and as reconfigurable landing gear [22].

Compliance, either mechanical [7,19–23] or at control level [11,24–26], is a highly desirable feature for an aerial manipulation robot operating in contact with the environment since the stability of the aerial platform may be compromised due to the interaction wrenches exerted on flight [24,25,27]. The design and development of compliant manipulators aim to increase safety by exploiting the energy storage capacity and passivity properties of springs [7,19,26] and elastomers [23] while protecting the aerial robot against

impacts and overloads [23]. Unlike most industrial manipulators that use expensive forcetorque sensors in the joints or in the end effector, the servo actuators (Herkulex, Dynamixel) typically employed for building lightweight robotic arms for aerial manipulation do not provide a direct measurement of the torque; or this is based on the current, so its accuracy is low due to the friction of the gearbox. This has motivated the development of methods for estimating and controlling the forces and torques from the measurement of the deflection in the elastic element, either at joint level [7,19] or in the Cartesian space [26]. Despite the evident benefits of mechanical compliance during the physical interactions of the aerial robot while flying, the main drawback of these mechanisms is the reduction in position accuracy due to the deflection of the joints [19] or links [2], a consequence of the second order dynamics associated with the mass-spring-damper system [26]. As a result, the realization of tasks requiring accurate positioning tends to become more difficult.

#### *1.2. Positioning Accuracy*

Positioning accuracy is one of the most relevant and challenging requirements for an aerial manipulator operating on flight since it determines the reliability and success rate in the realization of tasks like grasping [7] or the installation of devices on power lines [1,26], especially outdoors where Vicon or OptiTrack systems are not available, whereas sensors like 3D laser scanners [28] and vision-based systems [29] are more suited. This feature is directly related to the performance of the multirotor position controller [30,31], affected by the endogenous and exogenous wrenches exerted through the manipulator [25,27]. On the one hand, tilted-rotor hexa-rotors, also known as fully actuated aerial platforms [32,33], allow the translation of the platform as well as the application of wrenches [34,35] without changing the orientation, which contributes to increasing the accuracy in the realization of manipulation tasks compared to coplanar multi-rotors. On the other hand, the error propagation at the end effector is closely related with the kinematic configuration and the physical construction of the manipulator. This is, in most cases, a multi-link arm [7,8,17,18,24] with revolute joints. However, this configuration present two main drawbacks: (1) the joint limits (especially in the elbow joint) constraint or reduce the effective reach and workspace of the arm, (2) a significant amount of torque and energy is needed to lift the weight of the manipulator itself (forearm-upper arm configuration), requiring high torque actuators that tend to increase the weight. Alternatively, other works propose the use of simple manipulators [3,5,11,14,15] in order to reduce the weight, at expenses of reducing the reach and dexterity.

#### *1.3. Contribution of This Work*

The main contribution of this paper is the design, development and experimental validation of a new morphology of aerial manipulation robot consisting of a hexa-rotor platform integrating a 2-DOF (degree of freedom) Cartesian base (XY–axes) that carries a 1-DOF compliant joint arm equipped with a gripper and a deflection-based force-torque sensor. Figure 1 shows a picture of the prototype. The proposed morphology is intended to improve the positioning accuracy of the end effector while reducing the inertia, torque and weight of the actuators, since the Cartesian base supports most of the weight of the robotic manipulator (0.85 kg weight, 1 m reach, and 10 cm/s speed). The elastic deflection sensors integrated in the compliant joint and in the fore-arm link are used to estimate and monitor the force (XZ–axes) and torque (pitch) exerted by the manipulator over the aerial platform. This allows the realization of a number of tasks such as sensor installation with contact force control, force monitoring in grabbing situations, or object grasping and retrieval. The kinematic and dynamic models of the aerial manipulator are derived, while analyzing in more detail the error propagation at the end effector from the Jacobian, comparing the proposed morphology with respect to that of a revolute-joint arm in terms of positioning accuracy, reach, and workspace. This paper also proposes a force-position control scheme for the aerial robot that takes into account the wrench estimation provided by the arm.

Experimental results conducted in test-bench as well as indoor/outdoor flight tests validate the functionalities and capabilities of the developed Cartesian aerial robot.

The rest of the paper is organized as follows. Section 2 presents the motivation for and describes the prototype of a Cartesian aerial manipulator with compliant joint arm. Section 3 presents the kinematic and dynamic models of the aerial robot, analyzing and comparing the features of the Cartesian manipulator with respect to a revolute-joint arm. Section 4 covers the control of the aerial robot, the experimental results are shown in Section 5, and the conclusions in Section 6.

#### **2. System Description**

#### *2.1. Motivation*

The Cartesian manipulator aims to avoid three inconveniences of the human-like robotic arms developed in our previous work [7,19]. First of all, several manipulation tasks like grasping or peg-in-hole are defined in the Cartesian space rather than in the joint space, so it is more convenient that the mapping between both spaces is straightforward in order to improve the positioning accuracy. According to the forward kinematic model, the XYZ position of the end effector depends simultaneously on the rotation angle of the three [19] or four [7] joints of the manipulator (shoulder and elbow). Therefore, the joint position errors, as well as errors associated with the manufacturing and assembly of the arm (clearance, misalignment), will be propagated to the three Cartesian coordinates of the end effector. Additionally, the mechanical deflection of the joints in a compliant arm [7] may cause deviations of several centimeters in the position of the end effector with respect to an equivalent stiff-joint arm. In a Cartesian manipulator, instead, the position of the end effector on each axis is controlled with its own actuator independently from the other joints, so the position errors are decoupled and the trajectory control in the task space is simplified.

Secondly, the effective reach of a human-like manipulator (~50 cm reach) is in practice relatively small, around 30 cm, taking into account that the nominal operation position of the arm is typically an L-shaped configuration (forearm lifted 90◦) and due to the limit in the rotation angle of the elbow joint. Note that humans extend the reach of the hands with the torso and legs, whereas in an aerial manipulator the motion of the arms is usually constrained by the landing gear and the perimeter of the propellers. In this sense, the Cartesian base avoids dead-zones in its workspace due to joint limits, allowing access to points close to the multirotor base, which can be useful, for example, in object retrieval and storage. Finally, a two link manipulator in the upper arm-forearm morphology typically requires a significant amount of torque and energy to lift its own weight, whereas in the developed prototype the Cartesian manipulator only has to compensate for the inertia and friction of the carriage, reducing in this way the required torque of the actuators, and thus, their weight. Not only that, but the linear guide also isolates the actuators from impacts and loads, avoiding the design of bearing-based protection mechanisms, as in [7].

The Cartesian manipulator shown in Figure 1 implements a Prismatic-Prismatic-Revolute (PPR) configuration, introducing a revolute joint attached at the Cartesian base, since the landing gear and central body of the hexa-rotor platform do not allow the placement of a linear actuator in the vertical axis, and because this configuration extends the reach of the end effector in the X–axis (forward direction). No additional degrees of freedom are considered for end effector positioning due to the convenience of reducing the weight, complexity and size of the manipulator, and because the capabilities of the robot can be extended with the additional degrees of freedom provided by the aerial platform [13,32].

#### *2.2. Mechanical Design*

The Cartesian aerial manipulator shown in Figure 1 consists of two systems. The aerial platform is built from a Banggood S550 hexa-rotor (similar to the DJI F550) that integrates the DJI 2312E brushless motors with 9 × 4.5 inch propellers, and DJI 430 LITE electronic speed controllers (ESC). The onboard controller comprises a Pixhawk autopilot and a Raspberry Pi model 3B+ that implements the software architecture described in the next subsection. The Cartesian manipulator is divided into the five parts identified in Figure 2: X–axis linear guide (base), Y–axis linear guide, servo actuator, compliant arm and battery counterweight mechanism. The mechanical specifications of the manipulator are indicated in Table 1, representing in Table 2 the mass and inertia parameters obtained from the 3D model.

**Figure 2.** Components of the Cartesian manipulator, indicating the center of mass of each structure (XYZ axes).


**Table 1.** Specifications of the Cartesian manipulator and the compliant joint arm.

**Table 2.** Mass and inertia parameters of the hexa-rotor platform and the different structures of the Cartesian manipulator relative to the center of mass. The cross inertial terms (Ixy, Ixz, Iyz) are omitted since their value is negligible.


The 2-DOF Cartesian base is built from the igus® NS-01-17-600 (X–axis) and NS-01-17-300 (Y–axis) linear guides, using three NW-02-17 carriages to support the mobile parts. Two 22 mm Ø timing pulleys are placed at the tip of both linear guides to transmit the motion of the Pololu micro metal gear motors (10 g weight, 250:1 reduction ratio, 2.7 kg·cm stall torque) to the timing belts, measuring the rotation angle with a Murata SV01A potentiometer and with the magnetic encoder of the micro-motors. The linear displacement of the Cartesian base relative to an initial position is obtained from the rotation angle and the number of turns given by the encoder (6 pulses per revolution at the micro motor shaft, 1500 pulses per turn at the output shaft of the gearbox). Figure 3 illustrates the timing pulley-belt actuator in the X and Y linear guides. The battery counterweight is supported by a C-shaped aluminum frame that can slide along the X–axis linear guide and move in synchronization with the Y–axis structure, but in the opposite direction when it is attached to the X–axis timing belt (see Section 5.2).

The integration of the Cartesian manipulator in the hexa-rotor platform and the battery counter-weight mechanism are shown in Figure 4. The X–axis linear guide is supported by the carbon fiber tubes attached to the multirotor base through the two U-shaped aluminum frames identified in Figure 2. As can be seen in the front view of Figure 4, the legs of the landing gear should be separated to avoid collision of the Y–axis linear guide. However, this additional separation is not needed if the battery counter-weight mechanism is enabled. As depicted in Figure 4, this mechanism consists of a C–shaped aluminum frame that supports the 2S LiPo battery and is actuated by the X–axis timing pulley, but in the opposite direction to the Y–axis linear guide. Since both structures share the same linear guide, the effective range is reduced by half. The counterweight mechanism can be set to a fixed position by simply removing the zip tie that connects the timing belt with the linear carriage.

**Figure 3.** Pololu micro metal gear motors employed in the XY axes' timing pulley-belt transmission.

**Figure 4.** Side (**left**) and front (**right**) views of the Cartesian aerial manipulator, indicating the components.

The compliant arm depicted in Figure 5 employs a Herkulex DRS-0101 servo and a spring-lever transmission mechanism (1.4 Nm/rad stiffness) that allows the estimation and control of the torque from the deflection measurement [19], integrating an AS5048 magnetic encoder to obtain the deflection angle at 500 Hz with 0.2◦ accuracy. The estimator described in Section 4.2 employs this signal for collision detection and controls the torque/force/impedance [26] exerted at the end effector. The link of the arm consists of a NS–01–17–200 linear guide and a NW–02–17 carriage that supports the displacement of the end effector (±30 mm range), using a pair of extension springs (3.2 N/mm stiffness) and a linear potentiometer to estimate the pushing/pulling forces in the XZ–axes in grabbing conditions, as will be explained in Section 4.2.

**Figure 5.** Magnetic gripper supported by the compliant linear joint (**left**). Compliant joint actuator (**right**).

The end effector of the arm can be reconfigured according to the intended task and type of object to be manipulated. This can be a simple hook to retrieve a device with handles, a magnetic gripper for catching ferromagnetic objects as hand tools, or a servo-gripper for grabbing objects of different shapes.

As indicated in the previous subsection, one of the main benefits of the Cartesian morphology with respect to the human-like dual arm systems developed in our previous work [7,26] is that the manipulator wastes lesser energy in lifting its own weight or reaching any point in its workspace, as the displacement of the end effector along the XY–axes is supported by the linear guide system. Note that in a forearm-upper arm configuration, the shoulder actuators must lift a 50 cm length frame structure, including the servo actuators placed in the links. Thus, the proposed solution is more energy efficient in this sense.

Finally, it is necessary to remark that the purpose of the Cartesian manipulator and the compliant arm is to provide a certain level of dexterity (3–DOFs) and sense capability (*Fx*, *Fz*, *τθ*) to the aerial platform, sufficient to implement a number of functionalities and tasks without unnecessarily increasing the weight with additional sensors or actuators.

#### *2.3. Hardware Architecture*

The components and architecture of the Cartesian aerial manipulator are represented in Figure 6. The aerial platform consists of the S550 hexa-rotor integrating the NAVIO autopilot and a Raspberry Pi 3B+ board running the PX4 firmware [36] as well as the control program of the manipulator, developed in C/C++. This program is built around the Task Manager class [2], which implements the different functionalities used in the experiments: go to rest position, go to operation position, teleoperation, force control and monitoring, and Cartesian base calibration. The manipulator is interfaced through a USB– to–USART (Universal Synchronous-Asynchronous Receiver Transmitter) device connecting the Raspberry Pi board with the STM32F303K8 Nucleo microcontroller that takes care of the low level control of the XY–axes' micro motors and reads the measurements from the three sensors:


The microcontroller generates as output the PWM (Pulse Width Modulation) signals taken as input by the DRV 8833 dual H-bridge that controls the micro motors (Section 4.1), providing another PWM signal to control a gripper servo. The Herkulex servo of the compliant joint is controlled in position through a dedicated USART interface [7,26]. The control references generated by the Task Manager and the feedback measurements collected by the microcontroller are sent at 100 Hz through the USART as data packets codified as C-type data structures.

**Figure 6.** Components and architecture of the Cartesian aerial manipulator with ground control station (GCS).

The Cartesian aerial manipulator is operated from the Ground Control Station (GCS) through a wireless link, typically a Wi–Fi network, that supports the SSH (Secure Shell) session used to launch and manage remotely the aerial manipulator control programs. The commands introduced by the operator to select the particular task to be executed or to tele-operate the manipulator using a joystick are sent as C–type data packets through UDP (User Datagram Protocol) sockets.

#### **3. Modelling**

#### *3.1. Kinematic Model*

In the definition of an aerial manipulation task, three reference frames can be identified: the Earth fixed frame {*E*} (inertial), the multirotor base frame {*B*}, and the manipulator base frame {**0**}. The position and orientation of the multirotor, *ErB* <sup>=</sup> [*x*, *<sup>y</sup>*, *<sup>z</sup>*] *<sup>T</sup>* and *<sup>E</sup>η<sup>B</sup>* = [*φ*, *θ*, *ψ*] *<sup>T</sup>*, are referred to the Earth fixed frame, whereas the position of the tool center point (TCP) of the manipulator, **<sup>0</sup>***rTCP* = [*xTCP*, *yTCP*, *zTCP* ] *<sup>T</sup>*, is expressed in {**0**} for convenience, considering that the onboard perception system usually gives the reference positions in the local axes. Figure 7 depicts the reference frames, position vectors and the joint variables in the Cartesian aerial manipulator. Here *d*<sup>1</sup> and *d*<sup>2</sup> denote the displacement of the Cartesian base along the *X*0*Y*<sup>0</sup> axes, respectively, *q*<sup>3</sup> is the rotation angle of the joint in the pitch angle, whereas *D*1, *D*<sup>2</sup> and *L* are the corresponding link lengths.

**Figure 7.** Kinematic model of the Cartesian aerial manipulator.

The position of the tool center point referred to {**0**} can be computed easily from the joint variables applying the forward kinematic model *FK* : <sup>3</sup> → <sup>3</sup> :

$$\mathbf{^0r}\_{TCP} = \begin{bmatrix} \mathbf{x}\_{TCP} \\ \mathbf{y}\_{TCP} \\ \mathbf{z}\_{TCP} \end{bmatrix} = \mathbf{F} \mathbf{K} \left( \begin{bmatrix} d\_1 \\ d\_2 \\ q\_3 \end{bmatrix} \right) = \begin{bmatrix} d\_1 + L \cdot \sin(q\_3) \\ d\_2 \\ -L \cdot \cos(q\_3) \end{bmatrix} \tag{1}$$

Note that *xTCP* depends on two joint variables (*d*<sup>1</sup> and *q*3), although *q*<sup>3</sup> is determined by *zTCP*. The inverse kinematic model, *IK* : <sup>3</sup> → <sup>3</sup> , provides two analytical solutions for *q*<sup>3</sup> if |*xTCP*| < *D*1/2, and only one solution if |*xTCP*| ≥ *D*1/2. The double solution is determined by the sign of *q*3, and indicates the pointing direction of the link, either forwards or backwards:

$$
\begin{bmatrix} d\_1 \\ d\_2 \\ q\_3 \end{bmatrix} = \mathbf{IK} \left( \begin{bmatrix} \mathbf{x\_{TCP}} \\ \mathbf{y\_{TCP}} \\ \mathbf{z\_{TCP}} \end{bmatrix} \right) = \begin{bmatrix} \mathbf{x\_{TCP}} \mp L \cdot \sin(\alpha) \\ \mathbf{y\_{TCP}} \\ \pm \alpha \end{bmatrix} \tag{2}
$$

where angle *α* is defined in the following way:

$$\alpha = \left| \cos^{-1} \left( \frac{z\_{TCP}}{L} \right) \right| \tag{3}$$

#### *3.2. Positioning Accuracy and Workspace*

It is interesting to compare the workspace, joint limits and position errors of the proposed Cartesian manipulator with compliant joint arm with respect to other kinematic configurations, like the 3–DOF robotic arm described in [19], where the TCP position is given by:

$$\begin{aligned} \;^0r\_{TCP}^\* = \begin{bmatrix} r(q\_{2\prime}, q\_3) \cdot \cos(q\_1) \\ r(q\_{2\prime}, q\_3) \cdot \sin(q\_1) \\ L\_1 \cos(q\_2) + L\_2 \cos(q\_2 + q\_3) \end{bmatrix} \end{aligned} \tag{4}$$

Here *L*<sup>1</sup> and *L*<sup>2</sup> are the upper arm and forearm link lengths, respectively, and:

$$r(q\_2, q\_3) = L\_1 \sin(q\_2) + L\_2 \sin(q\_2 + q\_3) \tag{5}$$

As stated in the introduction and in Section 2.1, the Cartesian base reduces the propagation of positioning errors in the TCP due to angular deviations (joint deflection) or manufacturing errors (misalignments, clearance). This can be quantitatively evaluated through the Jacobian matrix:

$$
\varepsilon\_{TCP} = \mathbf{J}(\boldsymbol{\eta}) \cdot \varepsilon\_{\boldsymbol{\eta}} \tag{6}
$$

where *εTCP* is the position deviation of the TCP in the XYZ axes due to a variation in the vector of joint variables *εq*, which depends on the Jacobian of the arm particularized to the nominal pose, *J*(*q*). Although it is omitted for space reasons, the Jacobian of the manipulator described by Equation (4) introduces coupled terms in the XYZ axes, i.e., each of the Cartesian coordinates depends on the three joint variables simultaneously, whereas in the kinematic configuration considered in this paper, the Jacobian matrix is significantly simplified, resulting in the following expression.

As can be seen, the positioning accuracy in the X–axis depends on the accuracy of the X–axis actuator and on the compliant joint, whereas the accuracy on the YZ axes dep

$$\varepsilon\_{\rm TCP} = \begin{bmatrix} \varepsilon\_Y \\ \varepsilon\_Y \\ \varepsilon\_Z \end{bmatrix} = \begin{bmatrix} 1 & 0 & L \cdot \cos(q\_3) \\ 0 & 1 & 0 \\ 0 & 0 & L \cdot \sin(q\_3) \end{bmatrix} \cdot \begin{bmatrix} \varepsilon\_{d\_1} \\ \varepsilon\_{d\_2} \\ \varepsilon\_{q\_3} \end{bmatrix} = \begin{bmatrix} \varepsilon\_{d\_1} + L \cdot \cos(q\_3) \cdot \varepsilon\_{q\_3} \\ \varepsilon\_{d\_2} \\ L \cdot \sin(q\_3) \cdot \varepsilon\_{q\_3} \end{bmatrix} \tag{7}$$

ends on the accuracy of the *d*<sup>2</sup> and *q*<sup>3</sup> coordinates.

The volume of operation of the Cartesian manipulator is a parallelepiped of length *D*<sup>1</sup> = 0.5 [m], depth *D*<sup>2</sup> = 0.2 [m], and height *L* = 0.2 [m], with two additional circular sections generated by the revolution of the compliant joint with maximum rotation. *qmax* <sup>3</sup> is around 120◦:

$$V = D\_1 D\_2 L + D\_2 L^2 q\_3^{max} = 0.037 \left\lfloor \text{m}^3 \right\rfloor \tag{8}$$

whereas the volume of operation of a 3–DOF robotic arm corresponding to a hollow semisphere with upper arm link length *L*<sup>1</sup> = 0.2 [m] and forearm link length *L*<sup>2</sup> = 0.2 [m] is given by:

$$V^\* = \frac{4}{3}\pi \left[ (L\_1 + L\_2)^3 - R\_{min}^3 \right] = 0.234 \left[ \text{m}^3 \right] \tag{9}$$

This is represented graphically in Figure 8, and compared with respect to the workspace of the 3–DOF manipulator described in [19]. The hollow area is determined by the maximum rotation angle of the elbow joint, *qmax* <sup>3</sup> , defining a minimum radius *Rmin* from the origin of the manipulator frame to the end effector. Although the difference is significant, the dexterity and performance of configurations with revolute joints are typically reduced when integrated in multirotor platforms due to the motion constraints associated with the landing gear and the effect of the kinematic singularities when the arm tends to be stretched. The effective workspace of the Cartesian prototype described here can be extended by exploiting the rotation of the multirotor in the yaw angle, equal to *V* = 0.13 m<sup>3</sup> for a full rotation. The combination of this morphology with tilted or fully actuated platforms like [32–34] is especially convenient in applications related to object retrieval and storage in order to extend the workspace of the aerial robot while providing a high positioning accuracy.

**Figure 8.** Volume of operation in the Cartesian manipulator (**up**) and in a 3-degrees of freedom (3-DOF) revolute joint arm (**down**).

#### *3.3. Dynamic Model*

The equations of the dynamic model of the Cartesian aerial manipulator with compliant arm can be derived following the Euler-Lagrange formulation based on the Lagrangian and the generalized equation of the forces and torques:

$$\frac{d}{dt}\left\{\frac{\partial L}{\partial \dot{\xi}}\right\} - \frac{\partial L}{\partial \xi} = \Gamma + \Gamma\_{\text{ext}} \; ; \; L = K - V \tag{10}$$

Here *L* is the Lagrangian, which is the difference between the kinetic and potential energies, *K* and *V*, respectively, *ξ* is the vector of generalized coordinates, whereas **Γ** and **Γ***ext* are the vectors of endogenous and exogenous (external) generalized forces, defined as follows.

$$\mathfrak{F} = \begin{bmatrix} \ ^E r\_B^T & ^E \eta\_B^T & d\_1 & d\_2 & q\_3 & \theta\_3 & \Delta l\_4 \end{bmatrix}^T \in \mathfrak{R}^{11} \tag{11}$$

$$
\Gamma = \begin{bmatrix}
\ F\_B^T & \pi\_B^T & F\_1 & F\_2 & \pi\_3 & \pi\_{m,3} & F\_4
\end{bmatrix}^T \in \mathcal{W}^{11} \tag{12}
$$

where *ErB* = [*x*, *y*, *z*] *<sup>T</sup>* and *<sup>E</sup>η<sup>B</sup>* = [*φ*, *θ*, *ψ*] *<sup>T</sup>* represent the position and orientation of the aerial platform in the Earth fixed frame, *d*1, *d*2, and *q*<sup>3</sup> are the joint variables defined earlier, and Δ*l*<sup>4</sup> is the linear elongation of the end effector. The forces and torques acting over the hexa-rotor are denoted by *FB* and *τB*, whereas *F*<sup>1</sup> and *F*<sup>2</sup> are the force exerted by the Cartesian manipulator in the X and Y axes, respectively, *τ*<sup>3</sup> is the torque applied over the compliant joint, and *F*<sup>4</sup> is the force exerted or supported in the direction of the arm link.

The kinetic energy is the sum of two terms corresponding to the aerial platform, considered as a rigid solid, and the masses of the manipulator:

$$K = \frac{1}{2} m\_{AP} \parallel \,^E \dot{r}\_B \parallel ^2 + \frac{1}{2} \omega\_B^T \mathbf{I}\_{AP} ^E \omega\_B + \frac{1}{2} \sum\_{i=1}^4 \left( m\_i \parallel \,^E \dot{r}\_i \parallel ^2 + {}^E \omega\_i^T \mathbf{I}\_i ^E \omega\_i \right) \tag{13}$$

where *mAP* and *IAP* are the mass and inertia tensor of the aerial platform (including the X–axis support structure), *mi* and *I<sup>i</sup>* are the mass and inertia of the *i*-th link of the manipulator (Y–axis linear structure, servo structure, arm link and forearm, as indicated in Figure <sup>2</sup> and Table 2), *<sup>E</sup>* . *rB* and *<sup>E</sup>ω<sup>B</sup>* are the translational and rotational speed of the aerial platform, whereas *<sup>E</sup>* . *r<sup>i</sup>* and *<sup>E</sup>ω<sup>i</sup>* are the speed of the *i*-th link of the manipulator.

The potential energy includes the gravity potential and elastic potential of the compliant joints:

$$V = \mathcal{g} \mathbf{e}\_Z^T \left\{ m\_{AP} \mathbf{r}\_B + \sum\_{i=1}^4 m\_i \mathbf{r}\_i \mathbf{r}\_i \right\} + \frac{1}{2} k\_3 (\theta\_3 - q\_3)^2 + \frac{1}{2} K\_S \Delta l^2 \tag{14}$$

Here *g* is the gravity constant, *e<sup>T</sup> <sup>Z</sup>* = [0, 0, 1] is the Z–axis unit vector, *k*<sup>3</sup> is the torsional stiffness of the compliant joint, and *KS* is the stiffness of the extension springs that support the end effector, as shown in Figure 5. Applying the Lagrangian in Equation (10) over the kinetic and potential energies given by Equations (13) and (14), the usual compact matrix form is derived, given by:

$$\mathcal{M}(\xi)\ddot{\tilde{\xi}} + \mathcal{C}\left(\xi, \dot{\xi}\right) + \mathcal{G}\left(\xi\right) + \mathcal{K}(\xi) = \Gamma + \Gamma\_{ext} \tag{15}$$

where *<sup>M</sup>* ∈ 11×<sup>11</sup> is the generalized inertia matrix, *<sup>C</sup>* ∈ <sup>11</sup> represents the centrifugal and Coriolis terms, *<sup>G</sup>* ∈ <sup>11</sup> corresponds to the gravity wrenches, and *<sup>K</sup>* ∈ <sup>11</sup> are the elastic potential terms. It is worth noting that, since the analytical expression of the kinematics of the Cartesian manipulator is simpler compared to a revolute joint arm due to the reduction in sine/cosine terms and the decoupling of the Cartesian coordinates, the complexity of the dynamic model is reduced, and consequently so is the computational time, facilitating real-time implementation.

#### **4. Estimation and Control**

#### *4.1. Cartesian Base Control*

The Cartesian manipulator described in Section 2.2 is built with DC micro-motors controlled at low level through a PWM signal (1 kHz frequency) generated by the microcontroller board. The motion of the linear guide system depicted in Figure 3 can be modelled as follows: .. .

$$r\_i d\_i + f\_i d\_i = r\_i \cdot p w m\_i; \; i = \{1, 2\} \tag{16}$$

where *mi* is the displaced mass, *fi* is the friction coefficient of the linear carriage, *pwmi* ∈ [−1, 1] represents the mean current injected to the motor relative to the stall current, whereas *ri* is a constant that depends on the motor current-torque constant and the radius of the timing pulley.

Two control modes are implemented on the microcontroller. On the one hand, the open-loop velocity control consists of directly applying the PWM reference provided by the higher level controller. According to Equation (16), if the acceleration term is neglected, then the linear velocity can be regulated directly through the PWM signal. On the other hand, a PI position controller executed at 100 Hz is used for moving the Cartesian base at desired absolute positions:

$$pwm\_i^{ref} = \left\{ \begin{array}{ll} \text{sign}\left(\boldsymbol{\varepsilon}\_{d\_i}\right) \cdot \boldsymbol{\mathcal{P}} \boldsymbol{\mathcal{W}} \boldsymbol{\mathcal{M}}\_i^{\text{max}} & \text{if } \left|\boldsymbol{\varepsilon}\_{d\_i}\right| \geq \boldsymbol{\mathcal{C}}\_{d\_i}^{th} \\\ k\_{P\_i^\cdot} \cdot \boldsymbol{\varepsilon}\_{d\_i} + k\_{I\_i} \cdot \int \boldsymbol{\varepsilon}\_{d\_i} dt & \text{if } \left|\boldsymbol{\varepsilon}\_{d\_i}\right| < \boldsymbol{\mathcal{C}}\_{d\_i}^{th} \end{array} \right\} \tag{17}$$

Here *edi* = *di*,*ref* − *di* is the position error of the *<sup>i</sup>*-th Cartesian coordinate, *PWMmax i* ∈ [0, 1] is the maximum PWM of the micro motor (*PWMmax <sup>i</sup>* < 0.8 to prevent damaging the motor winding when it is stalled), whereas *kPi* and *kIi* are the proportional and integral gains. To avoid the discontinuity of the control signal, it is imposed that *kPi* ·*eth di* <sup>=</sup> *PWMmax <sup>i</sup>* . The integral term is reset when *edi* ≥ *<sup>e</sup>th di* to prevent the saturation of the controller due to the wind-up effect.

#### *4.2. Force-Torque Estimation with Compliant Arm*

The linear and angular deflection sensors integrated in the compliant arm allow the estimation of the force and torque exerted on the manipulator in the corresponding directions, as represented in Figure 7. On the one hand, the spring-lever transmission mechanism introduced in the servo joint allows the estimation and control of the torque from the deflection measurement [7,19]. If *k*<sup>3</sup> and *d*<sup>3</sup> denote the joint stiffness and damping, the torque delivered by the motor can be estimated as follows:

$$
\pi\_{m,3} = k\_3 \Delta \theta\_3 + d\_3 \dot{\Delta} \theta\_3 \tag{18}
$$

This torque is spent to compensate three terms: gravity, output link inertia, and the torque due to external forces:

$$
\pi\_{m,3} = J\ddot{q}\_3 + m\varsigma gl\sin(q\_3) + F\_{\text{ext}}\sin(\beta)L \tag{19}
$$

Here *m*<sup>3</sup> and *J*<sup>3</sup> are the mass and inertia of the output link, *l*<sup>3</sup> is the distance from the rotation axis to the center of mass, and *Fext* is the external force acting over the tool center point at distance *L* with an angle *β*. The transmitted torque can be controlled through the servo position reference [19]:

$$
\theta\_3^{ref} = \theta\_3 + \left(k\_{P\_3}\pi\_{c,3} + k\_{I\_3}\int \pi\_{c,3}dt\right) \tag{20}
$$

where *<sup>θ</sup>*<sup>3</sup> is the current servo position, *<sup>τ</sup>e*,3 <sup>=</sup> *<sup>τ</sup>ref* <sup>3</sup> − *τm*,3 is the torque error, and *kP*<sup>3</sup> and *kI*<sup>3</sup> are the gains in PI control. This controller will be applied in the experiment shown in Section 5.4. On the other hand, the force acting along the direction of the arm link is estimated from the elongation of the extension springs (see Figure 5), measured with a linear potentiometer:

$$F\_4 = K\_4 \Delta l\_4 \tag{21}$$

where *K*<sup>4</sup> is the spring stiffness and Δ*l*<sup>4</sup> is the elongation. The experiment described in Section 5.3 (force monitoring in grabbing situations) exploits this estimation to detect over-loads and release the gripper in order to prevent crashes. The torque exerted by the compliant joint and the force along the link are supported by the thrust generated by the multirotor. These wrenches are depicted in Figure 7. However, note that the arm does not provide an estimation of the Y–axis wrenches.

#### *4.3. Cartesian Aerial Manipulator Control Scheme*

The control scheme of the Cartesian aerial manipulator is shown in Figure 9. The Task Manager [2,7] is the high-level functional block that implements the functionalities of the robot, generating the appropriate control references for the manipulator and the aerial platform, relying on the low level controllers of the Cartesian manipulator (Sections 4.1 and 4.2) and the autopilot. Some of the tasks are:


**Figure 9.** Functional blocks of the Cartesian aerial manipulator controller.

Since the aerial robot is intended to operate in contact with objects and the environment, it is necessary to estimate and monitor the interaction wrenches exerted by the manipulator to ensure the stability of the aerial platform, exploiting for this purpose the linear and angular deflection sensors of the compliant arm (see Figure 5). The Overload Detector, evaluated in Section 5.3, will report the Task Manager in case the arm is not able to retrieve a grabbed object, whereas the Wrench Estimator [25,27] can be used by the Attitude Controller to compensate for the external forces (see Section 5.4). In this way the attitude control is partially coupled with the manipulator control. The stability of the interaction control in the Cartesian configuration has been analyzed in terms of Lyapunov in [25,37].

#### **5. Experimental Results**

#### *5.1. Cartesian Base Control*

As stated in the introduction, the Cartesian base that supports the compliant arm enhances the positioning accuracy of the end effector compared to a revolute joint manipulator, in such a way that the mapping defined by the forward kinematics given by Equation (1) is almost straightforward. In order to evaluate this feature and the low level position control of the Cartesian base described in Section 4.1, a calibration test is conducted, executing a stair sequence from *d*<sup>1</sup> = −100 to *d*<sup>1</sup> = 100 (mm)and from *d*<sup>2</sup> = −50 to *d*<sup>2</sup> = 50 (mm), with increments of Δ*d*<sup>1</sup> = 25 and Δ*d*<sup>2</sup> = 10 (mm), respectively. Figure 10 represents the evolution of the two variables along with the position control error. The Murata SV01 potentiometers used to measure the rotation angle and the number of turns of the micro motors provide an effective rotational angle of 333◦. Note that a pair of potentiometers is required to overcome the dead zone. The 12-bit resolution ADC limits the accuracy to 0.08◦, which corresponds to a linear displacement of 0.014 mm for a 21 mm Ø timing pulley.

However, in practice, the accuracy is limited by the backlash of the gearbox of the micro motors (around 2◦) and the clearance in the timing belt.

#### *5.2. Compensation of Mass Displacement*

The positioning accuracy of the end effector is also affected by the dynamic coupling between the aerial platform and the manipulator, as the movement of the Cartesian base causes a variation of the center of mass and a reaction torque over the multirotor. The X–axis linear guide in Figure 4 incorporates a counterweight mechanism that moves the manipulator battery synchronized with the Y–axis guide, so the mass distribution is more symmetric, but at expenses of reducing the range of *d*<sup>1</sup> by half. The goal of this experiment is to evaluate the effectiveness of this mechanism in a flight test, showing the evolution of the position and velocity of the multirotor when the Y–axis structure and the compliant arm move in the forward direction while the multirotor is controlled in stabilize mode. The position controller is disabled in order to observe more clearly the desired effect, using a laser tracker to measure the multirotor position. Figure 11 ilustrates the execution of the experiment, representing the signals of interest in Figure 12.

The manipulator is initially at rest position, *d*<sup>1</sup> = 0, *d*<sup>2</sup> = 0, *q*<sup>3</sup> = 0. Between *t* = 0 and *t* = 1 [s], the Cartesian base is displaced to *d*<sup>1</sup> = 95 [mm], and between *t* = 4 and *t* = 5 [s] *q*<sup>3</sup> is rotated from 0 to 90◦. Note that the rotation of the joint cannot be compensated with the counter-weight mass. As can be seen on the lower part of Figure 12, the perturbation in the position and velocity of the multirotor along the X–axis (blue line) is more evident when the counterweight mechanism is disabled.

#### *5.3. Monitoring Linear Deflection in Grabbing Conditions*

The link of the compliant arm is equipped with an elastic force sensor consisting of a pair of extension springs and a linear potentiometer that measures the deflection along the link (Figure 5). This mechanism is used in this experiment to detect and react against overloads in grabbing situations, for example when the arm tries to retrieve an object that is too heavy to be grasped or it is anchored to a fixed point. This situation is depicted in Figure 13. In order to avoid the destabilization of the attitude controller due to the interaction forces, the linear deflection is monitored in such a way that the gripper is released if the deflection exceeds a threshold of 10 (mm), corresponding to a force of around 3 (N). The compliant joint is controlled imposing a zero torque reference, according to the controller given by Equation (20), so the reaction torque in the pitch angle of the multirotor is relatively low. Figure 13 shows the monitoring-release capability on flight, representing the position of the Cartesian base, along with the linear deflection, the joint torque and the orientation of the multirotor. Once the support structure is grabbed at *t* = 3 [s], the X–axis guide moves backwards trying to retrieve the object. At *t* = 3.6 [s], the linear deflection threshold is exceeded, so the Cartesian base reacts by moving the gripper forwards while the compliant joint is rotated to release the bar. The process is repeated at *t* = 10 [s]. The hexa-rotor was controlled in stabilize mode.

**Figure 11.** Phases involved in the battery counterweight experiment: no battery (**left**), battery counterweight (**right**).

#### *5.4. Contact Force Control*

This experiment is intended to evaluate the performance of the contact force controller described in Section 4.2 and the effect over the attitude controller of the hexa-rotor platform. A sequence of images taken from the video is depicted in Figure 14. The Cartesian base and the compliant joint arm are initially at rest position (*d*<sup>1</sup> = 0, *d*<sup>2</sup> = 0, *q*<sup>3</sup> = 0). Once the hexa-rotor is close to the contact point, the Cartesian base moves the output link in the forward direction until the collision with the obstacle is detected at *t* = 3.36 [s]. The deflection detection threshold is set to Δ*θth* <sup>3</sup> = 2◦. Then, the PI force controller is activated, generating the force stair reference represented in Figure 15. As it can be seen, the pushing force is compensated by the attitude controller increasing the reference in the pitch angle, so the thrust of the multirotor is projected in the X–axis. The experiment was repeated again in order to validate the results, represented in Figure 16. The ability to accommodate the compliant joint arm is more evident here, considering the deviation in the position of the multirotor. The contact force control is useful in tasks like sensor installation and retrieval, inspection by contact, or for moving objects in the environment.

**Figure 12.** Multirotor position deviation when the manipulator moves in the forward direction (*d*1, *q*3).

**Figure 13.** Variables of interest (**left**) and sequence of images (**right**) in the force monitoring experiment.

**Figure 14.** Sequence of images from the contact force control experiment.

**Figure 15.** Contact force control experiment. Force reference and estimation (**up, left**), servo position and PI correction terms (**up, right**), multirotor position, velocity, orientation and angular rate (**down**).

**Figure 16.** Contact force control experiment. Second test.

#### **6. Conclusions**

This paper described an aerial manipulator consisting of a multirotor equipped with a 2–DOF Cartesian base (XY–axes) and a compliant arm with angular and linear deflection sensors that allow the estimation, monitoring and control of the interaction wrenches exerted on flight, improving safety in grabbing conditions. This new morphology presents several benefits with respect to revolute joint manipulators in terms of positioning accuracy, energy consumption, and effective workspace, thanks to mechanical construction with two transversal linear guide systems that support the translation of the compliant arm. The forward kinematic model shows that the map between the joint space and the Cartesian space, in which the intended task is usually defined, is almost straightforward, so the Cartesian coordinates (XYZ) can be controlled with the corresponding actuators, reducing in this way the kinematic coupling between the joints and, with it, the propagation of errors at the end effector. The lack of dead-zones around the base of the manipulator extends the effective workspace, particularly useful for object retrieval and store operations. In this sense, the experiments presented in the paper showed how the linear deflection sensor can be used to detect overloads when the arm tries to grab an object too heavy to be lifted, moving the Cartesian base to release it and preventing the stability of the aerial platform from being compromised. The experiments also show the possibility of exerting sustained contact forces with the compliant joint arm, and the effect of the battery counterweight over positioning accuracy (at the expense of reducing the motion range in the X–axis by half). Although the mechanism is able to compensate partially for the reaction wrenches caused by the displacement of the Y–axis structure in the pitch angle, its effectiveness is reduced when the compliant arm is rotated, so this may not be practical in some cases taking into account the limitation it imposes on the range of motion of the X–axis structure.

**Author Contributions:** Conceptualization, A.S.; validation, A.S and M.P.; writing—original draft preparation, A.S.; writing—review and editing, A.S. and G.H.; supervision, G.H. and A.O.; project administration, A.O.; funding acquisition, A.O. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was funded by the AERIAL-CORE (H2020-2019-871479) and HYFLIERS (H2020- ICT-25-2017-779411) projects funded by the European Commission; and the ARTIC (RTI2018-102224- B-I00) projects funded by the Spanish Ministerio de Economia, Industria, y Competitividad.

**Informed Consent Statement:** Not applicable.

**Acknowledgments:** Authors want to thank Antonio Enrique Jimenez-Cano for his support in the realization of the experiments.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**

