*Article* **Aerial Tele-Manipulation with Passive Tool via Parallel Position/Force Control†**

**Mostafa Mohammadi 1,2, Davide Bicego 3,\*, Antonio Franchi 3,4, Davide Barcelli <sup>1</sup> and Domenico Prattichizzo 1,2**


**Abstract:** This paper addresses the problem of unilateral contact interaction by an under-actuated quadrotor UAV equipped with a passive tool in a bilateral teleoperation scheme. To solve the challenging control problem of force regulation in contact interaction while maintaining flight stability and keeping the contact, we use a parallel position/force control method, commensurate to the system dynamics and constraints in which using the compliant structure of the end-effector the rotational degrees of freedom are also utilized to attain a broader range of feasible forces. In a bilateral teleoperation framework, the proposed control method regulates the aerial manipulator position in free flight and the applied force in contact interaction. On the master side, the human operator is provided with force haptic feedback to enhance his/her situational awareness. The validity of the theory and efficacy of the solution are shown by experimental results. This control architecture, integrated with a suitable perception/localization pipeline, could be used to perform outdoor aerial teleoperation tasks in hazardous and/or remote sites of interest.

**Keywords:** aerial robotics; aerial manipulation; force control; bilateral teleoperation; haptics; quadrotor

#### **1. Introduction**

Aerial robotics has become increasingly popular in research, industry, and for commercial applications. Beyond the traditional visual inspection functionality that made them widely used and appreciated, aerial robots have recently received profound interest for applications which require to seek, establish, and maintain some sort of physical interaction with the environment in order to fulfill a certain task. Relevant examples are epitomized by maintenance operations in the energy sector, for example, oil, gas, refinery, and power plants, in particular, to perform non-destructive tests that require keeping some sensors in touch with objects not easily accessible by a human, due to their installation altitude, and also in hazardous environments [1,2]. Apart from their growing use in industrial and civil sites, these systems are starting to also be employed for the in-contact documentation of historical buildings [3]. Other applications of aerial interaction involve the transportation of cable-suspended payloads [4] and packages for search and rescue missions [5].

*Aerial manipulation* is the deliberately controlled physical interaction of an aerial manipulator with objects in its environment. For an extensive overview of the works on this topic, the interested reader is referred to [6,7]. By *aerial manipulator* we mean a small size Vertical Take-Off and Landing (VTOL) Unmanned Aerial Vehicle (UAV) equipped with a manipulation tool. This manipulation tool is either an active robotic arm manipulator or a passive tool.

**Citation:** Mohammadi, M.; Bicego, D.; Franchi, A.; Barcelli, D.; Prattichizzo, D. Aerial Tele-Manipulation with Passive Tool via Parallel Position/Force Control. *Appl. Sci.* **2021**, *11*, 8955. https:// doi.org/10.3390/app11198955

Academic Editor: Seong-Ik Han

Received: 6 August 2021 Accepted: 18 September 2021 Published: 26 September 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/).

When dexterous manipulation by an aerial manipulator is not required, for example, when the robot is intended to apply desired force vectors to an object in order to push, inspect, or probe its surface, or when the normal grippers are not effective, for example, for an object with a wide flat surface, the use of a lightweight passive tool is preferable to a heavier active arm manipulator, as the smaller payload imposed to the aerial robot results in a more energy-efficient system and longer operational flight time. Moreover, simplicity and low weight of a passive tool allow the usage of a broader range of UAVs.

Despite significant achievements in the fully autonomous control of drones, limited problem-solving capabilities, inadequacy in unexpected environmental conditions, legal restrictions, and imperfect position control [8] often require the presence of human operator(s) in aerial manipulation tasks. In bilateral teleoperation schemes, the human capabilities are enhanced by providing them with tangible interaction information of the remote side in the form of force and motion feedbacks (haptic feedback), besides the traditional visual feedback.

In this paper, we propose an aerial manipulation solution using passive tools with a compliant end-effector. Applying a desired force profile in a uni-lateral contact, and at the same time maintaining the flight stability, that is, position and orientation control, and keeping the contact stable, that is, to avoid losing contact and sliding over the contact surface, represents a challenging control problem, especially when it is performed with an underactuated aerial manipulator in a bilateral teleoperation loop. Fully-actuated aerial manipulators have been demonstrated to be more effective for this kind of application [8–11] but consume more energy due to internal forces. That is why the use of under-actuated UAVs is investigated in this work. Our aerial manipulator is a quadrotor UAV equipped with a lightweight passive tool rigidly attached to the top of it (Figures 1 and 2). The end-effector has a mechanical damper on its surface to smooth free flight to contact transition, and a passive compliant spherical joint to keep the contact while changing the orientation. This compliant mechanism, along with appropriate control policy conforming with the system constraints, allows involving all the robot's degrees of freedom to generate the desired force vector. The desired motion and force of the aerial manipulator are attained using a *parallel position/force control* scheme within a bilateral teleoperation control framework.

The proposed control scheme regulates the aerial manipulator pose in free flight and the applied force in contact conditions. A human operator using a haptic device (with a limited workspace) commands the aerial manipulator pose (with virtually unlimited workspace) in free flight. When the aerial manipulator's end-effector comes in contact with the environment, the haptic device movement is interpreted as desired force. Position control in free flight and force control in contact are achieved by utilizing a cascaded parallel position/force controller. The reference pose is composed by the operator's pose command (free flight pose command) and the output of a force controller in an outer loop. To avoid losing the contact, the desired force is always kept in a feasible range that satisfies the friction and compliance constraints. On the master side, the human operator is provided with force feedback proportional to the robot's velocity in free flight and the applied force in contact.

The aerial tele-manipulation system presented in this paper may contribute to addressing and solving a broad class of relevant use-case applications where a UAV is remotely operated in hardly accessible and life-threatening sites, for example, at high altitudes, by a human safely located in a protected place, thus relieving him/her from potentially dangerous tasks. A conceptual example is depicted in Figure 1. Apart from the aforementioned applications of remote sensor placement, contact holding and remote button pushing, another idea that could be envisioned is to employ such a system to push boxes located on a shelf onto a conveyor belt, in an industrial warehouse scenario. Thanks to the enhanced situational awareness guaranteed by the haptic feedback, the operator could easily regulate the force applied to the load. Furthermore, the designed control law would ensure that the contact is maintained throughout the manipulation. As should be appreciated, many other relevant applications involving the aforementioned conditions can be easily conceived.

**Figure 1.** A conceptual example of aerial tele-manipulation with a passive tool: an aerial robot equipped with a lightweight passive tool tasked to press an emergency shut down push button.

**Figure 2.** The passive lightweight tool with compliant end-effector used to convert a normal VTOL UAV to an aerial manipulator.

The rest of the paper is organized as follows. The next subsection reviews the related works and the contribution of the paper. Section 2 explains the platform and its dynamic model in the teleoperation system. Section 3 presents the proposed control approach, the stability analysis of which is presented in Section 4. Experimental results are presented in Section 5, while concluding remarks and hints about intended future works are outlined in Section 6.

#### *Related Works and Contribution*

There has been a growing interest in aerial robots with physical interaction in the past few years, and many research projects such as [12] have focused on this context. In the following, we try to concisely provide a general overview of the state of the art of this broad topic, focusing then on the works more closely related to the one presented in this paper. Aerial physical interaction with the environment can be macro-categorized as:


and naturally, different mechanical solutions demand different controllers.

To mention some examples belonging to the first group, in [13] the authors designed and installed a small parallel manipulator on one side of a VTOL, while the use of one and two serial manipulators to grasp objects was proposed in [14] and in [15], respectively. In these works, the authors implemented and validated different instances of hybrid force control. A visual servoing approach to control a quadrotor equipped with a serial manipulator is suggested by [16], while a passivity-based adaptive controller, which can be applied to both position and velocity control to guide a quadrotor aerial manipulator, is utilized by [17]. Furthermore, the behavioral control of an aerial manipulator is presented in [18]. In the multi-robot scenario, a team of quadrotors, equipped with serial manipulators,

controlled by a visual servoing technique, is demonstrated in [19]. Differently from these works, we tackle the scenario of aerial tele-manipulation with haptic feedback of an object of interest via parallel/force control, using a passive tool.

In the second group, which encompasses the research presented in this paper, different works have focused on solutions to applications requiring less dexterous manipulation capabilities, but with the benefits of being more cost-effective, versatile, and lightweight, thus allowing for longer operational flight time. In [20], a quadrotor UAV equipped with a rigid tool, controlled based on a mapping between the desired vehicle attitude and the commanded force, is used to establish contacts with the environment. The control strategy therein is designed as a variation of near-hovering control, and does not take into account the friction cone constraints that allow maintenance of the contact between the robot tooltip and the environment, while instead our strategy does. The authors of [21] propose instead an interesting combination of both mechanical design and control strategy to handle collisions and interaction in a more compliant way, without focusing on direct force control. A hybrid position/force control framework for a quadrotor is presented in [22], which allows the exertion of forces with the quadrotor airframe, without any tool, on the environment. A similar control approach is also adopted in [23] for the very relevant task of tool operation with quadrotors. Planning and control for an aerial robot in contact with its environment, based again on a hybrid position/force switching controller, is presented in [24], where obstacle avoidance is also performed. The control schemes of [22–24] are based on the decoupling of axes of the applied force and motion; that is, force is applied in the motion constrained axes while on the other axes the motion is controlled. Differently from [22–24] and other similar approaches, in this work, we do consider friction constraints in a compliant uni-lateral contact to avoid slipping of the tool in the non-constrained axes of motion and to maintain the contact, which allows us to generate 3D force vectors. For this reason, we use a parallel (and not hybrid) position/force control approach, which also deploys rotational degrees of freedom to attain a broader feasible range of forces. It is worth noting that the traditional parallel position/force controller applied to generic six-DoF grounded manipulators is not directly applicable to our system, as it is an under-actuated floating robot. All the wrench components of the contact interaction are transmitted to the robot CoM and affect its orientation, by which the position is controlled, which makes the problem more challenging, especially in the transition from free flight to contact interaction and vice versa.

Furthermore, in all the aforementioned papers, the use of haptic feedback is not envisioned. Haptic teleoperation of UAVs is mainly used for obstacle avoidance in free flight, aiming to improve the situational awareness of the human operator using haptic feedback, such as the generic hierarchical passive teleoperation control architecture presented in [25]. We use haptic feedback not only to improve the performance of position tracking in free flight, but also to reflect the applied force, in order to let the user feel the force in the contact interaction, which eventually leads to a more accurate tele-manipulation. The stability analysis and experimental results validate the proposed bilateral teleoperation scheme for aerial manipulation using passive tools.

To the best of our knowledge, the problem of teleoperating VTOL UAVs with haptic feedback to establish contact and apply forces on objects of interest while ensuring the compliance with friction constraints and avoiding slipping has not yet been deeply investigated by the community researching aerial physical interaction. We introduced the aerial haptic tele-manipulation idea in [26]. The present paper completes, improves, and extends this concept in the following ways:


wider range of feasible force commands by using the passive compliant spherical joint mechanism of the end-effector, enforcing the contact maintenance;


#### **2. Dynamic Model**

The bilateral teleoperation system consists of: a human operator, a haptic device (master), an aerial manipulator (slave), and the remote environment (cf. Section 3). This section presents the dynamic model of the aerial manipulator (a quadrotor UAV equipped with a passive lightweight tool) in contact with the environment. The tool is rigidly connected to the top of the quadrotor, and a lightweight rigid link ensures enough room between the propellers and the end-effector to allow safe contact with the environment. A compliant spherical joint connects the lightweight rigid link to the end-effector, and an elastic shock absorber damper along with the compliant joint help to establish smoother contacts (Figure 2). In the following we assume that the spherical joint rotation is small, so the springs remain in their linear region, the weight of the tool is negligible, and the tool link is rigid.

Let us define the world frame W : {*O*W, *xw*, *yw*, *zw*}, the body frame B : {*O*B, *xb*, *yb*, *zb*} for the robot, and the contact frame C : {*O*<sup>C</sup> , *o*,*t*, *n*} placed at the contact point (Figure 3). The position of *O*<sup>B</sup> in W is indicated with *p* = [*xyz*] <sup>∈</sup> <sup>R</sup>3, *<sup>R</sup>* <sup>∈</sup> *SO*(3) is the rotation matrix representing the orientation of B in W. We consider the RPY parameterization of *R*, that is, *η* := [*φθψ*] <sup>∈</sup> <sup>R</sup>3, where *<sup>φ</sup>*, *<sup>θ</sup>*, *<sup>ψ</sup>* are the roll, pitch and yaw angles, respectively, and are bounded as <sup>−</sup>*<sup>π</sup>* <sup>2</sup> <sup>&</sup>lt; *<sup>φ</sup>* <sup>&</sup>lt; *<sup>π</sup>* <sup>2</sup> , <sup>−</sup>*<sup>π</sup>* <sup>2</sup> <sup>&</sup>lt; *<sup>θ</sup>* <sup>&</sup>lt; *<sup>π</sup>* <sup>2</sup> , and −*π* < *ψ* ≤ *π*. The end-effector position expressed in W is *pe* = *p* + *Rd*, where *d* is the end-effector position vector in B. The angular velocity of <sup>B</sup>, denoted by *<sup>ω</sup>* <sup>∈</sup> <sup>R</sup>3, is related to the derivative of Euler angles *<sup>η</sup>***˙** by *<sup>ω</sup>* <sup>=</sup> *<sup>E</sup>*(*η*)*η***˙** where *<sup>E</sup>*(*η*) <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> is defined according to *<sup>R</sup>*. The robot dynamics can be expressed in terms of robot pose *x* = [*p η*] <sup>∈</sup> <sup>R</sup>6, in <sup>W</sup>, as follows.

$$M\_s(\mathbf{x})\ddot{\mathbf{x}} + \mathbb{C}\_s(\mathbf{x}, \dot{\mathbf{x}})\dot{\mathbf{x}} + \mathbf{g}(\mathbf{x}) = \mathbf{z}\mathbf{w} + \mathbf{w}\_{\mathbf{e}}.\tag{1}$$

where *Ms* <sup>=</sup> *diag*{*mI*3×3, *<sup>M</sup>*}, with *<sup>M</sup>* <sup>=</sup> *<sup>E</sup> JE*, is the inertia matrix in which *<sup>m</sup>* <sup>∈</sup> <sup>R</sup>+, *<sup>J</sup>* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> are the robot mass and moment of inertia matrix, *Cs* <sup>=</sup> *diag*{**0**3×3, *<sup>C</sup>*}, with *C* = *E*(*JE*˙ + *S*(*Eη*˙)*JE*) includes the Coriolis/centripetal dynamics in which *S*(*a*) is the skew-symmetric matrix of a generic vector *a*; *g* = [*mgz <sup>w</sup>* , **0**3] is the gravity vector with *g* being the gravity acceleration constant. *w* = [(*uzRzb*), *u η* ] is the robot control wrench in which the magnitude of the total thrust acting along the *z<sup>b</sup>* direction is denoted with *uz* <sup>∈</sup> <sup>R</sup>+, and *<sup>u</sup><sup>η</sup>* <sup>∈</sup> <sup>R</sup><sup>3</sup> is the rotational control moment. *we* = [*<sup>f</sup> <sup>t</sup>* (*S*(*d*)*ft* + *τr*)] is the external wrench applied to the system. The wrench applied to the end-effector is modeled as spring wrench (*ft***,** *<sup>τ</sup>r*), expressed in W as *ft* = −*R<sup>w</sup> <sup>c</sup> Ktδp<sup>c</sup>* and *τ<sup>r</sup>* = −*R<sup>w</sup> <sup>c</sup> Krδηc*, where *R<sup>w</sup> <sup>c</sup>* is the rotation matrix representing the orientation of C w.r.t. W, and *Kt* = *diag*{*kto*, *ktt*, *ktn*}, *Kr* = *diag*{*kro*, *krt*, *krn*} are the diagonal stiffness matrices, *δp<sup>c</sup>* = [*δo δt δn*] is the compression of the linear spring, and *δη<sup>c</sup>* = [*δη<sup>o</sup> δη<sup>t</sup> δηn*] is the compression of the angular spring, expressed in C, respectively.

We consider the *soft finger model* for the contact in which all three components of force and the normal component of the torque are transmitted in the contact independently [27]. Considering this model and the force torque balance for the end-effector, the wrench transmitted by the end-effector, *that is*, applied force *f* = [ *fo ft fn*] and torque *τ* = [0 0 *τn*] , in C, can be obtained as:

$$\begin{cases} f = -f\_t^c - \frac{1}{\|d\|^2} S(d^c) \pi\_r^c = K\_l \delta \rho^c + \frac{1}{\|d\|^2} S(d^c) K\_l \delta \eta^c\\ \pi\_n = k\_{rn} \delta \eta\_n. \end{cases} \tag{2}$$

Equation (2) is used in the next section to define the control inputs of the force controller. The constraints of the force and torque to keep the contact are as follows:

$$\begin{cases} 0 \le f\_n\\ \sqrt{f\_o^2 + f\_t^2} / \mu\_s \le f\_n\\ |\tau\_\mathbf{n}| / \mu\_t \le f\_n\\ \sqrt{\tau\_o^2 + \tau\_t^2} / r\_d \le f\_n \end{cases} \tag{3}$$

where *μ<sup>s</sup>* and *μ<sup>t</sup>* are the linear and angular friction coefficients of the end-effector surface with the object surface, and *rd* is the end-effector surface disk radius. The first constraint is the unilateral condition, the second one is to avoid translation slippage, the third one is to avoid rotational slippage, and the last one is to prevent the disk lifting up. The constraint (3) is used in the next section to modify the desired force vector in order to keep the contact.

**Figure 3.** The coordinate frames, and components in the dynamic model of the aerial manipulator in contact with an object.

The dynamic model of the haptic interface, that is, the master robot, considering an inverse dynamic controller with gravity and nonlinear compensation [28], in the operational workspace, can be described as

$$M\_{m}\ddot{\mathbf{x}}\_{m} + K\_{mD}\dot{\mathbf{x}}\_{m} = K\_{mP}\ddot{\mathbf{x}}\_{m} + f\_{h} - f\_{c} \tag{4}$$

where *<sup>x</sup><sup>m</sup>* <sup>∈</sup> <sup>R</sup>*nm* (*nm* is the number of master robot's actuated DOFs is the master device pose, *x*˜*<sup>m</sup>* is the pose error, *Mm* is the diagonalized inertia matrix, *KmP*, *KmD* are the PDcontroller gains regulating the desired master robot pose, *fh* is the force applied by the human operator and *fc* is the reflected teleoperation force.

#### **3. Control System**

The proposed bilateral teleoperation scheme controls the robot's position in the free flight, in an unlimited workspace using a limited workspace haptic device, and regulates the force tracking during physical interaction, keeping the contact based on the human operator's commanded force. The human operator is provided with force feedback proportional to the velocity in free flight and the applied force in contact. The overall teleoperation scheme is depicted in Figure 4, and the parallel position/force controller is shown in Figure 5.

**Figure 4.** The bilateral teleoperation scheme with a parallel position/force controller in the slave side to control an aerial manipulator.

**Figure 5.** Parallel position/force controller for an aerial manipulator, in the remote side of the teleoperation scheme.

#### *3.1. Position Control*

The position control of the mechanically under-actuated quadrotor is implemented using a two layer cascade controller. The orientation is controlled using PID in the inner loop, and the outer loop provides the inner loop with reference roll and pitch (*φd*, *θd*) to control the robot planar motion using a gravity-compensated-PD. The yaw motion is controlled independently.

$$\begin{cases} u\_z = \frac{m}{\cos(\phi)\cos(\vartheta)} (\mathcal{g} - k\_{pz}\dot{z} - k\_{dz}\dot{z}) \\ u\_x = -k\_{px}\ddot{x} - k\_{dx}\dot{x} \\ u\_y = -k\_{py}\ddot{y} - k\_{dy}\dot{y} \\ \begin{bmatrix} \sin(\phi\_d) \\ \sin(\theta\_d) \end{bmatrix} = \frac{m}{u\_z} \begin{bmatrix} \sin(\psi) & -\cos(\psi) \\ \frac{\cos(\psi)}{\cos(\phi)} & \frac{\sin(\psi)}{\cos(\phi)} \end{bmatrix} \begin{bmatrix} u\_y \\ u\_x \end{bmatrix} \\ u\_\eta = -K\_D \dot{\eta} - K\_P \ddot{\eta} - K\_I \int\_0^t \ddot{\eta}(s)ds, \end{cases} \tag{5}$$

where *p* − *pd* = [*x*˜ *y*˜ *z*˜] is the position error with *pd* <sup>∈</sup> <sup>R</sup><sup>3</sup> being the desired position, *kpx*, *kdx*, *kpy*, *kdy*, *kpz*, *kdz*, <sup>∈</sup> <sup>R</sup><sup>+</sup> are proportional and derivative gains, *<sup>η</sup>***˜** <sup>=</sup> *<sup>η</sup>* <sup>−</sup> *<sup>η</sup><sup>d</sup>* is the

orientation error with *η<sup>d</sup>* = [*φd*, *θd*, *ψd*] being the desired orientation, and *KP*, *KD*, *KI* are the proportional, derivative, and integral diagonal gain matrices to regulate the attitude.

#### *3.2. Force Control*

The force is regulated by providing the internal position control loop with an appropriate reference. The robot's desired position *pd* and desired yaw *ψ<sup>d</sup>* are four commanded states of the system, noting that the system is mechanically under-actuated. As depicted in Figure 5, the outer force regulating the feedback loop generates additional terms (*p<sup>f</sup>* , *ψf*), depending on the force error, that are added to the previously commanded pose (*pp*, *ψp*) in the free flight. As we aimed at contact interaction with the environment using the end-effector, we command the end-effector pose; therefore, we convert the end-effector pose to the COM pose by including the term −*Rd* in the desired pose. Thus, *pd* and *ψ<sup>d</sup>* are expressed as:

$$\begin{cases} p\_d = p\_p + p\_f - \mathcal{R}d\\ \psi\_d = \psi\_p + \psi\_f. \end{cases} \tag{6}$$

In the sequel, we see how *pp*, *ψp*, *pf* , and *ψ<sup>f</sup>* are generated from the user command, given by *xm*, based on the aerial manipulator contact condition.

When the robot is in free flight condition, the master robot position (*xm*) is interpreted as a position command; while when the end-effector comes in contact *xm* is interpreted as the desired force. In order to distinguish the two conditions, let us introduce the contact function *u*(*f*, *fd*) as:

$$u(t\_k) = \begin{cases} 1 & \text{if } f\_n(t\_k) > 0 \text{ \& } f\_n(t\_{k-1}) > \epsilon \\ 0 & \text{if } f\_n(t\_k) = 0 \text{ \& } f\_{d,n}(t\_k) < -\epsilon \\ u(t\_{k-1}) & \text{otherwise.} \end{cases} \tag{7}$$

This hysteresis-like function is intended to prevent the chattering phenomenon in the attachment and detachment phases. In Equation (7), *fn*(*tk*) is the normal component of the measured contact force at *tk* instance and *fn*(*tk*−1) is the previous sample of the same measurement; *fd*,*n*(*tk*) is the normal component of the commanded force, *<sup>u</sup>*(*tk*−1) is the previous output of the function (*u*(0) = 0), and <sup>∈</sup> <sup>R</sup><sup>+</sup> is a small positive value. In the contact condition, if the commanded normal component of the force is negative (*fd*,*n*(*tk*) < −) and the normal component of the applied force is zero, the detachment takes place. During free flight *u*(*t*) = 0 and the component of the desired position that is intended to control the aerial manipulator position in free flight is generated by integrating the master position as:

$$p\_p = p\_d(t\_0) + \int\_{t\_0}^t (1 - u(t)) \mathcal{K}\_p^f \mathbf{x}\_{\mathfrak{m}} \, dt,\tag{8}$$

where *K<sup>f</sup> <sup>p</sup>* is a 3 × 3 matrix that rotates and scales the master robot motion appropriately. The aerial manipulator heading *ψ<sup>p</sup>* in free flight is directly commanded by the user, through mapping one of the master robot motions, similar to *pp*.

When the end-effector establishes a contact *u*(*t*) = 1, and thus (1 − *u*(*t*)) = 0, in this case the integral stores the end-effector position at the contact moment, and the motion of the master robot during the contact interaction is used to command the desired force. The force commanded by the human operator, *f ∗ <sup>d</sup>* <sup>∈</sup> <sup>R</sup>3, expressed in <sup>C</sup>, is generated as:

$$f\_d^\bullet = \mu(t) K\_f^\dagger \mathbf{x}\_{m\prime} \tag{9}$$

where *K<sup>f</sup> <sup>f</sup>* is a 3 × 3 matrix that rotates and scales the master robot motion appropriately.

To prevent the desired force violating the contact constraint (3), the commanded force is modified as follows:

$$f\_d = \begin{cases} f\_d^\* & \text{if } \frac{1}{\mu\_s} \sqrt{(f\_o^\*)^2 + (f\_t^\*)^2} + \frac{1}{\sqrt{r\_d^2 + \mu\_t^2}} |\mathbf{r}| \le f\_n^\*\\ \sigma(f\_d^\*) & \text{otherwise,} \end{cases} \tag{10}$$

where *f ∗ <sup>d</sup>* = [ *f* <sup>∗</sup> *<sup>o</sup>* , *f* <sup>∗</sup> *<sup>t</sup>* , *f* <sup>∗</sup> *n* ] , and *σ*(*f ∗ <sup>d</sup>* ) is a function projecting the desired commanded force *f ∗ <sup>d</sup>* to the surface of the contact constraints (3) as follows:

$$\sigma(f\_d^\bullet) = \cos(a)f\_d^\bullet + \sin(a)(\mathcal{S}(a)f\_d^\bullet) + (1-\cos(a))(a^\top f\_d^\bullet)\mathfrak{a} + \frac{1}{\sqrt{r\_d^2 + \mu\_t^2}}|\tau|\mathfrak{a},\tag{11}$$

where *a* = (*S*(*f ∗ <sup>d</sup>* )*n*)/||(*S*(*f <sup>∗</sup> <sup>d</sup>* )*n*)|| is the unit axis of rotation, *α* = *β* − *γ* is the required angle to rotate *f ∗ <sup>d</sup>* around *a* to project it on the surface of the friction cone, *β* is the angle between *f ∗ <sup>d</sup>* and *<sup>n</sup>*, and *<sup>γ</sup>* = tan−1(*μs*) is the translational friction cone angle. This function minimally increases the normal component (by adding (*r*<sup>2</sup> *<sup>d</sup>* + *<sup>μ</sup>*<sup>2</sup> *<sup>t</sup>*)−0.5|*τ*|*n*) to avoid torsional slippage and lifting up the end-effector disk, and applies the minimum rotation to its direction to keep it within the feasible force range.

The next step to generate *pf* and *ψ<sup>f</sup>* is to feed the force error **˜** *<sup>f</sup>* <sup>=</sup> *<sup>f</sup>* <sup>−</sup> *fd* = [ ˜ *fo* ˜ *ft* ˜ *fn*] to a PI-controller as:

$$
\mu\_f = -\mathcal{K}\_{Pf}\vec{f} - \mathcal{K}\_{lf} \int\_0^t \vec{f}dt,\tag{12}
$$

where *KP f* , *KI f* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> are proportional and integral diagonal gain matrices, respectively. The PI-output *uf* = [*uo ut un*] —after appropriate transformations—generates *pf* and *ψ<sup>f</sup>* .

At the contact moment, in which the springs are in rest position, we define the contact frame C which is its orientation w.r.t. B represented by rotation matrix *<sup>R</sup><sup>b</sup> <sup>c</sup>* . Let *d* = [*dx*, 0, *dz*] ; we can always define C with a constant *<sup>R</sup><sup>b</sup> <sup>c</sup>* such that *d<sup>c</sup>* = [*do*, 0, *dn*] . Expanding (2) we get:

$$\begin{cases} f\_o(\delta o, \delta \eta\_t) = k\_{to} \delta o - \frac{d\_n k\_{rt}}{||d||^2} \delta \eta\_t \\ f\_t(\delta t, \delta \eta\_o, \delta \eta\_n) = \frac{d\_n k\_{tn}}{||d||^2} \delta \eta\_o + k\_{tt} \delta t - \frac{d\_n k\_{nt}}{||d||^2} \delta \eta\_n \\ f\_n(\delta n, \delta \eta\_t) = k\_{tn} \delta n + \frac{d\_n k\_{tt}}{||d||^2} \delta \eta\_t. \end{cases} \tag{1.3}$$

Therefore, *fn* and *fo* can be regulated by commanding the motion along *n* and *t*, respectively. To control *ft*, we choose *δηo*, and the reason is: due to the under-actuation of the quadrotor, changing *δt* requires changing the roll and pitch angles of the aerial manipulator and this results in applying an undesirable moment around the normal axis of the contact frame. The usage of rotation to generate the desired force also leads to a wider range of feasible forces, as it not only relies on the limited linear friction of the end-effector and object surfaces. *δη<sup>o</sup>* can be considered as changing the yaw angle *ψ* (see Figure 3). Therefore, *pf* and *ψ<sup>f</sup>* can be obtained as follows:

$$\begin{cases} p\_f = \mathbb{R}^\top R\_c^b [\mu\_0 \ 0 \ \mu\_n]^\top\\ \psi\_f = u\_t. \end{cases} \tag{14}$$

#### *3.3. Master Control and Haptic Feedback*

The input of the master robot (haptic device), as expressed by (4), receives two elements from the teleoperation scheme: the human force *fh* and the haptic feedback force *fc*, which is itself constituted by two parts *fPD*, and *fp f* . The term *fPD* is a negative proportional derivative term, based on master position *xm*, that is intended to bring back the device to its zero position gently when the device is not moved by the operator, so that the quadrotor will not move or apply force when the haptic device handle is released. On the

other hand, *fp f* is the haptic feedback given to the user depending on the velocity in free flight or force error in contact. The haptic feedack *fc* is synthesized as:

$$f\_{\mathbf{f}} = f \mathbf{p} \mathbf{D} + f\_{\mathbf{p}f} = (K\_{\text{Ph}} \mathbf{x}\_{\text{m}} + K\_{\text{Dh}} \dot{\mathbf{x}}\_{\text{m}}) + (K\_{f}^{b} f + (1 - \mu) K\_{p}^{b} \dot{\mathbf{p}}),\tag{15}$$

where *K<sup>b</sup> <sup>f</sup>* , *<sup>K</sup><sup>b</sup> <sup>p</sup>*, *KPh*, *KDh* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> are positive diagonal gains.

#### **4. Stability Analysis**

We first show the stability of the rotational dynamics in contact, then the stability of the force controller, and finally the stability of the teleoperation scheme. In order to facilitate the tractability, let C and W coincide, *<sup>R</sup><sup>w</sup> <sup>c</sup>* = *I*3, and at the contact instance *R<sup>b</sup> <sup>c</sup>* = *I* (see Figure 3).

#### *4.1. Rotational Stability*

The angular dynamics *M*(*η*)*η***¨** + *C*(*η*, *η***˙**)*η***˙** + *Krη* + *τ<sup>f</sup>* = *uη*, where *τ<sup>f</sup>* = −*S*(*d*)*ft* has the following properties:


**Theorem 1.** *Applying the rotational part of the control law* (5) *to the aerial manipulator described by* (1)*, its rotational dynamic is locally asymptotically stable such that <sup>η</sup>*˜, *<sup>η</sup>*˙ <sup>→</sup> **<sup>0</sup>** *and <sup>t</sup>* <sup>0</sup> *η*˜(*s*)*ds* → <sup>−</sup>*K*−<sup>1</sup> *<sup>I</sup>* (*Krη* + *τf*) *as t* → ∞*.*

**Proof.** Let *ζ* = [**Δ***ηη*˜*η*˙ ] , where **Δ***η* = *<sup>t</sup>* <sup>0</sup> *<sup>η</sup>*˜(*s*)*ds* <sup>+</sup> *<sup>K</sup>*−<sup>1</sup> *<sup>I</sup>* (*Krη* + *τf*), and consider the following scalar function:

$$W(\mathfrak{J}) = \frac{1}{2} \mathfrak{J}^{\top} P \mathfrak{J} \ , \tag{16}$$

where the symmetric matrix *P* is defined as follows:

$$P = \begin{bmatrix} K\_I & K\_{12} & \varepsilon M \\ K\_{12} & K\_{22} & \varepsilon M \\ \varepsilon M & \varepsilon M & M \end{bmatrix} \tag{17}$$

with *ε* = *k<sup>ε</sup> μ<sup>M</sup> <sup>γ</sup><sup>M</sup>* and 0 <sup>&</sup>lt; *<sup>k</sup><sup>ε</sup>* <sup>&</sup>lt; 0.5, *<sup>K</sup>*<sup>12</sup> <sup>=</sup> *KI* <sup>+</sup> *<sup>ε</sup>KD* <sup>−</sup> *Kr*, and *<sup>K</sup>*<sup>22</sup> <sup>=</sup> *KP* <sup>+</sup> *<sup>ε</sup>KD* <sup>−</sup> *<sup>K</sup>*12*K*−<sup>1</sup> *<sup>I</sup> Kr*. Let *Ks* = *ksI* for *s* = {*P*, *I*, *D*} with *ks* > 0; in a range satisfying inequities,

$$\begin{array}{ll} 0 < k\_D < \frac{\mu\_K}{\varepsilon} - \gamma\_{M\prime} & \varepsilon < \frac{\mu\_K}{\gamma\_M} \\ k\_p > k\_I + \frac{\gamma\_K}{k\_I}(\varepsilon k\_D - \mu\_K) + \varepsilon \gamma\_M. \end{array} \tag{18}$$

*P* becomes SDD with positive diagonal elements, and is therefore positive definite. Thus, *V*(*ζ*) is a positive definite function and hence a Lyapunov function candidate, which is radially unbounded and satisfies the Rayleigh–Ritz inequality [29] as:

$$\left\|\mu\_P\right\|\left\|\mathbb{J}\right\|^2 \le V(\mathbb{J}) \le \gamma\_P \left\|\mathbb{J}\right\|^2,\tag{19}$$

where *μ<sup>P</sup>* and *γ<sup>P</sup>* are the minimum and maximum eigenvalues of *P*. The time derivative of the Lyapunov candidate (16) is:

$$\dot{V} = -\boldsymbol{\zeta}^{\top} \boldsymbol{Q} \boldsymbol{\zeta} + \boldsymbol{\zeta}^{\top} \boldsymbol{B} \big[ \boldsymbol{\pi}\_{f}^{\top} \ \dot{\boldsymbol{\eta}}\_{d}^{\top} \big]^{\top},\tag{20}$$

with

$$B = \begin{bmatrix} I & -K\_{12} \\ K\_{12} & -K\_{22} \\ \varepsilon K\_I^{-1} M & -\varepsilon M \end{bmatrix} \tag{21}$$

$$\mathbf{Q} = \begin{bmatrix} \varepsilon K\_I & \frac{1}{2}((\varepsilon - 1)K\_I + \varepsilon K\_P) & -\frac{1}{2}\varepsilon \mathbf{C}^\top \\ \frac{1}{2}((\varepsilon - 1)K\_I + \varepsilon K\_P) & \varepsilon K\_P - (K\_I + \varepsilon K\_D - K\_r) & -\frac{1}{2}\varepsilon (\mathbf{C}^\top + M) \\ -\frac{1}{2}\varepsilon \mathbf{C}^\top & -\frac{1}{2}\varepsilon (\mathbf{C}^\top + M) & K\_D - \varepsilon M(I + K\_I^{-1}K\_r) \end{bmatrix} \tag{22}$$

In the following we shall show that:

$$\dot{V}(\mathcal{J}) \le -\mathcal{J}\_1^\top Q\_1 \mathcal{J}\_1 + \mathcal{J}^\top B [\dot{\pi}\_f^\top \ \dot{\eta}\_d^\top]^\top,\tag{23}$$

where *ζ*<sup>1</sup> = [ **Δ***η η*˜ *η*˙ ] and

$$Q\_1 = \begin{bmatrix} \varepsilon k\_I & \frac{1}{2}((\varepsilon - 1)k\_I + \varepsilon k\_P) & \frac{1}{2}\varepsilon \delta\_C ||\dot{\eta}||\\ \frac{1}{2}((\varepsilon - 1)k\_I + \varepsilon k\_P) & \varepsilon (k\_P - k\_D) + \mu\_K - k\_I & \frac{1}{2}\varepsilon (\gamma\_M + \delta\_C ||\dot{\eta}||)\\ \frac{1}{2}\varepsilon \delta\_C ||\dot{\eta}|| & \frac{1}{2}\varepsilon (\gamma\_M + \delta\_C ||\dot{\eta}||) & k\_D - \varepsilon \gamma\_M (1 + \frac{\gamma\_K}{k\_I}) \end{bmatrix}. \tag{24}$$

To obtain (23), we choose *kP*, *kI*, *kD* such that:

$$\begin{array}{l} \varepsilon (2\mu\_K + \gamma\_M) < k\_I < \mu\_K\\ (\frac{1}{\varepsilon} - \varepsilon)k\_I < k\_P < 2\mu\_K + \gamma\_M \quad . \end{array} \tag{25}$$
 
$$\varepsilon \gamma\_M (\frac{3}{2} + \frac{\gamma\_K}{k\_I}) < k\_D < \mu\_K (1 - \varepsilon)$$

Consequently, *ε* must be chosen such that

$$\varepsilon < \min\left\{ \frac{\mu\_K - k\_I}{\mu\_K - \frac{k\_P}{2} + \frac{\gamma\_M}{2}}, \frac{2}{3} \frac{\mu\_K (2\mu\_K + \gamma\_M) - \gamma\_K \gamma\_M}{\gamma\_M (2\mu\_K + \gamma\_M)}, \frac{\mu\_M}{2\gamma\_M}, \frac{\mu\_K}{\gamma\_M} \right\}. \tag{26}$$

Then, it is also assumed that the spherical joint mechanical stiffness is chosen properly in accordance with the system moment of inertia such that *<sup>μ</sup><sup>K</sup>* > *<sup>γ</sup><sup>M</sup>* <sup>2</sup> (<sup>1</sup> <sup>+</sup> *<sup>γ</sup><sup>M</sup> <sup>μ</sup><sup>K</sup>* ), which can be simplified as *σmin*(*Kr*) > *γM*, which simply means that the higher the inertia, the stiffer the spring that must be chosen. Let *μ<sup>v</sup>* = *min*{*kI* − *kP*, *kP* + 2(*μ<sup>K</sup>* − *εkD*) − (*ε* + 1)*kI* − *εγM*, *kD* <sup>−</sup> <sup>3</sup> <sup>2</sup> *εγ<sup>M</sup>* <sup>−</sup> *εγMγ<sup>K</sup> kI* }, for trajectories bounded by:

$$||\dot{\eta}|| \le \frac{1}{\delta\_C} \mu\_v. \tag{27}$$

*Q*<sup>1</sup> will be SDD with positive diagonal elements, and therefore positive definite. Thus, we can conclude:

$$\dot{V}(t,\xi) \le -\mu \|\mathcal{J}\|\|^2 + \kappa \|\mathcal{J}\|\|\,'\,\,. \tag{28}$$

where *μ* = *σmin*(*Q*1) and *κ* = *δB*1*δ<sup>f</sup>* + *δB*2*δ<sup>v</sup>* with *δB*<sup>1</sup> = *max*{1, *kI* + *εkD* − *μK*, *kP* + *εγM*/*kI*}, *δB*<sup>2</sup> = *max*{*kI* + *εkD* − *μK*, *kP* + *εkD* − *μK*(*kI* + *εkD* − *μK*)/*kI*, *εγM*}, and *η*˙ *<sup>d</sup>* ≤ *δ<sup>v</sup>* is the upper bound on the norm of *η*˙ *<sup>d</sup>*. *τ*˙ *<sup>f</sup>* ≤ *δ<sup>f</sup>* is the upper bound on the norm of the *τ*˙ *<sup>f</sup>* , which is a reasonable assumption considering that the rotational dynamics is faster than translational [30]. Let *W* be the positive root of *V* = *W*2, as in [31], considering (19) we can state *<sup>W</sup>*˙ ≤ − *<sup>μ</sup>* <sup>2</sup>*γ<sup>P</sup> <sup>W</sup>* <sup>+</sup> *<sup>κ</sup>* <sup>2</sup> <sup>√</sup>*μ<sup>P</sup>* , which means:

$$\mathcal{W}(t) \le \mathcal{W}(0)e^{-\frac{\mu}{2\gamma p}t} - \frac{\kappa}{2\sqrt{\mu\_P}} \int\_0^t e^{-\frac{\mu}{2\gamma p}(t-s)} ds \le \mathcal{W}(0)e^{-\frac{\mu}{2\gamma p}t} + \frac{\kappa \gamma p}{\sqrt{\mu\_P}\mu}.\tag{29}$$

Considering (19), we can ensure that (27) is satisfied if *W*(0) + <sup>√</sup>*κγ<sup>P</sup> <sup>μ</sup>P<sup>μ</sup>* <sup>≤</sup> <sup>1</sup> *<sup>δ</sup><sup>C</sup> μv*. Therefore, choosing sufficiently large *kP*, and sufficiently small *kI* and *kD* such that (18) and (25) are satisfied, the solution of the error system converges to zero asymptotically.

#### *4.2. Force Control Stability*

The stability of the force dynamic in the closed-loop force controlled system is investigated in a decentralized manner, that is, each component of the force is analyzed independently by considering the effect of other state variables as disturbances.

#### 4.2.1. Force Along *n*-Axis

The forces along *n*-axis is controlled by translational pose command along *n*, from (13) we have

$$f\_n = k\_{tn}n + k\_{\dot{\jmath}}\eta\_{\text{t \ \prime}} \tag{30}$$

where *kj* = *do krt <sup>d</sup>* <sup>2</sup> . If we substitute the pose controller in (30), assuming the gravity term compensated by feedback linearizing term, the dynamics will be:

*mnn*¨ + *ktnn* = −*kpn*˜ − *kdn*˙ , (31)

where *mn* = *m* is derived from (1). Substituting *n* and its derivatives, in the left hand side of (31), with *fn* from (30), and control terms, in the right hand side, with (12) we obtain:

$$m\_f \ddot{f}\_n + b\_f \dot{f}\_n + k\_f \dot{f}\_n = -k\_1 \int\_0^t \ddot{f}\_n - k\_2 \tilde{f}\_n + h\_n \left( \ddot{\eta}\_{t\prime} \dot{\eta}\_{t\prime} \eta\_t \right) \,, \tag{32}$$

where *mf* = *mnk*−<sup>1</sup> *tn* , *bf* = *kdk*<sup>−</sup><sup>1</sup> *tn* , *<sup>k</sup> <sup>f</sup>* = (<sup>1</sup> + *kpk*−<sup>1</sup> *tn* ), *hn* = (*mnk*−<sup>1</sup> *tn kjη*¨*<sup>t</sup>* + *kdk*<sup>−</sup><sup>1</sup> *tn kjη*˙*<sup>t</sup>* + (1 + *kp*)*k*−<sup>1</sup> *tn kjηj*), and *k*<sup>1</sup> = *kpkI f* , *k*<sup>2</sup> = *kpkP f* .

One can express (32) in the frequency domain by introducing the controller transfer function *C*(*s*) = *k*<sup>2</sup> + *<sup>k</sup>*<sup>1</sup> *<sup>s</sup>* and plant transfer function *<sup>G</sup>*(*s*) = 1/(*mfs*<sup>2</sup> + *bfs* + *<sup>k</sup> <sup>f</sup>*), where (*s* = *σ* + *jω*). The system output *f*(*s*) is then obtained as:

$$f(s) = \frac{G(s)\mathbb{C}(s)}{1 + G(s)\mathbb{C}(s)} f\_d(s) + \frac{1}{1 + G(s)\mathbb{C}(s)} h(s) \,. \tag{33}$$

For the stability of the system, the characteristic polynomial of the system, that is, *s*(*mfs*<sup>2</sup> + *bfs* + *k <sup>f</sup>*)+(*k*2*s* + *k*1), must have all roots with a real negative part and, to achieve this, according to the Routh–Hurwitz stability criterion it is required that:

$$k\_{Pf} + \frac{1}{k\_P} + \frac{1}{k\_{tn}} > \frac{m}{k\_D} k\_{If} \,\,. \tag{34}$$

Choosing sufficiently high PD gains and an appropriately low I-gain for slowlyvarying force commands, that is, *<sup>s</sup>* <sup>→</sup> 0, we obtain *<sup>G</sup>*(*s*)*C*(*s*) <sup>1</sup>+*G*(*s*)*C*(*s*) <sup>→</sup> 1, <sup>1</sup> <sup>1</sup>+*G*(*s*)*C*(*s*) → 0, thus *f* → *fd*.

#### 4.2.2. Force Along *o*-Axis

The forces along *o*-axis are controlled by the translational pose command along *o* and the stability analysis is the same as the force along the *n* − *axis*.

#### 4.2.3. Force Along *t*-Axis

The forces along the *t*-axis are controlled by the rotational pose command around *o*, that is, *η<sup>o</sup>* = *ψ* considering the frame convention. From (14) one can write:

$$f\_t = k\_o \psi + [k\_{tt} \ k\_{rn}][t \ \eta\_n] \ \ \ . \tag{35}$$

where *ko* = *dnkro <sup>d</sup>* <sup>2</sup> and *krn* <sup>=</sup> *do kr*,*<sup>n</sup> <sup>d</sup>* <sup>2</sup> . If we substitute the orientation controller in the dynamic model, considering the results of Theorem 1, we obtain:

$$m\circledast \ddot{\psi} + (c\circledast + k\mathsf{D})\dot{\psi} = -k\_P \ddot{\psi} - (c\_{31}\dot{\phi} + c\_{32}\dot{\theta})\ ,\tag{36}$$

where *mij*, *cij* are extracted from *M* and *C*. It is worth noting that *m*<sup>33</sup> and *c*<sup>33</sup> are constant with respect to *ψ* and its derivatives. Substituting *ψ* and from (35) in (36) we get:

$$\frac{m\_{33}}{k\_o}\ddot{f}\_l + \frac{k\_D + c\_{33}}{k\_o}\dot{f}\_l + \frac{k\_P}{k\_o}f\_t = -k\_1\int\_0^t \ddot{f}\_l - k\_2\ddot{f}\_l + h\_{lt} \tag{37}$$

with

$$\begin{split} \dot{\eta}\_{t} &= -(c\_{31}\dot{\theta} + c\_{32}\dot{\theta}) + (\frac{m\_{33}k\_{t}}{k\_{o}}\ddot{t} + \frac{k\_{t}(k\_{D} + c\_{33})}{k\_{o}}\dot{t} + \frac{k\_{h}k\_{P}}{k\_{o}}t) + \\ &+ (\frac{m\_{33}k\_{u}}{k\_{o}}\dot{\eta}\_{n} + \frac{k\_{u}(k\_{D} + c\_{33})}{k\_{o}}\dot{\eta}\_{n} + \frac{k\_{u}k\_{P}}{k\_{o}}\eta\_{n}) \,. \end{split} \tag{38}$$

Following the same procedure of force along the *n*-axis, the Routh–Hurwitz criterion enforces the controller coefficients to be chosen as:

*kP f* + 1 *ko* <sup>&</sup>gt; *<sup>m</sup>*<sup>33</sup> *kD* + *c*<sup>33</sup> *kI f* , (39)

which is fulfilled by setting appropriately high proportional and derivative gains and sufficiently low integral gain, and for slowly-varying force commands *ft* → *fd*.

Choosing coefficients according to (34) and (39) makes the system over damped, that is, without overshoot, which is that *f* is not getting higher than *fd*. Thus, if *fd* is the output of (10), contact maintenance is ensured.

#### *4.3. Stability of Teleoperator in Contact Interaction*

During the contact interaction, from (4) we can define the dynamics of the master robot and its controller in the frequency domain as: *Gr*(*s*) = *Mms*<sup>2</sup> + *KmDs*, *Cm*(*s*) = *KmP*. The haptic feedback in the master side (PD term) could also be expressed as: *Ch*(*s*) = *KhP* + *KhDs*. We have shown that the force interaction dynamics and force controller in the remote side could be expressed as: *Gs*(*s*) = *diag*(*Mfs*<sup>2</sup> + *Bfs* + *Kf*)−1, *Cm*(*s*) = *K*<sup>2</sup> + *K*<sup>1</sup> 1 *s* . We define the transfer function of the master robot and its controller as: *Gm*(*s*) = *CmGr*(*I* + *CmGr*)−1. The internal stability of the system requires that the roots of the denominator of *Gm* all have real negative parts, for which *KmP*, *KmD* > 0 suffice. The overall transfer function of the master side, with force input and position output, is defined as:

$$G\_1(\mathbf{s}) = G\_{\rm m} \left( I + G\_{\rm m} \mathbf{C}\_{\rm l} \right)^{-1} . \tag{40}$$

The characteristic polynomial of *G*<sup>1</sup> is (*MmKmPKhD*)*s*<sup>3</sup> + (*MmKmP*(1 + *KhP*) + *KmPKmDKhD*)*s*<sup>2</sup> + (*KmDKmPKhP* + *KmPKmD*)*s* + 1. For internal stability, the controller coefficients must conform with the following constraint:

$$k\_{mD}k\_{mP}k\_{hP} + k\_{mP}k\_{mD} \ > \frac{\sigma\_{\text{max}}(M\_m)k\_{hP}}{\sigma\_{\text{min}}(M\_m)(1+k\_{hP}) + k\_{mD}k\_{hD}}.\tag{41}$$

The transfer function of the slave side, with force input and force output, is obtained as: *G*2(*s*) = *GsCs*(*I* + *GsCs*)−1. Its internal stability constraints are expressed by (34) and (39). The teleoperator output *f* (see Figure 6), can be obtained as:

$$f(\mathbf{s}) = \mathbf{G}\_2 \mathbf{K}\_f^f \mathbf{G}\_1 (I + \mathbf{G}\_2 \mathbf{K}\_f^f \mathbf{G}\_1 \mathbf{K}\_f^b)^{-1} f\_h(\mathbf{s})$$

$$+ (I + \mathbf{G}\_s \mathbf{C}\_s)^{-1} h(\mathbf{s}). \tag{42}$$

The constraint (34), (39) and (41) gives all the poles of *G*<sup>1</sup> and *G*<sup>2</sup> a negative real part; therefore, *G*<sup>1</sup> and *G*<sup>2</sup> are strictly positive real and thus passive systems, and the negative feedback interconnection of a passive system is a passive system [32]; thus, (42), that is, the teleoperator in the contact interaction, is stable.

**Figure 6.** Block diagram of teleoperation system using the aerial manipulator in free flight (**left**) and in contact interaction (**right**).

#### *4.4. Stability of Teleoperator in Free Flight*

During the free flight, assuming fast rotational dynamics compared to translational dynamics, and gravity compensation, we may express the slave robot and its controller as *Gs*(*s*) = *Ms*<sup>2</sup> + *KDs* and *Cs*(*s*) = *Kp*, the input to *Gs* is the integrated value of scaled *xm*, and the force feedback to the master side is the robot velocity. Therefore, *G*<sup>2</sup> can be expressed as (Figure 6):

$$\mathbf{G}\_2 = (\frac{1}{s}I)(\mathbf{G}\_\mathbf{s}\mathbf{C}\_\mathbf{s}(I + \mathbf{G}\_\mathbf{s}\mathbf{C}\_\mathbf{s})^{-1})(I\mathbf{s}) = \mathbf{G}\_\mathbf{s}\mathbf{C}\_\mathbf{s}(I + \mathbf{G}\_\mathbf{s}\mathbf{C}\_\mathbf{s})^{-1},\tag{43}$$

which is internally stable by choosing pose controller gains *kP*, *kD* > 0. The master side of the teleoperator is the same as in the contact interaction; therefore, *G*<sup>1</sup> does not change. Considering velocity ˙*p* as the output of the system, it can be obtained as:

$$s\boldsymbol{p}(s) = \boldsymbol{G}\_2\boldsymbol{K}\_p^f \boldsymbol{G}\_1 (\boldsymbol{I} + \boldsymbol{G}\_2\boldsymbol{K}\_p^f \boldsymbol{G}\_1 \boldsymbol{K}\_p^b)^{-1} \boldsymbol{f}\_h. \tag{44}$$

*sp*(*s*), that is, velocity in frequency domain, is the system output constituted by the negative feedback interconnection of passive systems *G*<sup>1</sup> and *G*2. Therefore, the teleoperator in free flight is passive and stable.

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

In order to evaluate the proposed aerial tele-manipulation solution, and to assess the functionalities of the proposed controller in the bilateral teleoperation scheme, two experiments with fixed and movable objects were performed. In the first experiment, a human operator drives the aerial manipulator to establish a contact with a stationary target and applies force to it, receiving force feedback. In the second experiment, the human operator drives the quadrotor to establish a contact with a wheeled cart and pushes it to generate motion, while receiving force feedback.

We encourage the interested reader to watch the video of the experiments in the multimedia attachment to this paper, cf. Supplementary Materials, to better appreciate the presented validation.

#### *5.1. Experimental Setup*

Our aerial manipulator was equipped with a lightweight tool (Figure 2) with a total weight of 0.05 kg. It was rigidly connected to the top of a quadrotor UAV with 1.0 kg weight. The quadrotor platform used for the experiments was a Mikrokopter© x4 platform (HiSystems GmbH). The distance vector from the quadrotor COM to the end-effector surface was *d* = [0 m, 0.5 m and 0.2 m]. The link lengths were *d*<sup>1</sup> = 0.51 m, and *d*<sup>2</sup> = 0.02 m long. A compliant spherical joint, that connects the lightweight rigid link to the end-effector, and an elastic shock absorber damper on the end-effector helped to establish smooth contacts. The end-effector surface was covered by a high friction material to expand the feasible force vector range.

The robot positioning was performed by a Vicon tracking system (Vicon Capture Systems, London, UK). The quadrotor thrust and rotational controller was implemented on its onboard microcontroller (Atmel AVR 8-bit, ATmega-1284, running at 20 MHz), based on the inertial sensors of the robot, the rest of the control law was implemented on an external PC (Core i7, 16GB RAM, running Ubuntu 14), communicating with the robot using a pair of Zig-Bee transceiver chips. An Omega.3 haptic device (Force Dimension, Nyon, Switzerland) was used as the master device. We used the force/torque ATI sensor (ATI Industrial Automation, Apex, NC, USA) embedded inside the object to measure the applied force by the aerial manipulator. The software was implemented in the ROS, and all control loops ran at a frequency of 100 Hz.

#### *5.2. Results*

#### 5.2.1. Stationary Object Experiment

Initially the quadrotor was located at the origin of the global coordinate, while the object, which was a 0.15 m × 0.15 m plate, was located at [1.0 m, 0.0 m and −0.85 m] with downward pointing *zw*. The human operator drove the quadrotor towards the object, and once the robot reached the object, the driver commanded a variable continuous force vector, by means of the haptics device. Finally, the human operator commanded the robot to leave the object, and brought it back to free flight. Figure 7-top shows the snapshots of different moments of the experiment, while Figures 8-left, 9-left, and 10-left show the results of the experiment.

**Figure 7.** Snapshots of stationary object (**top**) and movable object (**bottom**) experiments. The experiments aimed to dock and apply a commanded time-varying force to the objects. (**a**,**a'**) In free flight, (**b**,**b'**) establishing a contact with the object, (**c**,**c'**) applying force vectors, (**d**,**d'**) releasing the contact, and (**e**,**e'**) in free flight again.

Figure 8a shows the position tracking during the experiment, while the position error is explicitly reported in Figure 9-left, for the reader's convenience. As can be seen, before the contact event, and after the quadrotor leaves the object, the position error is low, that is, bounded below 7 cm, while during the contact there is significant position error, that is, ≈35 cm, specifically in *x*-direction which corresponds to the normal component of force. It is worth underlining the fact that, during the interaction, the position error does not provide relevant information for evaluating the controller's performance, as during that phase the platform is force-controlled, and the position error represents a necessary condition to guarantee the force tracking. As a matter of fact, a higher position error during the contact with stationary object means a higher thrust and a higher pitch angle is demanded, which results in larger applied forces.

Figure 8b shows the contact maintenance function output, which keeps the desired force vector inside the friction cone. It can bee seen that, when the commanded force violates the friction constraints of (10), the normal component of the desired commanded force is increased while the other two tangential components are decreased, and the desired norms of the input (*f ∗ <sup>d</sup>* ) and output (*fd*) are equal.

Figure 8c shows the force tracking control result during the experiment. As is evident, the force tracking performance is very good (average absolute error of 0.11 N, which represents less than 10% relative error, and a maximum absolute error of 0.51 N). The contact transition is shown in a separate window inside Figure 8c, which introduces a very smooth contact transition with only a small single bouncing event. Note that in the transition phase of the robot force control with a rigid environment, having a small amount of bouncing and inadvertent losses of contact are common, even for grounded robotic arm manipulators with non-zero reaching velocity [33].

The haptic feedback components are shown in Figure 10-left. The master position (the position of the haptic device's handle with respect to the center of its workspace) is shown in creating the spring-damper force *fPD* that brings back the master device's handle to the center of its workspace (Figure 10a). The position tracking error of the aerial manipulator in the free flight condition along with the force applied to the object in contact create the second constitutive component of the haptic feedback *fp f* , which is shown in Figure 10b. The haptic feedback in the contact condition is equal to the measured force from the force sensor with the opposite direction.

**Figure 8.** Stationary object experiment (**left**): docking and applying a force commanded by the human operator to a stationary object: (**a**) position tracking, (**b**) contact maintenance, that is, keeping of the desired force within the friction cone, and (**c**) force tracking. Movable object experiment (**right**): docking and applying force to a movable object in order to push it 1 m away: (**a'**) position tracking, (**b'**) contact maintenance, that is, keeping of the desired force within the friction cone, and (**c'**) force tracking.

**Figure 9.** Position error in the stationary object experiment (**left**) and movable object experiment (**right**): as can be seen, the error is bigger during the interaction phase, in both cases, as a consequence of the force tracking. Furthermore, the error is higher in the movable object experiment, in particular during the undocking phase.

**Figure 10.** Stationary (**left**) and movable (**right**) object experiments: (**a**,**a'**) spring–damper force brings back the master device's handle to the center of its workspace, (**b**,**b'**) the haptic feedback *fp f* that renders the applied force to the object in contact and position error in free flight.

#### 5.2.2. Movable Object Experiment

In the second experiment, the robot was initially located at the global frame origin. The movable object, which was a cart with plate of 0.15 m × 0.15 m attached to it, was located at [0.5 m, 0.0 m and −0.90 m], with downward pointing *zw*. The human operator was driving the quadrotor towards the cart, and once the robot reached the cart, the driver pushed it until it passed 1.0 m, and eventually the driver commanded the robot to leave the object, and brought the robot back to free flight. Figure 7-bottom shows the snapshots of this experiment, while Figures 8-right, 9-right, and 10-right depict the results of the experiment.

Figure 8a' shows the position tracking during the experiment. The difference between the new situation (a movable object) compared to the previous experiment (a stationary object) can be seen through this plot, where after establishing the contact, while the quadrotor is applying the force to the object (cart), its position is not changing until the moment (in this experiment at 14.5 s) the applied force overcomes the static friction of the cart wheels with the ground. Then, the cart (and the aerial manipulator too) experiences an accelerated motion. The position error is explicitly reported in Figure 9-right), for the reader's convenience. As in the previous scenario, before the interaction the error is relatively close to zero, that is, bounded below 7 cm, while during the contact there is significant position error, that is, ≈50 cm, specifically in *x*-direction which corresponds to the normal component of force. As already mentioned, this is in accordance with the fact that, in this phase, the robot is tracking the desired force provided by the user, and not the desired position. During the undocking phase, namely when the human operator sees the accelerating cart passing the goal line and pushes back the handle of the haptic device in order to bring the robot back, a peak of ≈75 cm is reached due to a small false contact detection, after which the position error converges back to its typical free-flight values. The large error value in the detachment phase can be improved by limiting the integral term of the PI-force controller, and increasing the proportional gain of PI-controller, or also using a more agile controller in the inner position loop. It is worth noting that, in this experiment, the goal was to evaluate the efficiency of the proposed controller in applying force to objects in order to move them in a way the human operator wants, rather than performing precise force tracking.

In relation to this last point, another meaningful note is that the two experiments here discussed were explicitly designed and performed with the main goal of validating the presented aerial robotic solution in indoor laboratory conditions, which imply the use of a motion capture system for state estimation, a cabled connection between the robot and the ground workstation, and the absence of non-negligible external disturbances. Under these conditions, we basically experienced a rate of success of 100%. A more fair and comprehensive validation and testing of the this system in outdoor, mocap-denied, and realistic scenarios in the presence of external disturbances and using only onboard computation, which is not in the scope of this paper, will be the subject of future work.

Figure 8b' shows the contact maintenance function input and output forces. Since the main purpose is to push the cart, the major component of the commanded force is along the normal direction; therefore, most of the time the feasible commanded force is the same as the desired commanded force by the human operator and, as is evident from Figure 8c', the contact is kept during the force interaction.

The force tracking control results, shown in Figure 8c', represent a more difficult task compared to the previous task (force tracking control in contact with a stationary object). As can be seen, while the cart is stationary, that is, when the force applied by the quadrotor end-effector is compensated for by the friction of the cart wheels with the surface, the force tracking has a similar performance to the previous experiment. On the other hand, once the cart starts to move the error increases. However, considering the particular application of this experiment, which aims at pushing a cart forward, as far as the contact is kept and the operator is able to accomplish the task, the experiment is considered successful, although the average of the absolute force error norm is 0.5 N, that is a 20% relative error.

The haptic feedback components are shown in Figure 10-right. *fPD* is depicted in Figure 10a', and the haptic feedback component related to the slave side, *fp f* , is shown in Figure 10b'. As is evident, the magnitude of the latter is generally bigger than the magnitude of the former, allowing the human operator to be aware of the aerial manipulator condition in the master side (this is also true for the experiment with the stationary object). Haptic feedback in this experiment is even more important for the human operator to not lose the contact, as *fp f* allows the human operator to feel the applied force during the contact interaction. When the perceived force is small, it means that the contact is weak, and the human operator can command a higher force to ensure the contact maintenance.

#### *5.3. Discussion*

The experimental results validated the capability and efficacy of the aerial manipulator with a passive tool in free flight pose tracking and in contact force tracking while keeping the contact and maintaining the flight stability. After performing several experiments to investigate the properties of the system and the controller, the following results from interpreting observations were obtained. In the free flight phase, the autonomous control of pose is not very precise, and there are position/velocity errors that prevent the autonomous controller from doing very fine tasks, even in the case of knowing the environment perfectly. This happens due to the existence of aerodynamics disturbances and unmodeled dynamics that are not incorporated in the controller design. However, a human teleoperated aerial system is capable of doing such tasks, thanks to superior human learning and sensory motor capabilities. A similar observation has been made in [8].

The contact establishing phase (docking) involves bouncing; this is a natural behavior because the reaction force of the contact is directly applied to the robot CoM that is a floating (hovering) object, and this results in jumping back; unlike grounded manipulators this force is not transmitted to the ground. To mitigate this effect, velocity slowing-down policy and physical shock absorber on the end-effector surface is used, that results in a smooth transition and reduces the bouncing effect significantly. Moreover, deploying *fPD* in the haptic feedback prevents the operator from loosely grasping the master robot, which could increase the effect. Note that in establishing a contact with non-zero reaching velocity, having a small amount of bouncing is commonly acceptable, even for grounded robotic arm manipulators [33].

Contact maintenance function, in conjunction with appropriate gain tunings (to avoid overshoots as mentioned in the stability analysis section) plays an important role; without respecting these constraints the end-effector could slide on the surface. Therefore, using this function is necessary if the task involves keeping the contact, unlike the hybrid positionforce controllers such as in [2,24,34] in which it is desirable to slide over the surface.

The force error constituted by a non-zero-mean part (DC) and a high frequency signal (AC). The DC part is the effect of the not-force-controlled axes of motion (due to the underactuation and uni-lateral contact), and the AC part is because of the propeller rotational (aero)dynamics. The DC part can be decreased by choosing appropriately large gains, while increasing these gains increases the AC part. Therefore, care is to be taken in tuning the controller to achieve an acceptable trade-off depending on the task.

The detachment phase also showed some bouncing effects, which is due to the time it takes to deplete the integral term, and imprecise free flight position control in the vicinity of the object. This effect is mitigated by deploying the switch function (7), and by bounding the integral term and choosing a small coefficient for it while choosing appropriately big proportional and derivative terms. A similar phenomenon is also observed in the case of grounded manipulators controlled by the parallel position/force control method in [35] and referred to as the sticky-effect.

The proposed controller can also be utilized in redundant omni-directional or partially omni-directional aerial manipulators, such as [1,8], by keeping their position controllers and providing it with a reference based on the presented force controller that considers contact maintenance and deploying orientation to generate the desired force.

#### **6. Conclusions and Future Works**

The topic of aerial physical interaction using a typical under-actuated VTOL UAV equipped with a passive tool was considered in this paper. We use a simple passive light weight tool, instrumented with a compliant end-effector, rigidly attached to the top of an aerial robot. We propose a control method in a bilateral teleoperation scheme to let a human operator drive the aerial manipulator in a remote environment, controlling the position of the robot in free flight and regulating the force applied to the object in contact interaction while maintaining the flight stability and keeping the contact. For this purpose, a parallel position/force controller is utilized, which also uses the rotational dynamic axes, that is, yaw motion, to generate the desired force that allows maintenance of the contact with a wider range of forces. On the one hand, theoretical proof of the stability of controlled system is derived and presented. On the other, experiments on driving the aerial robot toward the desired point, docking, and applying the desired forces to stationary and movable objects represented the feasibility and efficacy of the proposed solution. The human operator is provided with force haptic feedback proportional to the velocity in free flight and the applied force in contact, allowing for an improved situational awareness.

Future work will involve vision based outdoor implementation of the proposed approach, and investigating bandwidth and delay effects in haptic teleoperation based on passivity theories such as [36]. Performing more complex tasks cooperatively with a team of aerial manipulators will also be considered.

**Supplementary Materials:** The following are available at https://www.mdpi.com/article/10.3390/ app11198955/s1, Video S1: The video of the experiments in the multimedia.

**Author Contributions:** Conceptualization, M.M., A.F., D.B. (Davide Barceli) and D.P.; Funding acquisition, A.F. and D.P.; Investigation, A.F. and D.P.; Methodology, M.M., A.F., D.B. (Davide Barceli) and D.P.; Project administration, A.F. and D.P.; Software, M.M. and D.B. (Davide Barceli); Supervision, A.F. and D.P.; Visualization, D.B. (Davide Bicego); Writing—original draft, M.M., D.B. (Davide Bicego), A.F., D.B. (Davide Barceli) and D.P.; Writing—review & editing, M.M., D.B. (Davide Bicego), A.F. and D.P. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was partially supported by the European Union's Horizon 2020 research and innovation program grant agreement ID: 871479 AERIAL-CORE.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

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

#### **References**

