Haptic-Based Bilateral Teleoperation of Aerial Manipulator for Extracting Wedged Object with Compensation of Human Reaction Time

Jeonghyun Byun1, Dohyun Eom1, and H. ** Kim1 This research was supported by Unmanned Vehicles Core Technology Research and Development Program through the National Research Foundation of Korea(NRF) and Unmanned Vehicle Advanced Research Center(UVARC) funded by the Ministry of Science and ICT, the Republic of Korea(NRF-2020M3C1C1A010864).1 The authors are with the Department of Aerospace Engineering, Automation and System Research Institute(ASRI) and Institute of Advanced Aerospace Technology(IAAT), Seoul National University, Seoul, South Korea. {quswjdgus97, djaehgus, h**kim}@snu.ac.kr
Abstract

Bilateral teleoperation of an aerial manipulator facilitates the execution of industrial missions thanks to the combination of the aerial platform’s maneuverability and the ability to conduct complex tasks with human supervision. Heretofore, research on such operations has focused on flying without any physical interaction or exerting a pushing force on a contact surface that does not involve abrupt changes in the interaction force. In this paper, we propose a human reaction time compensating haptic-based bilateral teleoperation strategy for an aerial manipulator extracting a wedged object from a static structure (i.e., plug-pulling), which incurs an abrupt decrease in the interaction force and causes additional difficulty for an aerial platform. A haptic device composed of a 4-degree-of-freedom robotic arm and a gripper is made for the teleoperation of aerial wedged object-extracting tasks, and a haptic-based teleoperation method to execute the aerial manipulator by the haptic device is introduced. We detect the extraction of the object by the estimation of the external force exerted on the aerial manipulator and generate reference trajectories for both the aerial manipulator and the haptic device after the extraction. As an example of the extraction of a wedged object, we conduct comparative plug-pulling experiments with a quadrotor-based aerial manipulator. The results validate that the proposed bilateral teleoperation method reduces the overshoot in the aerial manipulator’s position and ensures fast recovery to its initial position after extracting the wedged object.

I INTRODUCTION

Unmanned aerial manipulators (UAMs) have gained increasing attention owing to their maneuverability and versatility. Thanks to the maneuverability, they can be utilized in places that are dangerous for human operators or inappropriate for ground-based robots including walls or windows located in tall buildings, wind turbines, decommissioned reactors, or power transmission towers. Also, thanks to their versatility, there exist several studies on a UAM conducting physically interacting tasks such as drawer opening [1], peg-in-hole operation [2], non-destructive inspection [3], door opening [4] and window-cleaning [5].

Even though there exist works on fully autonomous control of UAMs [6, 7, 8], these controllers might face safety issues while operating in a priorly unknown environment or require complicated algorithms with high computational power to perform complex tasks. To resolve these problems, the “human-in-the-loop” control of a UAM is adopted to utilize humans’ decision-making ability while conducting complex tasks. Also, sensory information gathered by the UAM can be transmitted to the human operator to aid the decision-making process. Hence, research on the control of a UAM using the mutual exchange of information between the human operator and the aerial vehicle, or bilateral teleoperation [9], is meaningful.

Refer to caption
Figure 1: Illustration of the haptic-based bilateral teleoperation of a UAM (remote environment) extracting a wedged object from a static structure with a haptic device (local environment).

However, there are a few situations in which a human operator cannot quickly pilot the UAM due to the limitation of the humans’ reaction time. Those situations include the tasks involving abrupt decrease in the interaction force such as extracting a wedged object from a static structure [10]. When those situations occur, the instantaneous fully autonomous control of the UAM and the haptic device after the abrupt force change can prevent an excessive overshoot in the UAM’s position or system destabilization induced by the operator’s long reaction time.

This paper proposes a haptic-based bilateral teleoperation of an aerial manipulator for extracting a wedged object from a static structure with the compensation of human reaction time, as shown in Fig. 1. To this end, we fabricate a haptic device configured with a 4-degree-of-freedom (DOF) and a gripper for gras** and pulling a wedged object using a UAM. Then, we divide the aerial object-extracting task into two flight phases including nominal and recovery phases where the recovery flight phase refers to a short time interval after object extraction while the nominal flight phase means the remaining interval. Also, the reference trajectory generation methods for the haptic device and the UAM during two flight phases are designed and the detection algorithm for switching from the nominal to the recovery flight phase is developed. As an example of the wedged object-extracting tasks, we conduct two plug-pulling experiments using a quadrotor-based aerial manipulator with and without the proposed bilateral teleoperation method, and we show that the proposed method enhances the behavior of the UAM after the object extraction in the perspective of reducing the overshoot in the UAM’s position and the time duration for the UAM to return to its original position.

I-A Related Works

Several studies on the bilateral teleoperation of aerial vehicles for missions with no physical interaction have been conducted. [11] and [12] present the teleoperation method using the haptic feedback reflecting obstacles nearby. In [13], the human operator indirectly guides a micro aerial vehicle by adjusting parameters related to its path generation with haptic feedback including information about tracking performance or obstacle presence. In [14], the authors introduce the teleoperation approach which transmits a wall-contact feeling to a human operator when the base approaches an unreachable position.

There also exist a few works on the bilateral teleoperation of UAMs involving contact with the surrounding environment. In [15], a method for the teleoperation of a UAM is introduced to enable a smooth transition between the free-flight and force-control phases and the regulation of the contact force exerted on the UAM’s end-effector. Hereby, the haptic feedback to a human operator includes the contact force that UAM receives. In [16], the human operator leverages haptic feedback and 3D visual feedback provided by virtual reality for the teleoperation of a UAM conducting several aerial manipulation tasks including gras**, pick-and-place, force exertion, and peg-in-hole insertion. [17] introduces a haptic device for the teleoperation of aerial drilling, and in [18], a method for the teleoperation of a 6-DOF fully actuated UAM that physically interacts with the surrounding environment is designed and tested. However, those works focus on the interaction tasks only involving the pushing motion where the effect of the interaction force change can be mitigated by slowing down before the physical contact.

I-B Contributions

To the best of the authors’ knowledge, it is the first attempt to conduct the haptic-based bilateral teleoperation of a UAM extracting a wedged object from a static structure. Also, we produce the haptic device configured with a 4-DOF robotic arm and a gripper for the emulation of the movement of the UAM grabbing and extracting an object wedged in a static structure. Moreover, an admittance controller that makes the haptic device compliant with the external torque exerted by a human’s hand is designed without a force/torque sensor. Furthermore, to avoid destabilization or an excessive overshoot in the position of the UAM after extracting the wedged object, we design an algorithm for the detection of the object extraction and the trajectory generation method for the UAM and the haptic device after the detection. Lastly, for the validation of the proposed method, we conduct an actual plug-pulling experiment with a quadrotor-based aerial manipulator with our haptic device.

I-C Outline

In Section II, we formulate two dynamic equations of the haptic device and the UAM, and describe the bilateral teleoperation method during the nominal flight phase in Section III. Section IV presents the conditions for detecting the extraction of a wedged object and the trajectory generation methods during the recovery flight. In Section VI, the proposed teleoperation strategy is validated experimentally.

Notations: 𝟎𝒊×𝒋subscript0𝒊𝒋\boldsymbol{0_{i\times j}}bold_0 start_POSTSUBSCRIPT bold_italic_i bold_× bold_italic_j end_POSTSUBSCRIPT, 𝑰𝒊subscript𝑰𝒊\boldsymbol{I_{i}}bold_italic_I start_POSTSUBSCRIPT bold_italic_i end_POSTSUBSCRIPT and 𝒆𝟑subscript𝒆3\boldsymbol{e_{3}}bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT represent the i×j𝑖𝑗i\times jitalic_i × italic_j zero matrix, i×i𝑖𝑖i\times iitalic_i × italic_i identity matrix and [0 0 1]superscriptdelimited-[]001top[0\ 0\ 1]^{\top}[ 0 0 1 ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, respectively. For scalars a𝑎aitalic_a, b𝑏bitalic_b and c𝑐citalic_c, we let [a;b;c]𝑎𝑏𝑐[a;b;c][ italic_a ; italic_b ; italic_c ] denote [abc]superscriptdelimited-[]𝑎𝑏𝑐top[a\ b\ c]^{\top}[ italic_a italic_b italic_c ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. Also, 𝜶norm𝜶\|\boldsymbol{\alpha}\|∥ bold_italic_α ∥ and αisubscript𝛼𝑖\alpha_{i}italic_α start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT mean the Euclidean norm and the i𝑖iitalic_i-th element of a vector 𝜶𝜶\boldsymbol{\alpha}bold_italic_α, respectively. Moreover, csubscript𝑐c_{*}italic_c start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT and ssubscript𝑠s_{*}italic_s start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT are the abbreviations of cos\cos{*}roman_cos ∗ and sin\sin{*}roman_sin ∗, respectively.

II MODELING

For the bilateral teleoperation of a UAM extracting a wedged object, we manipulate the UAM consisting of a multirotor and a 2-DOF robotic arm with a gripper using the haptic device configured with a 4-DOF robotic arm and a 1-DOF gripper. In this section, the dynamic models of the haptic device and the UAM are derived.

II-A Haptic Device

Refer to caption
Figure 2: Illustration of the robotic arm that is used for our haptic device. Key coordinate frames are also depicted.

In Fig. 2, 𝓞𝒊subscript𝓞𝒊\boldsymbol{\mathcal{O}_{i}}bold_caligraphic_O start_POSTSUBSCRIPT bold_italic_i end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z (i=0,,4𝑖04i=0,\cdots,4italic_i = 0 , ⋯ , 4) and 𝓞𝑯,𝑬subscript𝓞𝑯𝑬\boldsymbol{\mathcal{O}_{H,E}}bold_caligraphic_O start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z are the coordinate frames of the ithsuperscript𝑖thi^{\textrm{th}}italic_i start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT joint and the robotic arm’s end-effector, respectively. Also, 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT means the displacement from the initial position of 𝑶𝑯,𝑬subscript𝑶𝑯𝑬\boldsymbol{O_{H,E}}bold_italic_O start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT to its current position with respect to 𝓞𝟎subscript𝓞0\boldsymbol{\mathcal{O}_{0}}bold_caligraphic_O start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z. The generalized coordinate of the robotic arm is 𝜽𝑯[θH,1;θH,2;θH,3;θH,4]subscript𝜽𝑯subscript𝜃𝐻1subscript𝜃𝐻2subscript𝜃𝐻3subscript𝜃𝐻4\boldsymbol{\theta_{H}}\triangleq[\theta_{H,1};\theta_{H,2};\theta_{H,3};% \theta_{H,4}]bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ≜ [ italic_θ start_POSTSUBSCRIPT italic_H , 1 end_POSTSUBSCRIPT ; italic_θ start_POSTSUBSCRIPT italic_H , 2 end_POSTSUBSCRIPT ; italic_θ start_POSTSUBSCRIPT italic_H , 3 end_POSTSUBSCRIPT ; italic_θ start_POSTSUBSCRIPT italic_H , 4 end_POSTSUBSCRIPT ], and the joint angle of the gripper is defined as θgsubscript𝜃𝑔\theta_{g}italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT.

Since a ball joint is attached between the robotic arm and the gripper, the human hand freely rotates. Then, we can derive dynamic models of the robotic arm and the gripper, respectively. For the derivation of the robotic arm’s dynamic model, we assume that the gripper is considered as a point mass attached on 𝑶𝑯,𝑬subscript𝑶𝑯𝑬\boldsymbol{O_{H,E}}bold_italic_O start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT. Hence, 𝜽¨𝑯subscriptbold-¨𝜽𝑯\boldsymbol{\ddot{\theta}_{H}}overbold_¨ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT satisfies the following equation:

𝑴𝑯(𝜽𝑯)𝜽¨𝑯+𝑪𝑯(𝜽𝑯,𝜽˙𝑯)𝜽˙𝑯+𝑮𝑯(𝜽𝑯)=𝝉𝑯+𝝉𝑯,𝑬subscript𝑴𝑯subscript𝜽𝑯subscriptbold-¨𝜽𝑯subscript𝑪𝑯subscript𝜽𝑯subscriptbold-˙𝜽𝑯subscriptbold-˙𝜽𝑯subscript𝑮𝑯subscript𝜽𝑯subscript𝝉𝑯subscript𝝉𝑯𝑬\boldsymbol{M_{H}}(\boldsymbol{\theta_{H}})\boldsymbol{\ddot{\theta}_{H}}+% \boldsymbol{C_{H}}(\boldsymbol{\theta_{H}},\boldsymbol{\dot{\theta}_{H}})% \boldsymbol{\dot{\theta}_{H}}+\boldsymbol{G_{H}}(\boldsymbol{\theta_{H}})\\ =\boldsymbol{\tau_{H}}+\boldsymbol{\tau_{H,E}}start_ROW start_CELL bold_italic_M start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) overbold_¨ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT + bold_italic_C start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT , overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT + bold_italic_G start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL = bold_italic_τ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT end_CELL end_ROW (1)

where 𝑴(𝜽𝑯)4×4𝑴subscript𝜽𝑯superscript44\boldsymbol{M}(\boldsymbol{\theta_{H}})\in{\mathbb{R}}^{4\times 4}bold_italic_M ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT, 𝑪𝑯(𝜽𝑯,𝜽˙𝑯)4×4subscript𝑪𝑯subscript𝜽𝑯subscriptbold-˙𝜽𝑯superscript44\boldsymbol{C_{H}}(\boldsymbol{\theta_{H}},\boldsymbol{\dot{\theta}_{H}})\in{% \mathbb{R}}^{4\times 4}bold_italic_C start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT , overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT and 𝑮𝑯(𝜽𝑯)4subscript𝑮𝑯subscript𝜽𝑯superscript4\boldsymbol{G_{H}}(\boldsymbol{\theta_{H}})\in{\mathbb{R}}^{4}bold_italic_G start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT are the mass, Coriolis and gravity matrices of the robotic arm, respectively, and we let 𝝉𝑯4subscript𝝉𝑯superscript4\boldsymbol{\tau_{H}}\in{\mathbb{R}}^{4}bold_italic_τ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT and 𝝉𝑯,𝑬4subscript𝝉𝑯𝑬superscript4\boldsymbol{\tau_{H,E}}\in{\mathbb{R}}^{4}bold_italic_τ start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT denote the joint torque vector and the external torque applied by the human operator, respectively.

Meanwhile, the model of the gripper is:

Jgθ¨g=τgsubscript𝐽𝑔subscript¨𝜃𝑔subscript𝜏𝑔J_{g}\ddot{\theta}_{g}=\tau_{g}italic_J start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT over¨ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT = italic_τ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT (2)

where Jgsubscript𝐽𝑔J_{g}italic_J start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT and τgsubscript𝜏𝑔\tau_{g}italic_τ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT are the moment of inertia of the gripper’s servo motor with respect to the rotation axis and the corresponding joint torque, respectively.

II-B UAM

Refer to caption
Figure 3: Illustration of the UAM with the key coordinate frames.

The key coordinate frames of the UAM are shown in Fig. 3. 𝓞𝑾subscript𝓞𝑾\boldsymbol{\mathcal{O}_{W}}bold_caligraphic_O start_POSTSUBSCRIPT bold_italic_W end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z, 𝓞𝒃subscript𝓞𝒃\boldsymbol{\mathcal{O}_{b}}bold_caligraphic_O start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z and 𝓞𝑨,𝑬subscript𝓞𝑨𝑬\boldsymbol{\mathcal{O}_{A,E}}bold_caligraphic_O start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z represent the coordinate frames of the world, multirotor, and the end-effector of the UAM, respectively. In this paper, the translational movement of the vehicle is described by the position of the UAM’s center of mass, 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT, and its rotational movement is expressed with the Euler angles of the multirotor, ϕ3bold-italic-ϕsuperscript3\boldsymbol{\phi}\in{\mathbb{R}}^{3}bold_italic_ϕ ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. Also, the joint angles of the attached robotic arm are defined as 𝜽𝒂3subscript𝜽𝒂superscript3\boldsymbol{\theta_{a}}\in{\mathbb{R}}^{3}bold_italic_θ start_POSTSUBSCRIPT bold_italic_a end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT.

According to [19], the dynamic model with respect to 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT is formulated as follows:

mt𝒑¨𝒄=mtg𝒆𝟑+𝒖𝒄+𝑹𝒃𝒇𝑨,𝑬subscript𝑚𝑡subscriptbold-¨𝒑𝒄subscript𝑚𝑡𝑔subscript𝒆3subscript𝒖𝒄subscriptsuperscript𝑹top𝒃subscript𝒇𝑨𝑬\begin{split}m_{t}\boldsymbol{\ddot{p}_{c}}=&-m_{t}g\boldsymbol{e_{3}}+% \boldsymbol{u_{c}}+\boldsymbol{R^{\top}_{b}}\boldsymbol{f_{A,E}}\end{split}start_ROW start_CELL italic_m start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT overbold_¨ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT = end_CELL start_CELL - italic_m start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_g bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT + bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT + bold_italic_R start_POSTSUPERSCRIPT bold_⊤ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT end_CELL end_ROW (3)

where mtsubscript𝑚𝑡m_{t}italic_m start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and g𝑔gitalic_g are the total mass of the UAM and the gravitational acceleration, respectively, 𝑹𝒃SO(3)subscript𝑹𝒃𝑆𝑂3\boldsymbol{R_{b}}\in SO(3)bold_italic_R start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT ∈ italic_S italic_O ( 3 ) means the rotational matrix from 𝑶𝒃subscript𝑶𝒃\boldsymbol{O_{b}}bold_italic_O start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z to 𝑶𝑾subscript𝑶𝑾\boldsymbol{O_{W}}bold_italic_O start_POSTSUBSCRIPT bold_italic_W end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z, and

𝒖𝒄=F[cϕ3sϕ30sϕ3cϕ30001]¯𝚿[cϕ1sϕ2sϕ1cϕ1cϕ2]subscript𝒖𝒄𝐹absent𝚿¯matrix𝑐subscriptitalic-ϕ3𝑠subscriptitalic-ϕ30𝑠subscriptitalic-ϕ3𝑐subscriptitalic-ϕ30001matrix𝑐subscriptitalic-ϕ1𝑠subscriptitalic-ϕ2𝑠subscriptitalic-ϕ1𝑐subscriptitalic-ϕ1𝑐subscriptitalic-ϕ2\begin{split}\boldsymbol{u_{c}}=&F\underset{\triangleq\boldsymbol{\Psi}}{% \underline{\begin{bmatrix}c\phi_{3}&s\phi_{3}&0\\ s\phi_{3}&-c\phi_{3}&0\\ 0&0&1\end{bmatrix}}}\begin{bmatrix}c\phi_{1}s\phi_{2}\\ s\phi_{1}\\ c\phi_{1}c\phi_{2}\end{bmatrix}\end{split}start_ROW start_CELL bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT = end_CELL start_CELL italic_F start_UNDERACCENT ≜ bold_Ψ end_UNDERACCENT start_ARG under¯ start_ARG [ start_ARG start_ROW start_CELL italic_c italic_ϕ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL start_CELL italic_s italic_ϕ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL italic_s italic_ϕ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL start_CELL - italic_c italic_ϕ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL 1 end_CELL end_ROW end_ARG ] end_ARG end_ARG [ start_ARG start_ROW start_CELL italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_s italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_s italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_c italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] end_CELL end_ROW

with F𝐹Fitalic_F representing the total thrust of the UAM. Also, 𝒇𝑨,𝑬3subscript𝒇𝑨𝑬superscript3\boldsymbol{f_{A,E}}\in{\mathbb{R}}^{3}bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT represents the force exerted on the end-effector expressed in 𝑶𝒃subscript𝑶𝒃\boldsymbol{O_{b}}bold_italic_O start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z.

Meanwhile, with the assumption that the attitude of the multirotor and the joint angles of the robotic arm are well controlled by their built-in controllers (e.g., PX4, Dynamixel), the control inputs of the multirotor’s attitude and the joint angles become the desired angular velocity of the multirotor, 𝝎𝒃,𝒅subscript𝝎𝒃𝒅\boldsymbol{\omega_{b,d}}bold_italic_ω start_POSTSUBSCRIPT bold_italic_b bold_, bold_italic_d end_POSTSUBSCRIPT, and the desired joint angles, 𝜽𝑨,𝒅3subscript𝜽𝑨𝒅superscript3\boldsymbol{\theta_{A,d}}\in{\mathbb{R}}^{3}bold_italic_θ start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_d end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, respectively. Hence, the dynamic equations with respect to ϕbold-italic-ϕ\boldsymbol{\phi}bold_italic_ϕ and 𝜽Asubscript𝜽𝐴\boldsymbol{\theta}_{A}bold_italic_θ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT are expressed as follows:

ϕ˙=𝑸1(ϕ)𝝎𝒃,𝒅,𝜽𝑨=𝜽𝑨,𝒅\begin{split}\boldsymbol{\dot{\phi}}=&\boldsymbol{Q}^{-1}(\boldsymbol{\phi})% \boldsymbol{\omega_{b,d}},\quad\boldsymbol{{\theta}_{A}}=\boldsymbol{{\theta}_% {A,d}}\end{split}start_ROW start_CELL overbold_˙ start_ARG bold_italic_ϕ end_ARG = end_CELL start_CELL bold_italic_Q start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( bold_italic_ϕ ) bold_italic_ω start_POSTSUBSCRIPT bold_italic_b bold_, bold_italic_d end_POSTSUBSCRIPT , bold_italic_θ start_POSTSUBSCRIPT bold_italic_A end_POSTSUBSCRIPT = bold_italic_θ start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_d end_POSTSUBSCRIPT end_CELL end_ROW (4)

where 𝑸(ϕ)[10sϕ20cϕ1sϕ1cϕ20sϕ1cϕ1cϕ2]𝑸bold-italic-ϕmatrix10𝑠subscriptitalic-ϕ20𝑐subscriptitalic-ϕ1𝑠subscriptitalic-ϕ1𝑐subscriptitalic-ϕ20𝑠subscriptitalic-ϕ1𝑐subscriptitalic-ϕ1𝑐subscriptitalic-ϕ2\boldsymbol{Q}(\boldsymbol{\phi})\triangleq\begin{bmatrix}1&0&-s\phi_{2}\\ 0&c\phi_{1}&s\phi_{1}c\phi_{2}\\ 0&-s\phi_{1}&c\phi_{1}c\phi_{2}\end{bmatrix}bold_italic_Q ( bold_italic_ϕ ) ≜ [ start_ARG start_ROW start_CELL 1 end_CELL start_CELL 0 end_CELL start_CELL - italic_s italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL italic_s italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_c italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL - italic_s italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_c italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ].

III BILATERAL TELEOPERATION DURING NOMINAL FLIGHT

Refer to caption
Figure 4: Diagram including the teleoperation method during nominal flight (blue lines) and reference trajectory generation methods for the haptic device and the UAM during recovery flight (red lines).

The nominal flight phase means that there does not occur sudden change in 𝒇𝑨,𝑬subscript𝒇𝑨𝑬\boldsymbol{f_{A,E}}bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT, i.e., it does not involve the extraction of a wedged object from a static structure. In this section, the bilateral teleoperation strategy during the nominal flight phase based on [18] is presented. The overall flow map of this phase is described in Fig. 4 with the blue lines.

III-A UAM

III-A1 Reference Trajectory Generation

From the displacement of the haptic device’s tooltip, 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT, the desired velocity of the UAM’s COM with respect to 𝑶𝒃subscript𝑶𝒃\boldsymbol{O_{b}}bold_italic_O start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT-𝒙𝒚𝒛𝒙𝒚𝒛\boldsymbol{xyz}bold_italic_x bold_italic_y bold_italic_z, 𝒑˙𝒄,𝒅𝒃subscriptsuperscriptbold-˙𝒑𝒃𝒄𝒅\boldsymbol{\dot{p}^{b}_{c,d}}overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUPERSCRIPT bold_italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT, is designed as follows:

𝒑˙𝒄,𝒅𝒃=[vmax,xtanh(pH,1pH,max,x)vmax,ytanh(pH,2pH,max,y)vmax,ztanh(pH,3pH,max,z)].subscriptsuperscriptbold-˙𝒑𝒃𝒄𝒅matrixsubscript𝑣max𝑥subscript𝑝𝐻1subscript𝑝𝐻max𝑥subscript𝑣max𝑦subscript𝑝𝐻2subscript𝑝𝐻max𝑦subscript𝑣max𝑧subscript𝑝𝐻3subscript𝑝𝐻max𝑧\begin{split}\boldsymbol{\dot{p}^{b}_{c,d}}=\begin{bmatrix}v_{\textrm{max},x}% \tanh{(\tfrac{p_{H,1}}{p_{H,\textrm{max},x}})}\\ v_{\textrm{max},y}\tanh{(\tfrac{p_{H,2}}{p_{H,\textrm{max},y}})}\\ v_{\textrm{max},z}\tanh{(\tfrac{p_{H,3}}{p_{H,\textrm{max},z}})}\end{bmatrix}.% \end{split}start_ROW start_CELL overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUPERSCRIPT bold_italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_v start_POSTSUBSCRIPT max , italic_x end_POSTSUBSCRIPT roman_tanh ( divide start_ARG italic_p start_POSTSUBSCRIPT italic_H , 1 end_POSTSUBSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_H , max , italic_x end_POSTSUBSCRIPT end_ARG ) end_CELL end_ROW start_ROW start_CELL italic_v start_POSTSUBSCRIPT max , italic_y end_POSTSUBSCRIPT roman_tanh ( divide start_ARG italic_p start_POSTSUBSCRIPT italic_H , 2 end_POSTSUBSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_H , max , italic_y end_POSTSUBSCRIPT end_ARG ) end_CELL end_ROW start_ROW start_CELL italic_v start_POSTSUBSCRIPT max , italic_z end_POSTSUBSCRIPT roman_tanh ( divide start_ARG italic_p start_POSTSUBSCRIPT italic_H , 3 end_POSTSUBSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_H , max , italic_z end_POSTSUBSCRIPT end_ARG ) end_CELL end_ROW end_ARG ] . end_CELL end_ROW (5)

where vmax,xsubscript𝑣max𝑥v_{\textrm{max},x}italic_v start_POSTSUBSCRIPT max , italic_x end_POSTSUBSCRIPT, vmax,ysubscript𝑣max𝑦v_{\textrm{max},y}italic_v start_POSTSUBSCRIPT max , italic_y end_POSTSUBSCRIPT and vmax,zsubscript𝑣max𝑧v_{\textrm{max},z}italic_v start_POSTSUBSCRIPT max , italic_z end_POSTSUBSCRIPT represent the UAM’s maximum speeds of x𝑥xitalic_x, y𝑦yitalic_y and z𝑧zitalic_z-axes of the body frame, respectively, and we let pH,max,xsubscript𝑝𝐻max𝑥p_{H,\textrm{max},x}italic_p start_POSTSUBSCRIPT italic_H , max , italic_x end_POSTSUBSCRIPT, pH,max,ysubscript𝑝𝐻max𝑦p_{H,\textrm{max},y}italic_p start_POSTSUBSCRIPT italic_H , max , italic_y end_POSTSUBSCRIPT and pH,max,zsubscript𝑝𝐻max𝑧p_{H,\textrm{max},z}italic_p start_POSTSUBSCRIPT italic_H , max , italic_z end_POSTSUBSCRIPT denote the maximum absolute values of each element of 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT. Then from the above equation, the desired velocity and position of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT are obtained as follows:

𝒑˙𝒄,𝒅=𝑹𝒛(ϕ3)𝒑˙𝒄,𝒅𝒃𝒑𝒄,𝒅=𝒑𝒄,𝟎+t0t𝒑˙𝒄,𝒅(τ)𝑑τsubscriptbold-˙𝒑𝒄𝒅subscript𝑹𝒛subscriptitalic-ϕ3subscriptsuperscriptbold-˙𝒑𝒃𝒄𝒅subscript𝒑𝒄𝒅subscript𝒑𝒄0subscriptsuperscript𝑡subscript𝑡0subscriptbold-˙𝒑𝒄𝒅𝜏differential-d𝜏\begin{split}\boldsymbol{\dot{p}_{c,d}}=&\boldsymbol{R_{z}}(\phi_{3})% \boldsymbol{\dot{p}^{b}_{c,d}}\\ \boldsymbol{p_{c,d}}=&\boldsymbol{p_{c,0}}+\int^{t}_{t_{0}}\boldsymbol{\dot{p}% _{c,d}}(\tau)d\tau\end{split}start_ROW start_CELL overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = end_CELL start_CELL bold_italic_R start_POSTSUBSCRIPT bold_italic_z end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUPERSCRIPT bold_italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = end_CELL start_CELL bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_0 end_POSTSUBSCRIPT + ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_τ ) italic_d italic_τ end_CELL end_ROW (6)

where 𝒑𝒄,𝟎subscript𝒑𝒄0\boldsymbol{p_{c,0}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_0 end_POSTSUBSCRIPT is the initial value of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT.

While the desired yaw angle of the multirotor, ϕd,3subscriptitalic-ϕ𝑑3\phi_{d,3}italic_ϕ start_POSTSUBSCRIPT italic_d , 3 end_POSTSUBSCRIPT, is set from the keyboard of the ground control station by the human operator, the desired joint angles are set as follows:

𝜽𝑨,𝒅=[ϕ1;ϕ2;θg].subscript𝜽𝑨𝒅subscriptitalic-ϕ1subscriptitalic-ϕ2subscript𝜃𝑔\begin{split}\boldsymbol{\theta_{A,d}}=[-\phi_{1};-\phi_{2};\theta_{g}].\end{split}start_ROW start_CELL bold_italic_θ start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_d end_POSTSUBSCRIPT = [ - italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ; - italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ; italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ] . end_CELL end_ROW (7)

This equation makes the attitude of the end-effector parallel to the ground and commands the UAM’s gripper to follow the signal from the haptic device.

III-A2 Control

For the regulation of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT, we adopt the disturbance-observer (DOB)-based controller introduced in [20] to generate the desired values of the total thrust F𝐹Fitalic_F, the roll angle ϕ1subscriptitalic-ϕ1\phi_{1}italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and the pitch angle ϕ2subscriptitalic-ϕ2\phi_{2}italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT from the error between 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and 𝒑𝒄,𝒅subscript𝒑𝒄𝒅\boldsymbol{p_{c,d}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT. Then, based on ϕ𝒅=[ϕd,1;ϕd,2;ϕd,3]subscriptbold-italic-ϕ𝒅subscriptitalic-ϕ𝑑1subscriptitalic-ϕ𝑑2subscriptitalic-ϕ𝑑3\boldsymbol{\phi_{d}}=[\phi_{d,1};\phi_{d,2};\phi_{d,3}]bold_italic_ϕ start_POSTSUBSCRIPT bold_italic_d end_POSTSUBSCRIPT = [ italic_ϕ start_POSTSUBSCRIPT italic_d , 1 end_POSTSUBSCRIPT ; italic_ϕ start_POSTSUBSCRIPT italic_d , 2 end_POSTSUBSCRIPT ; italic_ϕ start_POSTSUBSCRIPT italic_d , 3 end_POSTSUBSCRIPT ], we calculate 𝝎𝒃,𝒅𝒃subscriptsuperscript𝝎𝒃𝒃𝒅\boldsymbol{\omega^{b}_{b,d}}bold_italic_ω start_POSTSUPERSCRIPT bold_italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT bold_italic_b bold_, bold_italic_d end_POSTSUBSCRIPT for the control of the multirotor’s attitude. Lastly, we simply transmit 𝜽𝑨,𝒅subscript𝜽𝑨𝒅\boldsymbol{\theta_{A,d}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_d end_POSTSUBSCRIPT in (7) to the built-in controller of the servo motors.

The desired value of 𝒖𝒄subscript𝒖𝒄\boldsymbol{u_{c}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT in (3), 𝒖𝒄,𝒅subscript𝒖𝒄𝒅\boldsymbol{u_{c,d}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT, is calculated as follows:

𝒖𝒄,𝒅=m^t(g^𝒆𝟑𝑲𝑫(𝒑˙𝒄𝒑˙𝒄,𝒅)𝑲𝑷(𝒑𝒄𝒑𝒄,𝒅))𝑹𝒃𝒇^𝑨,𝑬subscript𝒖𝒄𝒅subscript^𝑚𝑡^𝑔subscript𝒆3subscript𝑲𝑫subscriptbold-˙𝒑𝒄subscriptbold-˙𝒑𝒄𝒅subscript𝑲𝑷subscript𝒑𝒄subscript𝒑𝒄𝒅subscript𝑹𝒃subscriptbold-^𝒇𝑨𝑬\boldsymbol{u_{c,d}}=\hat{m}_{t}(\hat{g}\boldsymbol{e_{3}}\\ -\boldsymbol{K_{D}}(\boldsymbol{\dot{p}_{c}}-\boldsymbol{\dot{p}_{c,d}})-% \boldsymbol{K_{P}}(\boldsymbol{p_{c}}-\boldsymbol{p_{c,d}}))-\boldsymbol{R_{b}% }\boldsymbol{\hat{f}_{A,E}}start_ROW start_CELL bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( over^ start_ARG italic_g end_ARG bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - bold_italic_K start_POSTSUBSCRIPT bold_italic_D end_POSTSUBSCRIPT ( overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT - overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ) - bold_italic_K start_POSTSUBSCRIPT bold_italic_P end_POSTSUBSCRIPT ( bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT - bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ) ) - bold_italic_R start_POSTSUBSCRIPT bold_italic_b end_POSTSUBSCRIPT overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT end_CELL end_ROW (8)

where m^tsubscript^𝑚𝑡\hat{m}_{t}over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and g^^𝑔\hat{g}over^ start_ARG italic_g end_ARG are the nominal values of mtsubscript𝑚𝑡m_{t}italic_m start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and g𝑔gitalic_g, respectively, and 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT is the estimated value of 𝒇𝑨,𝑬subscript𝒇𝑨𝑬\boldsymbol{f_{A,E}}bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT which will be presented later. Then, F𝐹Fitalic_F and the desired roll and pitch angles, ϕd,1subscriptitalic-ϕ𝑑1\phi_{d,1}italic_ϕ start_POSTSUBSCRIPT italic_d , 1 end_POSTSUBSCRIPT and ϕd,2subscriptitalic-ϕ𝑑2\phi_{d,2}italic_ϕ start_POSTSUBSCRIPT italic_d , 2 end_POSTSUBSCRIPT, are extracted from 𝒖c,dsubscript𝒖𝑐𝑑\boldsymbol{u}_{c,d}bold_italic_u start_POSTSUBSCRIPT italic_c , italic_d end_POSTSUBSCRIPT as follows:

F=1cϕ1cϕ2𝒆𝟑𝚿𝒖𝒄,𝒅,ϕd,1=sin1(1F𝒆𝟐𝚿𝒖𝒄,𝒅),ϕd,2=sin1(1Fcϕ1𝒆𝟏𝚿𝒖𝒄,𝒅)formulae-sequence𝐹1𝑐subscriptitalic-ϕ1𝑐subscriptitalic-ϕ2superscriptsubscript𝒆3top𝚿subscript𝒖𝒄𝒅formulae-sequencesubscriptitalic-ϕ𝑑1superscript11𝐹superscriptsubscript𝒆2top𝚿subscript𝒖𝒄𝒅subscriptitalic-ϕ𝑑2superscript11𝐹𝑐subscriptitalic-ϕ1superscriptsubscript𝒆1top𝚿subscript𝒖𝒄𝒅\begin{split}F=&\tfrac{1}{c\phi_{1}c\phi_{2}}\boldsymbol{e_{3}^{\top}}% \boldsymbol{\Psi}\boldsymbol{u_{c,d}},\ \phi_{d,1}=\sin^{-1}{(\tfrac{1}{F}% \boldsymbol{e_{2}^{\top}}\boldsymbol{\Psi}\boldsymbol{u_{c,d}})},\\ \phi_{d,2}=&\sin^{-1}{(\tfrac{1}{Fc\phi_{1}}\boldsymbol{e_{1}^{\top}}% \boldsymbol{\Psi}\boldsymbol{u_{c,d}})}\end{split}start_ROW start_CELL italic_F = end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_c italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT bold_⊤ end_POSTSUPERSCRIPT bold_Ψ bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT , italic_ϕ start_POSTSUBSCRIPT italic_d , 1 end_POSTSUBSCRIPT = roman_sin start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG 1 end_ARG start_ARG italic_F end_ARG bold_italic_e start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT bold_⊤ end_POSTSUPERSCRIPT bold_Ψ bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_ϕ start_POSTSUBSCRIPT italic_d , 2 end_POSTSUBSCRIPT = end_CELL start_CELL roman_sin start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG 1 end_ARG start_ARG italic_F italic_c italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG bold_italic_e start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT bold_⊤ end_POSTSUPERSCRIPT bold_Ψ bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ) end_CELL end_ROW (9)

Meanwhile, 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT is calculated based on 𝒖𝒄subscript𝒖𝒄\boldsymbol{u_{c}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT as follows:

𝜻˙𝒄=1νc𝚪𝒄,𝜻(𝜻𝒄𝒑˙𝒄),𝜻𝒄(t0)=𝒑𝒄,𝟎𝝌˙𝒄=1νc𝚪𝒄,𝝌(𝝌𝒄1m^t𝒖𝒄),𝝌𝒄(t0)=g𝒆𝟑𝒇^𝑨,𝑬=m^tνc𝚪𝒄,𝜻(𝜻𝒄𝒑˙𝒄)+m^tg^𝒆𝟑m^t𝝌𝒄\begin{split}\boldsymbol{\dot{\zeta}_{c}}=&-\tfrac{1}{\nu_{c}}\boldsymbol{% \Gamma_{c,\zeta}}(\boldsymbol{\zeta_{c}}-\boldsymbol{\dot{p}_{c}}),\qquad\ \ % \boldsymbol{\zeta_{c}}(t_{0})=\boldsymbol{p_{c,0}}\\ \boldsymbol{\dot{\chi}_{c}}=&-\tfrac{1}{\nu_{c}}\boldsymbol{\Gamma_{c,\chi}}(% \boldsymbol{\chi_{c}}-\tfrac{1}{\hat{m}_{t}}\boldsymbol{u_{c}}),\quad% \boldsymbol{\chi_{c}}(t_{0})=g\boldsymbol{e_{3}}\\ \boldsymbol{\hat{f}_{A,E}}=&-\tfrac{\hat{m}_{t}}{\nu_{c}}\boldsymbol{\Gamma_{c% ,\zeta}}(\boldsymbol{\zeta_{c}}-\boldsymbol{\dot{p}_{c}})+\hat{m}_{t}\hat{g}% \boldsymbol{e_{3}}-\hat{m}_{t}\boldsymbol{\chi_{c}}\end{split}start_ROW start_CELL overbold_˙ start_ARG bold_italic_ζ end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT = end_CELL start_CELL - divide start_ARG 1 end_ARG start_ARG italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_ζ end_POSTSUBSCRIPT ( bold_italic_ζ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT - overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ) , bold_italic_ζ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) = bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_0 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL overbold_˙ start_ARG bold_italic_χ end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT = end_CELL start_CELL - divide start_ARG 1 end_ARG start_ARG italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_χ end_POSTSUBSCRIPT ( bold_italic_χ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT - divide start_ARG 1 end_ARG start_ARG over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ) , bold_italic_χ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) = italic_g bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT = end_CELL start_CELL - divide start_ARG over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG start_ARG italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_ζ end_POSTSUBSCRIPT ( bold_italic_ζ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT - overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ) + over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT over^ start_ARG italic_g end_ARG bold_italic_e start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT - over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT bold_italic_χ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT end_CELL end_ROW (10)

where 𝜻𝒄3subscript𝜻𝒄superscript3\boldsymbol{\zeta_{c}}\in{\mathbb{R}}^{3}bold_italic_ζ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT and 𝝌𝒄3subscript𝝌𝒄superscript3\boldsymbol{\chi_{c}}\in{\mathbb{R}}^{3}bold_italic_χ start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT represents the estimation of 𝒑˙𝒄subscriptbold-˙𝒑𝒄\boldsymbol{\dot{p}_{c}}overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and the filtered value of 1m^t𝒖𝒄1subscript^𝑚𝑡subscript𝒖𝒄\tfrac{1}{\hat{m}_{t}}\boldsymbol{u_{c}}divide start_ARG 1 end_ARG start_ARG over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT, respectively, and 𝚪𝒄,𝜻subscript𝚪𝒄𝜻\boldsymbol{\Gamma_{c,\zeta}}bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_ζ end_POSTSUBSCRIPT, 𝚪𝒄,𝝌3×3subscript𝚪𝒄𝝌superscript33\boldsymbol{\Gamma_{c,\chi}}\in{\mathbb{R}}^{3\times 3}bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_χ end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT and νc<1subscript𝜈𝑐1\nu_{c}<1italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT < 1 are the user-defined positive definite matrices and positive scalar value smaller than 1. Note that 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT is calculated based on 𝒖𝒄subscript𝒖𝒄\boldsymbol{u_{c}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT, not 𝒖𝒄,𝒅subscript𝒖𝒄𝒅\boldsymbol{u_{c,d}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT, to exclude the effects of the difference between 𝒖𝒄subscript𝒖𝒄\boldsymbol{u_{c}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and 𝒖𝒄,𝒅subscript𝒖𝒄𝒅\boldsymbol{u_{c,d}}bold_italic_u start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT.

Meanwhile, 𝝎𝒃,𝒅subscript𝝎𝒃𝒅\boldsymbol{\omega_{b,d}}bold_italic_ω start_POSTSUBSCRIPT bold_italic_b bold_, bold_italic_d end_POSTSUBSCRIPT is obtained as follows:

𝝎𝒃,𝒅=𝑲𝑹(ϕ𝒅ϕ)subscript𝝎𝒃𝒅subscript𝑲𝑹subscriptbold-italic-ϕ𝒅bold-italic-ϕ\begin{split}\boldsymbol{\omega_{b,d}}=\boldsymbol{K_{R}}(\boldsymbol{\phi_{d}% }-\boldsymbol{\phi})\end{split}start_ROW start_CELL bold_italic_ω start_POSTSUBSCRIPT bold_italic_b bold_, bold_italic_d end_POSTSUBSCRIPT = bold_italic_K start_POSTSUBSCRIPT bold_italic_R end_POSTSUBSCRIPT ( bold_italic_ϕ start_POSTSUBSCRIPT bold_italic_d end_POSTSUBSCRIPT - bold_italic_ϕ ) end_CELL end_ROW (11)

where 𝑲𝑹3×3subscript𝑲𝑹superscript33\boldsymbol{K_{R}}\in{\mathbb{R}}^{3\times 3}bold_italic_K start_POSTSUBSCRIPT bold_italic_R end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT is the user-defined positive definite matrix, and we directly input 𝜽𝑨,𝒅subscript𝜽𝑨𝒅\boldsymbol{\theta_{A,d}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_d end_POSTSUBSCRIPT generated in (7) into the built-in controller to control the joint angle control.

III-B Haptic Device: Robotic Arm

Let the positive definite matrices 𝑴𝑯,𝒅4×4subscript𝑴𝑯𝒅superscript44\boldsymbol{M_{H,d}}\in{\mathbb{R}}^{4\times 4}bold_italic_M start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT and 𝑫𝑯,𝒅4×4subscript𝑫𝑯𝒅superscript44\boldsymbol{D_{H,d}}\in{\mathbb{R}}^{4\times 4}bold_italic_D start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT denote the desired inertia and dam** matrices of the haptic device, respectively, then the admittance control law for 𝜽𝑯subscript𝜽𝑯\boldsymbol{\theta_{H}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT is designed as follows:

𝑴𝑯,𝒅𝜽¨𝑯,𝒅+𝑫𝑯,𝒅𝜽˙𝑯,𝒅=𝝉^𝑯,𝑬+𝝉𝒇𝒃+𝑱𝑯,𝑬(𝜽𝑯)𝒇^𝑨,𝑬subscript𝑴𝑯𝒅subscriptbold-¨𝜽𝑯𝒅subscript𝑫𝑯𝒅subscriptbold-˙𝜽𝑯𝒅subscriptbold-^𝝉𝑯𝑬subscript𝝉𝒇𝒃subscript𝑱𝑯𝑬subscript𝜽𝑯subscriptbold-^𝒇𝑨𝑬\boldsymbol{M_{H,d}}\boldsymbol{\ddot{\theta}_{H,d}}+\boldsymbol{D_{H,d}}% \boldsymbol{\dot{\theta}_{H,d}}\\ =\boldsymbol{\hat{\tau}_{H,E}}+\boldsymbol{\tau_{fb}}+\boldsymbol{J_{H,E}}(% \boldsymbol{\theta_{H}})\boldsymbol{\hat{f}_{A,E}}start_ROW start_CELL bold_italic_M start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT overbold_¨ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT + bold_italic_D start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL = overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT + bold_italic_J start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT end_CELL end_ROW (12)

where we let 𝝉^𝑯,𝑬4subscriptbold-^𝝉𝑯𝑬superscript4\boldsymbol{\hat{\tau}_{H,E}}\in{\mathbb{R}}^{4}overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT and 𝝉𝒇𝒃4subscript𝝉𝒇𝒃superscript4\boldsymbol{\tau_{fb}}\in{\mathbb{R}}^{4}bold_italic_τ start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT denote the estimated value of 𝝉𝑯,𝑬subscript𝝉𝑯𝑬\boldsymbol{\tau_{H,E}}bold_italic_τ start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT and recentering torque, respectively.

III-B1 Estimation of External Torque Applied to Haptic Device

The external torque from the human operator is estimated by the momentum-based estimator introduced in [21] as follows:

𝝉^𝑯,𝑬=𝑲𝑰,𝑯[𝑴(𝜽𝑯)𝜽˙𝑯t0t(𝝉𝑯𝑪(𝜽𝑯,𝜽˙𝑯)𝜽˙𝑯𝑮(𝜽𝑯)+𝝉^𝑯,𝑬)dτ𝑴(𝜽𝑯,𝟎)𝜽˙𝑯,𝟎],𝝉^𝑯,𝑬,𝟎=𝟎𝟒×𝟏formulae-sequencesubscriptbold-^𝝉𝑯𝑬subscript𝑲𝑰𝑯delimited-[]𝑴subscript𝜽𝑯subscriptbold-˙𝜽𝑯subscriptsuperscript𝑡subscript𝑡0subscript𝝉𝑯𝑪subscript𝜽𝑯subscriptbold-˙𝜽𝑯subscriptbold-˙𝜽𝑯𝑮subscript𝜽𝑯subscriptbold-^𝝉𝑯𝑬𝑑𝜏𝑴subscript𝜽𝑯0subscriptbold-˙𝜽𝑯0subscriptbold-^𝝉𝑯𝑬0subscript041\boldsymbol{\hat{\tau}_{H,E}}=\boldsymbol{K_{I,H}}\Bigg{[}\boldsymbol{M}(% \boldsymbol{\theta_{H}})\boldsymbol{\dot{\theta}_{H}}-\int^{t}_{t_{0}}(% \boldsymbol{\tau_{H}}-\boldsymbol{C}(\boldsymbol{\theta_{H}},\boldsymbol{\dot{% \theta}_{H}})\boldsymbol{\dot{\theta}_{H}}\\ -\boldsymbol{G}(\boldsymbol{\theta_{H}})+\boldsymbol{\hat{\tau}_{H,E}})d\tau-% \boldsymbol{M}(\boldsymbol{\theta_{H,0}})\boldsymbol{\dot{\theta}_{H,0}}\Bigg{% ]},\ \boldsymbol{\hat{\tau}_{H,E,0}}=\boldsymbol{0_{4\times 1}}start_ROW start_CELL overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT = bold_italic_K start_POSTSUBSCRIPT bold_italic_I bold_, bold_italic_H end_POSTSUBSCRIPT [ bold_italic_M ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT - ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_τ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT - bold_italic_C ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT , overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - bold_italic_G ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT ) + overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT ) italic_d italic_τ - bold_italic_M ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H bold_, bold_0 end_POSTSUBSCRIPT ) overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_0 end_POSTSUBSCRIPT ] , overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E bold_, bold_0 end_POSTSUBSCRIPT = bold_0 start_POSTSUBSCRIPT bold_4 bold_× bold_1 end_POSTSUBSCRIPT end_CELL end_ROW (13)

where 𝑲𝑰,𝑯4×4subscript𝑲𝑰𝑯superscript44\boldsymbol{K_{I,H}}\in{\mathbb{R}}^{4\times 4}bold_italic_K start_POSTSUBSCRIPT bold_italic_I bold_, bold_italic_H end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT is the user-defined positive definite matrix and we let 𝜽𝑯,𝟎subscript𝜽𝑯0\boldsymbol{\theta_{H,0}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_H bold_, bold_0 end_POSTSUBSCRIPT and 𝝉^𝑯,𝑬,𝟎subscriptbold-^𝝉𝑯𝑬0\boldsymbol{\hat{\tau}_{H,E,0}}overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E bold_, bold_0 end_POSTSUBSCRIPT denote the initial values of 𝜽𝑯subscript𝜽𝑯\boldsymbol{\theta_{H}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT and 𝝉^𝑯,𝑬subscriptbold-^𝝉𝑯𝑬\boldsymbol{\hat{\tau}_{H,E}}overbold_^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT, respectively.

III-B2 Recentering Torque

To drive the haptic device to its initial state when 𝝉𝑯,𝑬subscript𝝉𝑯𝑬\boldsymbol{\tau_{H,E}}bold_italic_τ start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_E end_POSTSUBSCRIPT is 𝟎𝟑subscript03\boldsymbol{0_{3}}bold_0 start_POSTSUBSCRIPT bold_3 end_POSTSUBSCRIPT, the recentering torque, 𝝉𝒇𝒃4subscript𝝉𝒇𝒃superscript4\boldsymbol{\tau_{fb}}\in{\mathbb{R}}^{4}bold_italic_τ start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT, is designed as follows:

𝝉𝒇𝒃=𝑲𝒇𝒃(𝜽𝑯𝜽𝑯,𝟎)subscript𝝉𝒇𝒃subscript𝑲𝒇𝒃subscript𝜽𝑯subscript𝜽𝑯0\begin{split}\boldsymbol{\tau_{fb}}=&-\boldsymbol{K_{fb}}(\boldsymbol{\theta_{% H}}-\boldsymbol{\theta_{H,0}})\end{split}start_ROW start_CELL bold_italic_τ start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT = end_CELL start_CELL - bold_italic_K start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT - bold_italic_θ start_POSTSUBSCRIPT bold_italic_H bold_, bold_0 end_POSTSUBSCRIPT ) end_CELL end_ROW (14)

where 𝑲𝒇𝒃4×4subscript𝑲𝒇𝒃superscript44\boldsymbol{K_{fb}}\in{\mathbb{R}}^{4\times 4}bold_italic_K start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT represents a user-defined positive definite matrix

III-C Haptic Device: Gripper

To make the gripper of the haptic device compliant with the gras** motion of the human hand, the desired angle of the gripper, θg,dsubscript𝜃𝑔𝑑\theta_{g,d}italic_θ start_POSTSUBSCRIPT italic_g , italic_d end_POSTSUBSCRIPT, is updated as follows:

θ¨g,d=kd,gθ˙g,dkfb,g(θgθg(t0))+kττgsubscript¨𝜃𝑔𝑑subscript𝑘𝑑𝑔subscript˙𝜃𝑔𝑑subscript𝑘𝑓𝑏𝑔subscript𝜃𝑔subscript𝜃𝑔subscript𝑡0subscript𝑘𝜏subscript𝜏𝑔\begin{split}\ddot{\theta}_{g,d}=-k_{d,g}\dot{\theta}_{g,d}-k_{fb,g}(\theta_{g% }-\theta_{g}(t_{0}))+k_{\tau}\tau_{g}\end{split}start_ROW start_CELL over¨ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_g , italic_d end_POSTSUBSCRIPT = - italic_k start_POSTSUBSCRIPT italic_d , italic_g end_POSTSUBSCRIPT over˙ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_g , italic_d end_POSTSUBSCRIPT - italic_k start_POSTSUBSCRIPT italic_f italic_b , italic_g end_POSTSUBSCRIPT ( italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT - italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ) + italic_k start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT italic_τ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT end_CELL end_ROW (15)

with the positive parameters kd,gsubscript𝑘𝑑𝑔k_{d,g}italic_k start_POSTSUBSCRIPT italic_d , italic_g end_POSTSUBSCRIPT, kfb,gsubscript𝑘𝑓𝑏𝑔k_{fb,g}italic_k start_POSTSUBSCRIPT italic_f italic_b , italic_g end_POSTSUBSCRIPT and kτsubscript𝑘𝜏k_{\tau}italic_k start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT

IV RECOVERY FLIGHT

When the extraction of the wedged object is detected, an excessive overshoot in the magnitude of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT might occur since a human operator cannot quickly react to the extraction of a wedged object. Hence, the recovery flight, which means the fully autonomous maneuver of the UAM returning to its state at the moment of extraction, is necessary to avoid the destabilization of the UAM or the large magnitude of position overshoot.

In this section, a method for detecting a wedged object extraction is introduced. Then, we present the methods of reference trajectory generation for the UAM and the haptic device during the recovery flight phase. During this phase, the UAM and the haptic device do not mutually exchange information and they are controlled fully autonomously. The detailed description is shown in Fig. 4 with the red lines.

Note that Tesubscript𝑇𝑒T_{e}italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and tesubscript𝑡𝑒t_{e}italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT represent the user-defined time duration of the recovery flight and the time instant of the wedged object extraction, respectively.

IV-A Detection of Wedged Object Extraction

By using the linear Kalman filter, we calculate 𝒇^˙𝑨,𝑬subscriptbold-˙bold-^𝒇𝑨𝑬\boldsymbol{\dot{\hat{f}}_{A,E}}overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT. Then, we can determine whether the wedged object is extracted or not by examining the decrease speed of 𝒇^˙𝑨,𝑬normsubscriptbold-˙bold-^𝒇𝑨𝑬\|\boldsymbol{\dot{\hat{f}}_{A,E}}\|∥ overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∥. From this concept, the switching from the nominal to recovery flight is detected by a condition shown below:

f˙^A,E,thres𝒇^˙𝑨,𝑬subscript^˙𝑓𝐴𝐸𝑡𝑟𝑒𝑠delimited-∥∥subscriptbold-˙bold-^𝒇𝑨𝑬\begin{split}\hat{\dot{f}}_{A,E,thres}\leq\|\boldsymbol{\dot{\hat{f}}_{A,E}}\|% \end{split}start_ROW start_CELL over^ start_ARG over˙ start_ARG italic_f end_ARG end_ARG start_POSTSUBSCRIPT italic_A , italic_E , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT ≤ ∥ overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∥ end_CELL end_ROW (16)

where f˙^A,E,thressubscript^˙𝑓𝐴𝐸𝑡𝑟𝑒𝑠\hat{\dot{f}}_{A,E,thres}over^ start_ARG over˙ start_ARG italic_f end_ARG end_ARG start_POSTSUBSCRIPT italic_A , italic_E , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT represents the minimum threshold.

IV-B Reference Trajectory Generation for UAM

According to [22], the motor commands and the acceleration of the Euler angles are known to be proportional to the snap of the position trajectory. Therefore, we design a minimum-snap trajectory of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT for the recovery flight as follows:

𝒑𝒄,𝒅=Σi=07𝒄𝒊ti,𝒑˙𝒄,𝒅=Σi=17i𝒄𝒊ti1\begin{split}\boldsymbol{p_{c,d}}=\Sigma^{7}_{i=0}\boldsymbol{c_{i}}t^{i},% \quad\boldsymbol{\dot{p}_{c,d}}=\Sigma^{7}_{i=1}i\boldsymbol{c_{i}}t^{i-1}\end% {split}start_ROW start_CELL bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = roman_Σ start_POSTSUPERSCRIPT 7 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT bold_italic_c start_POSTSUBSCRIPT bold_italic_i end_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT , overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT = roman_Σ start_POSTSUPERSCRIPT 7 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_i bold_italic_c start_POSTSUBSCRIPT bold_italic_i end_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT italic_i - 1 end_POSTSUPERSCRIPT end_CELL end_ROW (17)

where the coefficient 𝒄𝒊subscript𝒄𝒊\boldsymbol{c_{i}}bold_italic_c start_POSTSUBSCRIPT bold_italic_i end_POSTSUBSCRIPT is calculated by solving the optimization problem below:

min𝒄𝟎,,𝒄𝟕tete+Te𝒑˙˙˙˙𝒄,𝒅2𝑑τs.t.𝒑𝒄,𝒅(te)=𝒑𝒆,𝒑𝒄,𝒅(te+Te)=𝒑𝒆𝒑˙𝒄,𝒅(te)=𝒑˙𝒆,𝒑˙𝒄,𝒅(te+Te)=𝟎𝟑×𝟏𝒑¨𝒄,𝒅(te+Te)=𝒑˙˙˙𝒄,𝒅(te+Te)=𝟎𝟑×𝟏\begin{split}\underset{\boldsymbol{c_{0}},\cdots,\boldsymbol{c_{7}}}{\textrm{% min}}&\int^{t_{e}+T_{e}}_{t_{e}}\|\boldsymbol{\ddddot{p}_{c,d}}\|^{2}d\tau\\ \textrm{s.t.}\ &\boldsymbol{p_{c,d}}(t_{e})=\boldsymbol{p_{e}},\quad% \boldsymbol{p_{c,d}}(t_{e}+T_{e})=\boldsymbol{p_{e}}\\ &\boldsymbol{\dot{p}_{c,d}}(t_{e})=\boldsymbol{\dot{p}_{e}},\quad\boldsymbol{% \dot{p}_{c,d}}(t_{e}+T_{e})=\boldsymbol{0_{3\times 1}}\\ &\boldsymbol{\ddot{p}_{c,d}}(t_{e}+T_{e})=\boldsymbol{\dddot{p}_{c,d}}(t_{e}+T% _{e})=\boldsymbol{0_{3\times 1}}\end{split}start_ROW start_CELL start_UNDERACCENT bold_italic_c start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , ⋯ , bold_italic_c start_POSTSUBSCRIPT bold_7 end_POSTSUBSCRIPT end_UNDERACCENT start_ARG min end_ARG end_CELL start_CELL ∫ start_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ overbold_˙˙˙˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_d italic_τ end_CELL end_ROW start_ROW start_CELL s.t. end_CELL start_CELL bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = bold_italic_p start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT , bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = bold_italic_p start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT , overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = bold_0 start_POSTSUBSCRIPT bold_3 bold_× bold_1 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL overbold_¨ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = overbold_˙˙˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = bold_0 start_POSTSUBSCRIPT bold_3 bold_× bold_1 end_POSTSUBSCRIPT end_CELL end_ROW (18)

where 𝒑𝒆subscript𝒑𝒆\boldsymbol{p_{e}}bold_italic_p start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT and 𝒑˙𝒆subscriptbold-˙𝒑𝒆\boldsymbol{\dot{p}_{e}}overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT represent the values of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and 𝒑˙𝒄subscriptbold-˙𝒑𝒄\boldsymbol{\dot{p}_{c}}overbold_˙ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT at t=te𝑡subscript𝑡𝑒t=t_{e}italic_t = italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT.

Meanwhile, ϕd,3subscriptitalic-ϕ𝑑3\phi_{d,3}italic_ϕ start_POSTSUBSCRIPT italic_d , 3 end_POSTSUBSCRIPT, θA,d,1subscript𝜃𝐴𝑑1\theta_{A,d,1}italic_θ start_POSTSUBSCRIPT italic_A , italic_d , 1 end_POSTSUBSCRIPT and θA,d,2subscript𝜃𝐴𝑑2\theta_{A,d,2}italic_θ start_POSTSUBSCRIPT italic_A , italic_d , 2 end_POSTSUBSCRIPT are the same as the value during the nominal flight.

For the control of the UAM, we use the same control laws introduced in (8) - (11).

IV-C Reference Trajectory Generation for Haptic Device

If there exists an error between 𝜽𝑯,𝒅subscript𝜽𝑯𝒅\boldsymbol{\theta_{H,d}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT and 𝜽𝑯subscript𝜽𝑯\boldsymbol{\theta_{H}}bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT at the moment of re-switching from the recovery to nominal phases, the UAM will face a sudden movement. Hence, the robotic arm of the haptic device is commanded to quickly recover its initial pose during the recovery flight as follows:

𝜽˙𝑯,𝒅=𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚(𝜽𝑯𝜽𝑯,𝟎)subscriptbold-˙𝜽𝑯𝒅subscript𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚subscript𝜽𝑯subscript𝜽𝑯0\begin{split}\boldsymbol{\dot{\theta}_{H,d}}=-\boldsymbol{K_{recovery}}(% \boldsymbol{\theta_{H}}-\boldsymbol{\theta_{H,0}})\end{split}start_ROW start_CELL overbold_˙ start_ARG bold_italic_θ end_ARG start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT = - bold_italic_K start_POSTSUBSCRIPT bold_italic_r bold_italic_e bold_italic_c bold_italic_o bold_italic_v bold_italic_e bold_italic_r bold_italic_y end_POSTSUBSCRIPT ( bold_italic_θ start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT - bold_italic_θ start_POSTSUBSCRIPT bold_italic_H bold_, bold_0 end_POSTSUBSCRIPT ) end_CELL end_ROW (19)

with the user defined positive definite matrix 𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚4×4subscript𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚superscript44\boldsymbol{K_{recovery}}\in{\mathbb{R}}^{4\times 4}bold_italic_K start_POSTSUBSCRIPT bold_italic_r bold_italic_e bold_italic_c bold_italic_o bold_italic_v bold_italic_e bold_italic_r bold_italic_y end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 × 4 end_POSTSUPERSCRIPT.

To hold onto the extracted object during the recovery flight phase, we do not change the value of θgsubscript𝜃𝑔\theta_{g}italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT from its value at t=te𝑡subscript𝑡𝑒t=t_{e}italic_t = italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT.

V RESULTS

As an example of the wedged object extracting using a UAM, we conduct plug-pulling experiments with a UAM configured with a quadrotor and a 3-DOF robotic arm including a gripper. This section compares the results of the aerial plug-pulling experiments with and without the recovery flight control strategy.

V-A Experimental Setups

Refer to caption
Figure 5: (a) UAM utilized for our plug-pulling experiments. (b) Structure of the electric socket.

For the UAM, we use the platform configured with an underactuated quadrotor and a 3-DOF robotic arm with a gripper shown in Fig. 5a. The quadrotor is made up of the off-the-shelf frame DJI S500, four U3-KV700 motors with corresponding ALPHA-40A-LV electronic speed controllers (ESCs), four 11-inch T-Motor carbon fiber propellers, a 4S Turnigy Lipo battery with Intel NUC for computing, and a 6S Polytronics Lipo battery for the power supplement of the four motors and robotic arm. On Intel NUC, the algorithm for the reference trajectory generation of the position and joint angles, a position controller, and a navigation algorithm using the data obtained by OptiTrack are executed with Robot Operating System (ROS) installed in Ubuntu 18.04. Based on the total thrust and the desired Euler angles generated by the position controller, the motor commands are transmitted to the four ESCs by Pixhawk 4 which is connected to Intel NUC. The robotic arm is configured with an XM540 servo motor, two XM430 servo motors, and an FR12-G101GM gripper manufactured by ROBOTIS dynamixel and is controlled by U2D2. For the plug-pulling setting, a stand for a 110 V socket firmly attached to a black plastic plate is installed as in Fig. 5b.

V-B Parameter and Controller Gain Settings

V-B1 Haptic Device

To control the haptic device, we use the parameters and controller gains shown in Table I.

TABLE I: Parameters and Controller Gains for the Haptic Device.
𝑴𝑯,𝒅subscript𝑴𝑯𝒅\boldsymbol{M_{H,d}}bold_italic_M start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT 𝑫𝑯,𝒅subscript𝑫𝑯𝒅\boldsymbol{D_{H,d}}bold_italic_D start_POSTSUBSCRIPT bold_italic_H bold_, bold_italic_d end_POSTSUBSCRIPT
diag{0.20,0.20,0.20,0.20}0.200.200.200.20\{0.20,0.20,0.20,0.20\}{ 0.20 , 0.20 , 0.20 , 0.20 } diag{0.10,0.50,0.10,0.10}0.100.500.100.10\{0.10,0.50,0.10,0.10\}{ 0.10 , 0.50 , 0.10 , 0.10 }
𝑲𝑰,𝑯subscript𝑲𝑰𝑯\boldsymbol{K_{I,H}}bold_italic_K start_POSTSUBSCRIPT bold_italic_I bold_, bold_italic_H end_POSTSUBSCRIPT 𝑲𝒇𝒃subscript𝑲𝒇𝒃\boldsymbol{K_{fb}}bold_italic_K start_POSTSUBSCRIPT bold_italic_f bold_italic_b end_POSTSUBSCRIPT
diag{30.0,30.0,30.0,30.0}30.030.030.030.0\{30.0,30.0,30.0,30.0\}{ 30.0 , 30.0 , 30.0 , 30.0 } diag{3.00,1.00,7.50,7.50}3.001.007.507.50\{3.00,1.00,7.50,7.50\}{ 3.00 , 1.00 , 7.50 , 7.50 }
𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚subscript𝑲𝒓𝒆𝒄𝒐𝒗𝒆𝒓𝒚\boldsymbol{K_{recovery}}bold_italic_K start_POSTSUBSCRIPT bold_italic_r bold_italic_e bold_italic_c bold_italic_o bold_italic_v bold_italic_e bold_italic_r bold_italic_y end_POSTSUBSCRIPT kd,gsubscript𝑘𝑑𝑔k_{d,g}italic_k start_POSTSUBSCRIPT italic_d , italic_g end_POSTSUBSCRIPT kfb,gsubscript𝑘𝑓𝑏𝑔k_{fb,g}italic_k start_POSTSUBSCRIPT italic_f italic_b , italic_g end_POSTSUBSCRIPT kτsubscript𝑘𝜏k_{\tau}italic_k start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT
diag{6.00,2.00,15.0,15.0}6.002.0015.015.0\{6.00,2.00,15.0,15.0\}{ 6.00 , 2.00 , 15.0 , 15.0 } 0.50 8.00 15.0

V-B2 UAM

For the reference trajectory generation and control of the UAM, we utilize the parameters and controller gains in Table II.

TABLE II: Parameters and controller gains utilized for the UAM
vmax,xsubscript𝑣max𝑥v_{\textrm{max},x}italic_v start_POSTSUBSCRIPT max , italic_x end_POSTSUBSCRIPT vmax,ysubscript𝑣max𝑦v_{\textrm{max},y}italic_v start_POSTSUBSCRIPT max , italic_y end_POSTSUBSCRIPT vmax,zsubscript𝑣max𝑧v_{\textrm{max},z}italic_v start_POSTSUBSCRIPT max , italic_z end_POSTSUBSCRIPT pH,max,xsubscript𝑝𝐻max𝑥p_{H,\textrm{max},x}italic_p start_POSTSUBSCRIPT italic_H , max , italic_x end_POSTSUBSCRIPT pH,max,ysubscript𝑝𝐻max𝑦p_{H,\textrm{max},y}italic_p start_POSTSUBSCRIPT italic_H , max , italic_y end_POSTSUBSCRIPT
0.4 0.4 0.4 0.2 0.2
pH,max,zsubscript𝑝𝐻max𝑧p_{H,\textrm{max},z}italic_p start_POSTSUBSCRIPT italic_H , max , italic_z end_POSTSUBSCRIPT f^A,E,thsubscript^𝑓𝐴𝐸th\hat{f}_{A,E,\textrm{th}}over^ start_ARG italic_f end_ARG start_POSTSUBSCRIPT italic_A , italic_E , th end_POSTSUBSCRIPT Tesubscript𝑇𝑒T_{e}italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT m^tsubscript^𝑚𝑡\hat{m}_{t}over^ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT g^^𝑔\hat{g}over^ start_ARG italic_g end_ARG
0.2 7.50 5.0 2.50 9.81
𝑲𝑷subscript𝑲𝑷\boldsymbol{K_{P}}bold_italic_K start_POSTSUBSCRIPT bold_italic_P end_POSTSUBSCRIPT 𝑲𝑫subscript𝑲𝑫\boldsymbol{K_{D}}bold_italic_K start_POSTSUBSCRIPT bold_italic_D end_POSTSUBSCRIPT νcsubscript𝜈𝑐\nu_{c}italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT
diag{4.00,4.00,8.00}4.004.008.00\{4.00,4.00,8.00\}{ 4.00 , 4.00 , 8.00 } diag{3.00,3.00,4.80}3.003.004.80\{3.00,3.00,4.80\}{ 3.00 , 3.00 , 4.80 } 0.90
𝑲𝑹subscript𝑲𝑹\boldsymbol{K_{R}}bold_italic_K start_POSTSUBSCRIPT bold_italic_R end_POSTSUBSCRIPT 𝚪𝒄,𝜻subscript𝚪𝒄𝜻\boldsymbol{\Gamma_{c,\zeta}}bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_ζ end_POSTSUBSCRIPT = 𝚪𝒄,𝝌subscript𝚪𝒄𝝌\boldsymbol{\Gamma_{c,\chi}}bold_Γ start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_χ end_POSTSUBSCRIPT
diag{12.0,12.0,10.0}12.012.010.0\{12.0,12.0,10.0\}{ 12.0 , 12.0 , 10.0 } diag{1.00,1.00,1.00}1.001.001.00\{1.00,1.00,1.00\}{ 1.00 , 1.00 , 1.00 }

However, since the excessively fast estimation of 𝒇𝑨,𝑬subscript𝒇𝑨𝑬\boldsymbol{f_{A,E}}bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT might induce the undesirable peak in 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT so that the control performance is degraded, we reduce νcsubscript𝜈𝑐\nu_{c}italic_ν start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT from 0.90 to 0.20 only for the estimation of 𝒇𝑨,𝑬subscript𝒇𝑨𝑬\boldsymbol{f_{A,E}}bold_italic_f start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT.

V-C Scenario

First, we manipulate our haptic device to drive the UAM toward the 110V plug attached to the electric socket. Second, when the gripper of the UAM envelopes the plug-grabbing region, we close the gripper of the UAM by closing that of the haptic device by hand. Third, we pull the haptic device to make the UAM try to extract the plug from the socket.

To validate our proposed teleoperation strategy, we conduct two experiments: One with the baseline method, and another with the proposed method. The baseline method is simply utilizing the teleoperation strategy during the nominal flight for the entire steps of our scenario. Otherwise, the proposed method means that we utilize all of the methods introduced in Sections III - V.

V-D Results and Discussion

Refer to caption
Figure 6: History of the UAM’s COM position (𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT), estimation of the force exerted on the UAM (𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT), speed of 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT (𝒇^˙𝑨,𝑬normsubscriptbold-˙bold-^𝒇𝑨𝑬\|\boldsymbol{\dot{\hat{f}}_{A,E}}\|∥ overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∥), and snapshots. The vertical black dashed lines represent the time instant of plug separation. In the plots of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT, the black, red, and blue lines represent the first, second and third elements, respectively, and the solid and dashed lines mean the actual and desired trajectories, respectively. For the speed of 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT, the red line represents the calculated value while the black dashed horizontal lines mean f^˙A,E,thressubscript˙^𝑓𝐴𝐸𝑡𝑟𝑒𝑠\dot{\hat{f}}_{A,E,thres}over˙ start_ARG over^ start_ARG italic_f end_ARG end_ARG start_POSTSUBSCRIPT italic_A , italic_E , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT. (a) Results with the baseline method and (b) results with the proposed method.

Fig. 6a presents the results with the baseline teleoperation method. The results of 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT and 𝒇^˙𝑨,𝑬normsubscriptbold-˙bold-^𝒇𝑨𝑬\|\boldsymbol{\dot{\hat{f}}_{A,E}}\|∥ overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∥ shows an abrupt change in the interaction force after the plug separation. Also, from the plot of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT, we can observe that there occur the continuous increases of 𝒑𝒄,𝒅,𝟏subscript𝒑𝒄𝒅1\boldsymbol{p_{c,d,1}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d bold_, bold_1 end_POSTSUBSCRIPT, 𝒑𝒄,𝒅,𝟐subscript𝒑𝒄𝒅2\boldsymbol{p_{c,d,2}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d bold_, bold_2 end_POSTSUBSCRIPT and 𝒑𝒄,𝒅,𝟑subscript𝒑𝒄𝒅3\boldsymbol{p_{c,d,3}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c bold_, bold_italic_d bold_, bold_3 end_POSTSUBSCRIPT along with the pulling direction even after the plug separation due to the limited reaction time of the human operator. It leads to a large difference between 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT and 𝒑𝒆subscript𝒑𝒆\boldsymbol{p_{e}}bold_italic_p start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT and prevents the UAM from quickly returning to the plug-pulling location.

Fig. 6b reports the results with the proposed teleoperation method. As in Fig. 6a, the results of 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT and 𝒇^˙𝑨,𝑬normsubscriptbold-˙bold-^𝒇𝑨𝑬\|\boldsymbol{\dot{\hat{f}}_{A,E}}\|∥ overbold_˙ start_ARG overbold_^ start_ARG bold_italic_f end_ARG end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT ∥ also validate that an abrupt change in the pulling force occurs after the plug separation. Compared to the history of 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT with the baseline method, we can notice that the proposed method helps the UAM recover the plug-pulling position within a short time. Also, even though there also exists an overshoot after the plug separation due to the time delay in estimating 𝒇^𝑨,𝑬subscriptbold-^𝒇𝑨𝑬\boldsymbol{\hat{f}_{A,E}}overbold_^ start_ARG bold_italic_f end_ARG start_POSTSUBSCRIPT bold_italic_A bold_, bold_italic_E end_POSTSUBSCRIPT, from Table III, we can note that the magnitude of overshoot in 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT is remarkably reduced compared to the previous result. From this quantitative result, with the same controller setting for the UAM, we confirm that the proposed teleoperation strategy helps reduce the overshoot in the UAM’s position after the plug is extracted from the socket.

TABLE III: Quantitative Results of Overshoot After Plug Separation. Best value is highlighted with bold.
Baseline Proposed
maxtette+Te𝒑𝒄(t)𝒑𝒆subscript𝑡𝑒𝑡subscript𝑡𝑒subscript𝑇𝑒maxnormsubscript𝒑𝒄𝑡subscript𝒑𝒆\underset{t_{e}\leq t\leq t_{e}+T_{e}}{\textrm{max}}\|\boldsymbol{p_{c}}(t)-% \boldsymbol{p_{e}}\|start_UNDERACCENT italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ≤ italic_t ≤ italic_t start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_UNDERACCENT start_ARG max end_ARG ∥ bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT ( italic_t ) - bold_italic_p start_POSTSUBSCRIPT bold_italic_e end_POSTSUBSCRIPT ∥ [m] 0.8934 0.6422
Refer to caption
Figure 7: History of 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT of the haptic device. The blue, red, and yellow lines represent the trajectory of pH,1subscript𝑝𝐻1p_{H,1}italic_p start_POSTSUBSCRIPT italic_H , 1 end_POSTSUBSCRIPT, pH,2subscript𝑝𝐻2p_{H,2}italic_p start_POSTSUBSCRIPT italic_H , 2 end_POSTSUBSCRIPT and pH,3subscript𝑝𝐻3p_{H,3}italic_p start_POSTSUBSCRIPT italic_H , 3 end_POSTSUBSCRIPT, respectively. The vertical black dashed line expresses the time instant of the plug separation. (a) Results with the baseline method and (b) results with the proposed method.

In Fig. 7a, it can be seen that 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT slowly returns to 𝟎3×1subscript031\boldsymbol{0}_{3\times 1}bold_0 start_POSTSUBSCRIPT 3 × 1 end_POSTSUBSCRIPT due to the limitation of the human operator’s reaction time. This result leads to the excessive overshoot in 𝒑𝒄subscript𝒑𝒄\boldsymbol{p_{c}}bold_italic_p start_POSTSUBSCRIPT bold_italic_c end_POSTSUBSCRIPT. On the other hand, we can notice that 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT automatically returns to its original point in Fig. 7b. Since 𝒑𝑯subscript𝒑𝑯\boldsymbol{p_{H}}bold_italic_p start_POSTSUBSCRIPT bold_italic_H end_POSTSUBSCRIPT becomes 𝟎𝟑×𝟏subscript031\boldsymbol{0_{3\times 1}}bold_0 start_POSTSUBSCRIPT bold_3 bold_× bold_1 end_POSTSUBSCRIPT after the plug separation, the human operator can manipulate the haptic device from its initial configuration when the nominal flight phase is revisited.

VI CONCLUSIONS

In this paper, we propose a haptic-based bilateral teleoperation strategy to compensate for human reaction time for a UAM extracting a wedged object from a static structure (i.e., plug-pulling), which incurs an abrupt decrease in the interaction force. To this end, the haptic device composed of a 4-DOF robotic arm and a gripper is manufactured for the teleoperation of aerial wedged object-extracting tasks, and their dynamic models are derived. Then, we introduce the haptic-based bilateral teleoperation strategy to execute the UAM by the haptic device during the nominal flight phase. Also, we construct the algorithm for detecting the extraction of the wedged object, and the reference trajectory generation method for the avoidance of destabilization or an excessive overshoot in the position of the UAM is designed. As an example of wedged object-extracting tasks, we conduct plug-pulling experiments with a quadrotor-based aerial manipulator. From the comparative experiments with the baseline and proposed teleoperation strategies, the results indicate that the proposed one ensures fast recovery to its initial position after the wedged object extraction and reduces the overshoot in the aerial manipulator’s position. For future works, we may adopt a hybrid control strategy or model predictive controller for more reduction of the overshoot in the position of the UAM. Also, an additional device for visual or tactile feedback may be attached to our UAM.

References

  • [1] S. Kim, H. Seo, and H. J. Kim, “Operating an unknown drawer using an aerial manipulator,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 5503–5508.
  • [2] M. Car, A. Ivanovic, M. Orsag, and S. Bogdan, “Impedance based force control for aerial robot peg-in-hole insertion tasks,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2018, pp. 6734–6739.
  • [3] M. Á. Trujillo, J. R. Martínez-de Dios, C. Martín, A. Viguria, and A. Ollero, “Novel aerial manipulator for accurate and robust industrial ndt contact inspection: A new tool for the oil and gas inspection industry,” Sensors, vol. 19, no. 6, p. 1305, 2019.
  • [4] D. Lee, H. Seo, D. Kim, and H. J. Kim, “Aerial manipulation using model predictive control for opening a hinged door,” in 2020 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2020, pp. 1237–1242.
  • [5] Y. Sun, Z. **g, P. Dong, J. Huang, W. Chen, and H. Leung, “A switchable unmanned aerial manipulator system for window-cleaning robot installation,” IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 3483–3490, 2021.
  • [6] S. Kim, S. Choi, H. Kim, J. Shin, H. Shim, and H. J. Kim, “Robust control of an equipment-added multirotor using disturbance observer,” IEEE Transactions on Control Systems Technology, vol. 26, no. 4, pp. 1524–1531, 2017.
  • [7] J. Liang, Y. Chen, N. Lai, B. He, Z. Miao, and Y. Wang, “Low-complexity prescribed performance control for unmanned aerial manipulator robot system under model uncertainty and unknown disturbances,” IEEE Transactions on Industrial Informatics, vol. 18, no. 7, pp. 4632–4641, 2021.
  • [8] D. Lee, J. Byun, and H. J. Kim, “Rise-based trajectory tracking control of an aerial manipulator under uncertainty,” IEEE Control Systems Letters, vol. 6, pp. 3379–3384, 2022.
  • [9] A. Y. Mersha, S. Stramigioli, and R. Carloni, “On bilateral teleoperation of aerial robots,” IEEE Transactions on Robotics, vol. 30, no. 1, pp. 258–274, 2013.
  • [10] J. Byun, I. Jang, D. Lee, and H. J. Kim, “A hybrid controller enhancing transient performance for an aerial manipulator extracting a wedged object,” IEEE Transactions on Automation Science and Engineering, 2023.
  • [11] S. Stramigioli, R. Mahony, and P. Corke, “A novel approach to haptic tele-operation of aerial robot vehicles,” in 2010 IEEE International Conference on Robotics and Automation.   IEEE, 2010, pp. 5302–5308.
  • [12] M. Macchini, T. Havy, A. Weber, F. Schiano, and D. Floreano, “Hand-worn haptic interface for drone teleoperation,” in 2020 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2020, pp. 10 212–10 218.
  • [13] C. Masone, M. Mohammadi, P. Robuffo Giordano, and A. Franchi, “Shared planning and control for mobile robots with integral haptic feedback,” The International Journal of Robotics Research, vol. 37, no. 11, pp. 1395–1420, 2018.
  • [14] A. Coelho, H. Singh, K. Kondak, and C. Ott, “Whole-body bilateral teleoperation of a redundant aerial manipulator,” in 2020 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2020, pp. 9150–9156.
  • [15] G. Gioioso, M. Mohammadi, A. Franchi, and D. Prattichizzo, “A force-based bilateral teleoperation framework for aerial robots in contact with the environment,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 318–324.
  • [16] J. Lee, R. Balachandran, Y. S. Sarkisov, M. De Stefano, A. Coelho, K. Shinde, M. J. Kim, R. Triebel, and K. Kondak, “Visual-inertial telepresence for aerial manipulation,” in 2020 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2020, pp. 1222–1229.
  • [17] D. Kim and P. Y. Oh, “Human-drone interaction for aerially manipulated drilling using haptic feedback,” in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2020, pp. 9774–9780.
  • [18] M. Allenspach, N. Lawrance, M. Tognon, and R. Siegwart, “Towards 6dof bilateral teleoperation of an omnidirectional aerial vehicle for aerial physical interaction,” in 2022 International Conference on Robotics and Automation (ICRA).   IEEE, 2022, pp. 9302–9308.
  • [19] H. Yang and D. Lee, “Dynamics and control of quadrotor with robotic manipulator,” in 2014 IEEE international conference on robotics and automation (ICRA).   IEEE, 2014, pp. 5544–5549.
  • [20] W. Ha and J. Back, “A disturbance observer-based robust tracking controller for uncertain robot manipulators,” International Journal of Control, Automation and Systems, vol. 16, pp. 417–425, 2018.
  • [21] T. Tomić, C. Ott, and S. Haddadin, “External wrench estimation, collision detection, and reflex reaction for flying robots,” IEEE Transactions on Robotics, vol. 33, no. 6, pp. 1467–1482, 2017.
  • [22] Z. Liu and K. Karydis, “Toward impact-resilient quadrotor design, collision characterization and recovery control to sustain flight after collisions,” in 2021 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2021, pp. 183–189.