Autonomous aerial perching and unperching
using omnidirectional tiltrotor and switching controller

Dongjae Lee, Sunwoo Hwang, Jeonghyun Byun, Seung Jae Lee, H. ** Kim This work was supported in part by Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korean goverment (MSIT) [NO. 2021-0-01343-004, Artificial Intelligence Graduate School Program (Seoul National University)], in part 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(NRF-2020M3C1C1A010864), and in part by Basic Science Research Program through the National Research Foundation of Korea(NRF), funded by the Ministry of Education(NRF-2022R1A6A3A13073267).Dongjae Lee, Sunwoo Hwang, and Jeonghyun Byun are with the Department of Aerospace Engineering, Seoul National University (SNU), Seoul 08826, South Korea {ehdwo713, swsw0411, quswjdgus97}@snu.ac.krSeung Jae Lee is with the Department of Mechanical System Design Engineering, Seoul National University of Science and Technology (SEOULTECH), Seoul 01811, South Korea [email protected]H. ** Kim is with the Department of Aerospace Engineering, and Interdisciplinary Program in Artificial Intelligence (IPAI), Seoul National University, Seoul, Korea [email protected]
Abstract

Aerial unperching of multirotors has received little attention as opposed to perching that has been investigated to elongate operation time. This study presents a new aerial robot capable of both perching and unperching autonomously on/from a ferromagnetic surface during flight, and a switching controller to avoid rotor saturation and mitigate overshoot during transition between free-flight and perching. To enable stable perching and unperching maneuvers on/from a vertical surface, a lightweight (\approx 1111 kgkg\mathrm{k}\mathrm{g}roman_kg), fully actuated tiltrotor that can hover at 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitch angle is first developed. We design a perching/unperching module composed of a single servomotor and a magnet, which is then mounted on the tiltrotor. A switching controller including exclusive control modes for transitions between free-flight and perching is proposed. Lastly, we propose a simple yet effective strategy to ensure robust perching in the presence of measurement and control errors and avoid collisions with the perching site immediately after unperching. We validate the proposed framework in experiments where the tiltrotor successfully performs perching and unperching on/from a vertical surface during flight. We further show effectiveness of the proposed transition mode in the switching controller by ablation studies where large overshoot and even collision with a perching site occur. To the best of the authors’ knowledge, this work presents the first autonomous aerial unperching framework using a fully actuated tiltrotor.

©2024 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.

I Introduction

Aerial perching can enhance the energy efficiency and flight duration of multirotors whose hovering consumes a significant amount of energy. Such advantage has led to several studies on perching [1, 2, 3, 4], in particular, on inclined or vertically oriented surfaces. However, most of these studies have primarily concentrated on the act of perching itself, with little attention given to the process of unperching. Investigating unperching is necessary since, without the capability to autonomously unperch, a multirotor that has perched cannot be reused unless manually retrieved by a human operator.

Refer to caption
Figure 1: Experimental results showing both autonomous perching ((a) to (b)) and unperching ((c) to (d)) on the fly. Alphabetic order from (a) to (d) indicates the time sequence.

Since unperching essentially requires perching, we first review research on aerial perching. Most works on aerial perching employed conventional multirotors [2, 1, 4, 5, 6, 7, 8, 9]. However, to perch on a vertical wall or unperch from it, it is necessary to rotate the orientation by nearly 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. Conventional multirotors, due to their underactuated nature, inevitably experience translational overshoot during such maneuvers, making them unsuitable for operation in narrow or crowded spaces. Furthermore, to achieve robust alignment between the perching site and the multirotor with respect to control errors and measurement inaccuracy, it is essential to independently control both translation and orientation. Although [3] proposed a tiltrotor that can hover at a non-zero pitch angle to address this issue, it has a limitation of encountering singularity in control allocation when perching on surfaces close to 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. Instead of directly tilting the body orientation by 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, [9] suggests a perching strategy of first attaching to the vertical surface using a suction cup and a valve with zero pitch angle, and then rotating its body to perch on a vertical surface at 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitch. However, this approach may lack fast response in hovering recovery when encountering sudden detachment or slip due to the conventional multirotor being incapable of hovering at 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitch angle.

In the aspect of perching mechanism which is an essential factor in aerial perching, most reported mechanisms have not considered unperching motion. Previous works on aerial perching have utilized various materials, such as magnets [2, 3, 5], suction cups [4, 6, 9], Velcro [1], grippers [10, 11, 7], and electroadhesives [8]. Among those methods, our study extends the research on magnet-based methods. One advantage of using magnets is their capability to perch on various structures with ferromagnetic surfaces. However, most magnet-based perching methods employed in aerial robotics involve firmly attaching the magnet to the multirotor, and thus unperching cannot be executed unless the multirotor’s actuation (i.e. thrust force and torque) are utilized. Moreover, using the multirotor’s thrust force and torque for unperching may lead to overshoots in position and orientation immediately after unperching, potentially resulting in collision with the perching site and surrounding objects if not carefully controlled.

In addition to the above mentioned problems regarding multirotor platform and perching/unperching mechanism, we address two issues that can be encountered during aerial perching and unperching: rotor saturation during perching and overshoot after unperching. As shown in the experimental results of [3], treating motion constraints as disturbance during perching can result in rotor saturation. Although control techniques like disturbance estimator can enhance control performance during free-flight by compensating model uncertainties including near-wall effect and thrust efficiency change, they may result in adverse effect like rotor saturation during perching. Rotor saturation can cause a significant control error, potentially leading to unintended detachment, and should be mitigated.

Only a few previous research have addressed aerial unperching [7, 5, 9], and little attention has been given to reducing undesirable overshoot immediately after unperching. The papers [7, 5, 9] only consider unperching from near-zero roll/pitch angles, and undesirable overshoots in the gravity direction are observed in all papers. Since such overshoot may lead to collisions with the perching site or nearby objects, a more effective method for regulating the motion is needed.

To resolve these problems discussed above, we first present a mechanism capable of both perching and unperching using magnets, specifically designed for application in lightweight, fully actuated multirotors (\approx 1111 kgkg\mathrm{k}\mathrm{g}roman_kg). Additionally, we propose a switching controller and motion strategy to prevent rotor saturation and collision with the perching site during the perching and unperching processes. To the best of the authors’ knowledge, this paper introduces the first autonomous aerial unperching even at 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitch angle from a vertical wall using a fully actuated tiltrotor as shown in Fig. 1. Contribution of this research can be summarized as follows:

  1. 1.

    We propose an aerial robot that is capable of both perching and unperching on a vertical ferromagnetic wall.

  2. 2.

    We suggest a switching controller and a motion strategy to avoid rotor saturation during perching and overshoot during unperching.

  3. 3.

    We validate the proposed framework in experiments of autonomous aerial perching and unperching on/from a vertical surface.

II Hardware design

This section presents a hardware design for a multirotor-based aerial robot capable of both perching and unperching on a vertical ferromagnetic surface. The robot is mainly composed of the following two:

  • a multirotor platform capable of an omnidirectional flight

  • a mechanism for both perching and unperching using magnet

Firstly, to achieve more stable perching and unperching, we developed a lightweight aerial robot capable of hovering at arbitrary orientations. The designed aerial robot, similar to [12] in actuation principle, consists of four rotors and four servomotors where each servomotor independently controls the orientation of its respective rotor. While various fully actuated platforms have been explored, many of them suffer from excessive weight (over 3 kg) [13] or hardware limitations preventing omnidirectional flight [14, 15]. In our study, we have developed a relatively lightweight platform (approximately 1 kg, excluding the battery) capable of hovering at arbitrary attitude. The CAD design and the actual drone can be observed in Figs. 2(a), 3.

Refer to caption
Figure 2: CAD drawings of the tiltrotor (a) and the perching/unperching mechanism (b), (c). The tiltrotor without the perching/unperching mechanism has total of 8888 actuators, including 4444 rotors and 4444 servomotors. The four servomotors rotate the thrust direction of each rotor, enabling full actuation and especially 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitching while hovering. When unperching, a single perching/unperching module shown in the blue-shaded region in (b) and (c) moves only in a tangential direction to the contact surface, thereby suffering less from adhesion induced by magnets.

Next, to maintain stable perching while minimizing the static torque caused by self-weight during perching, it is essential to keep the distance from the drone’s center of mass to the perching site as short as possible. Due to the nature of multirotor drones which require a certain gap between rotors to generate sufficient moment and avoid interference between propellers, the length of the drone in the vertical direction (i.e. z𝑧zitalic_z-axis direction in Fig. 2(a))) can be designed to be much shorter than its length in the forward-backward or lateral directions (i.e. x,y𝑥𝑦x,yitalic_x , italic_y-axes directions in Fig. 2(a)). Based on this observation, we installed the perching/unperching mechanism on the drone’s bottom.

Lastly, as seen in [2, 3], firmly fixing magnets to the drone body has a significant drawback in that once attached, the magnets are difficult to be detached. To address this issue, we propose a perching and unperching mechanism that utilizes magnets in conjunction with a single servo motor, which we refer to as PS (perching & unperching servo) to distinguish it from wrench-generating servomotors (WS) used for the tiltrotor’s actuation. Leveraging the intuition that magnets exert much weaker forces tangentially than in the surface normal direction, we introduce a rotation-based unperching strategy using the servomotor, as illustrated in Fig. 2(c).

We utilized Dynamixel XC330-M288 as a servomotor, weighing approximately 23 g, with a stall torque of 0.93 Nm according to its specifications. Considering the short distance of less than 3 cm from the rotation center of the servo to the magnet, this servo can exert a large tangential force of approximately 30 N, which is sufficient to perform unperching actions when compared to the tiltrotor’s total weight of 1.651.651.651.65 kgkg\mathrm{k}\mathrm{g}roman_kg, including tiltrotor platform, perching/unperching mechanism, and battery. To provide sufficient adhesive force during perching, we configured the hardware with four perching and unperching modules attached to the drone’s bottom surface, as shown in Fig. 2(b).

III Switching controller design

This section presents a switching controller proposed for stable perching and unperching. We control motion during free-flight which corresponds to the flight conditions before perching and after unperching, and we control force during perching considering that motion in all direction is constrained. Then, we suggest a strategy to avoid overshoot and saturation during transition in perching and unperching.

III-A System dynamics

We model system dynamics of the tiltrotor as the following fully actuated rigid body:

𝒑¨¨𝒑\displaystyle\ddot{\bm{p}}over¨ start_ARG bold_italic_p end_ARG =1m𝑹𝒇g𝒃3+𝚫tabsent1𝑚𝑹𝒇𝑔subscript𝒃3subscript𝚫𝑡\displaystyle=\frac{1}{m}\bm{R}\bm{f}-g\bm{b}_{3}+\bm{\Delta}_{t}= divide start_ARG 1 end_ARG start_ARG italic_m end_ARG bold_italic_R bold_italic_f - italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + bold_Δ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (1)
𝑹˙˙𝑹\displaystyle\dot{\bm{R}}over˙ start_ARG bold_italic_R end_ARG =𝑹𝝎absent𝑹superscript𝝎\displaystyle=\bm{R}\bm{\omega}^{\wedge}= bold_italic_R bold_italic_ω start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT
𝝎˙˙𝝎\displaystyle\dot{\bm{\omega}}over˙ start_ARG bold_italic_ω end_ARG =𝑱b1(𝝎×𝑱b𝝎+𝝉)+𝚫rabsentsuperscriptsubscript𝑱𝑏1𝝎subscript𝑱𝑏𝝎𝝉subscript𝚫𝑟\displaystyle=\bm{J}_{b}^{-1}(-\bm{\omega}\times\bm{J}_{b}\bm{\omega}+\bm{\tau% })+\bm{\Delta}_{r}= bold_italic_J start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( - bold_italic_ω × bold_italic_J start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT bold_italic_ω + bold_italic_τ ) + bold_Δ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT

where 𝒃3=[0;0;1]subscript𝒃3001\bm{b}_{3}=[0;0;1]bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = [ 0 ; 0 ; 1 ], and g,m𝑔𝑚g,m\in\mathbb{R}italic_g , italic_m ∈ blackboard_R and 𝑱b3×3subscript𝑱𝑏superscript33\bm{J}_{b}\in\mathbb{R}^{3\times 3}bold_italic_J start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT are gravitational acceleration, total mass and mass moment of inertia of the tiltrotor. 𝒑,𝝎3𝒑𝝎superscript3\bm{p},\bm{\omega}\in\mathbb{R}^{3}bold_italic_p , bold_italic_ω ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT are position measured in the world fixed frame and body angular velocity, and 𝑹𝖲𝖮(3)𝑹𝖲𝖮3\bm{R}\in\mathsf{SO}(3)bold_italic_R ∈ sansserif_SO ( 3 ) is the rotation matrix describing the orientation of the tiltrotor. ()superscript(\cdot)^{\wedge}( ⋅ ) start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT is an operator map** a vector in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT to a skew-symmetric matrix in 3×3superscript33\mathbb{R}^{3\times 3}blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT. Control inputs are 𝒇,𝝉3𝒇𝝉superscript3\bm{f},\bm{\tau}\in\mathbb{R}^{3}bold_italic_f , bold_italic_τ ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, which are forces and torques, and we adopt the control allocation method of [16]. 𝚫t,𝚫r3subscript𝚫𝑡subscript𝚫𝑟superscript3\bm{\Delta}_{t},\bm{\Delta}_{r}\in\mathbb{R}^{3}bold_Δ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , bold_Δ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT are uncertainty in translation and rotation, for example, contact force and model uncertainty in moment of inertia and center of mass. For multirotors flying with onboard batteries, such uncertainty also includes abrupt thrust efficiency change due to the voltage drop of the batteries.

Refer to caption
Figure 3: A prototype of the proposed tiltrotor with the perching/unperching modules.

III-B Free-flight controller

During free-flight, we control motion as follows:

𝒇=𝒇n+𝒇r𝒇n=m𝑹{g𝒃3+𝑲tp𝒆p+𝑲td𝒆˙p+𝒑¨d}𝒇r=𝑹𝚫^t𝒇subscript𝒇𝑛subscript𝒇𝑟subscript𝒇𝑛𝑚superscript𝑹top𝑔subscript𝒃3subscript𝑲𝑡𝑝subscript𝒆𝑝subscript𝑲𝑡𝑑subscript˙𝒆𝑝subscript¨𝒑𝑑subscript𝒇𝑟superscript𝑹topsubscript^𝚫𝑡\displaystyle\begin{split}\bm{f}&=\bm{f}_{n}+\bm{f}_{r}\\ \bm{f}_{n}&=m\bm{R}^{\top}\left\{g\bm{b}_{3}+\bm{K}_{tp}\bm{e}_{p}+\bm{K}_{td}% \dot{\bm{e}}_{p}+\ddot{\bm{p}}_{d}\right\}\\ \bm{f}_{r}&=-\bm{R}^{\top}\hat{\bm{\Delta}}_{t}\end{split}start_ROW start_CELL bold_italic_f end_CELL start_CELL = bold_italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + bold_italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_CELL start_CELL = italic_m bold_italic_R start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT { italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + bold_italic_K start_POSTSUBSCRIPT italic_t italic_p end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT + bold_italic_K start_POSTSUBSCRIPT italic_t italic_d end_POSTSUBSCRIPT over˙ start_ARG bold_italic_e end_ARG start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT + over¨ start_ARG bold_italic_p end_ARG start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT } end_CELL end_ROW start_ROW start_CELL bold_italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_CELL start_CELL = - bold_italic_R start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over^ start_ARG bold_Δ end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_CELL end_ROW (2a)
𝝉=𝑱b(𝑲rp𝒆R+𝑲rd𝒆ω+𝑲ri0t𝒆R𝑑t)𝝉subscript𝑱𝑏subscript𝑲𝑟𝑝subscript𝒆𝑅subscript𝑲𝑟𝑑subscript𝒆𝜔subscript𝑲𝑟𝑖subscriptsuperscript𝑡0subscript𝒆𝑅differential-d𝑡\displaystyle\begin{split}\bm{\tau}&=\bm{J}_{b}\left(\bm{K}_{rp}\bm{e}_{R}+\bm% {K}_{rd}\bm{e}_{\omega}+\bm{K}_{ri}\int^{t}_{0}\bm{e}_{R}dt\right)\end{split}start_ROW start_CELL bold_italic_τ end_CELL start_CELL = bold_italic_J start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ( bold_italic_K start_POSTSUBSCRIPT italic_r italic_p end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT + bold_italic_K start_POSTSUBSCRIPT italic_r italic_d end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT italic_ω end_POSTSUBSCRIPT + bold_italic_K start_POSTSUBSCRIPT italic_r italic_i end_POSTSUBSCRIPT ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_d italic_t ) end_CELL end_ROW (2b)

The error terms are defined as 𝒆p=𝒑d𝒑subscript𝒆𝑝subscript𝒑𝑑𝒑\bm{e}_{p}=\bm{p}_{d}-\bm{p}bold_italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = bold_italic_p start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT - bold_italic_p, 𝒆R=(Log(𝚿))subscript𝒆𝑅superscriptLog𝚿\bm{e}_{R}=(\text{Log}(\bm{\Psi}))^{\vee}bold_italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = ( Log ( bold_Ψ ) ) start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT, 𝒆ω=𝚿𝝎d𝝎subscript𝒆𝜔𝚿subscript𝝎𝑑𝝎\bm{e}_{\omega}=\bm{\Psi}\bm{\omega}_{d}-\bm{\omega}bold_italic_e start_POSTSUBSCRIPT italic_ω end_POSTSUBSCRIPT = bold_Ψ bold_italic_ω start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT - bold_italic_ω with 𝚿=𝑹𝑹d𝚿superscript𝑹topsubscript𝑹𝑑\bm{\Psi}=\bm{R}^{\top}\bm{R}_{d}bold_Ψ = bold_italic_R start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_R start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT. For the error of the rotation matrix, we refer to [17] instead of [18] since the referred one shows faster convergence rate. 𝑲tp,𝑲td,𝑲rp,𝑲rd,𝑲ri3×3subscript𝑲𝑡𝑝subscript𝑲𝑡𝑑subscript𝑲𝑟𝑝subscript𝑲𝑟𝑑subscript𝑲𝑟𝑖superscript33\bm{K}_{tp},\bm{K}_{td},\bm{K}_{rp},\bm{K}_{rd},\bm{K}_{ri}\in\mathbb{R}^{3% \times 3}bold_italic_K start_POSTSUBSCRIPT italic_t italic_p end_POSTSUBSCRIPT , bold_italic_K start_POSTSUBSCRIPT italic_t italic_d end_POSTSUBSCRIPT , bold_italic_K start_POSTSUBSCRIPT italic_r italic_p end_POSTSUBSCRIPT , bold_italic_K start_POSTSUBSCRIPT italic_r italic_d end_POSTSUBSCRIPT , bold_italic_K start_POSTSUBSCRIPT italic_r italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT are positive-definite control gains. 𝚫^t3subscript^𝚫𝑡superscript3\hat{\bm{\Delta}}_{t}\in\mathbb{R}^{3}over^ start_ARG bold_Δ end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT is the estimated value through the following momentum-based disturbance estimator [19]:

𝚫^tsubscript^𝚫𝑡\displaystyle\hat{\bm{\Delta}}_{t}over^ start_ARG bold_Δ end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT =𝑲e{𝒑m𝒑m(0)0t(𝑹𝒇mg𝒃3+𝚫^t)𝑑τ}absentsubscript𝑲𝑒subscript𝒑𝑚subscript𝒑𝑚0subscriptsuperscript𝑡0𝑹𝒇𝑚𝑔subscript𝒃3subscript^𝚫𝑡differential-d𝜏\displaystyle=\bm{K}_{e}\left\{\bm{p}_{m}-\bm{p}_{m}(0)-\int^{t}_{0}(\bm{R}\bm% {f}-mg\bm{b}_{3}+\hat{\bm{\Delta}}_{t})d\tau\right\}= bold_italic_K start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT { bold_italic_p start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT - bold_italic_p start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( 0 ) - ∫ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_R bold_italic_f - italic_m italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + over^ start_ARG bold_Δ end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) italic_d italic_τ } (3)
𝒑msubscript𝒑𝑚\displaystyle\bm{p}_{m}bold_italic_p start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT =m𝒑˙absent𝑚˙𝒑\displaystyle=m\dot{\bm{p}}= italic_m over˙ start_ARG bold_italic_p end_ARG

As can be found in [20, Lemma 1], by taking a large estimator gain 𝑲esubscript𝑲𝑒\bm{K}_{e}bold_italic_K start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT, the estimation error 𝚫t𝚫^tsubscript𝚫𝑡subscript^𝚫𝑡\bm{\Delta}_{t}-\hat{\bm{\Delta}}_{t}bold_Δ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT - over^ start_ARG bold_Δ end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT can be maintained to be sufficiently small for all time.

III-C Perching controller

During perching, motion is completely constrained, and the 6-dimensional control inputs are no longer used to control the drone’s motion. Instead, they are utilized for controlling the forces and torques applied to the perched surface. In this research, depending on the situation, either zero force/torque can be generated (𝒖p=𝟎6subscript𝒖𝑝subscript06\bm{u}_{p}=\bm{0}_{6}bold_italic_u start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = bold_0 start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT), or a force is generated to partially counteract gravity (f=ρmg𝒃3𝑓𝜌𝑚𝑔subscript𝒃3f=\rho mg\bm{b}_{3}italic_f = italic_ρ italic_m italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, ρ(0,1)𝜌01\rho\in(0,1)italic_ρ ∈ ( 0 , 1 )).

III-D Controller during transitions

Refer to caption
(a) The proposed control law.
Refer to caption
(b) The control law without transition modes.
Figure 4: Switching control laws with or without transition modes F2P,P2F𝐹2𝑃𝑃2𝐹F2P,P2Fitalic_F 2 italic_P , italic_P 2 italic_F. 𝒖=𝒖n+𝒖r𝒖subscript𝒖𝑛subscript𝒖𝑟\bm{u}=\bm{u}_{n}+\bm{u}_{r}bold_italic_u = bold_italic_u start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + bold_italic_u start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, 𝒖n=[𝒇n;𝝉]subscript𝒖𝑛subscript𝒇𝑛𝝉\bm{u}_{n}=[\bm{f}_{n};\bm{\tau}]bold_italic_u start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = [ bold_italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ; bold_italic_τ ], 𝒖r=[𝒇r;𝟎3]subscript𝒖𝑟subscript𝒇𝑟subscript03\bm{u}_{r}=[\bm{f}_{r};\bm{0}_{3}]bold_italic_u start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = [ bold_italic_f start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ; bold_0 start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ]

If transition is not considered separately, only two controllers, i.e. the free-flight controller and the perching controller, would compose the switching controller as shown in Fig. 4(b). However, without sufficient consideration for transition, there is a possibility of rotor saturation due to blind application of a motion controller during perching, or excessive overshoot due to discontinuous control inputs immediately after unperching.

To address these issues, we propose a separate controller in between the free-flight controller and the perching controller, as depicted in Figure 4(a). Here, μcsubscript𝜇𝑐\mu_{c}italic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT represents the mode of the switching controller, with μc=Fsubscript𝜇𝑐𝐹\mu_{c}=Fitalic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_F for free-flight mode, μc=Psubscript𝜇𝑐𝑃\mu_{c}=Pitalic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_P for perching mode, and μc=F2P,P2Fsubscript𝜇𝑐𝐹2𝑃𝑃2𝐹\mu_{c}=F2P,P2Fitalic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_F 2 italic_P , italic_P 2 italic_F for the transition phases. As seen in the block where μc=F2P,P2Fsubscript𝜇𝑐𝐹2𝑃𝑃2𝐹\mu_{c}=F2P,P2Fitalic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_F 2 italic_P , italic_P 2 italic_F in Fig. 4(a), the algorithm for disturbance estimation is frozen during all the transition phases, allowing only the nominal controller (N Controller in Fig. 4(a), and 𝒇n,𝝉subscript𝒇𝑛𝝉\bm{f}_{n},\bm{\tau}bold_italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , bold_italic_τ in (2a)) to operate. Freezing the disturbance estimator during the transition prevents rotor saturation for not considering motion constraints as disturbance, and activating the nominal controller instead of the perching controller during μc=P2Fsubscript𝜇𝑐𝑃2𝐹\mu_{c}=P2Fitalic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_P 2 italic_F reduces discontinuity when transitioning to the free-flight controller.

The switching signals among control modes are defined using the contact force in the surface-normal direction λcsubscript𝜆𝑐\lambda_{c}\in\mathbb{R}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ∈ blackboard_R and operator inputs Sf2p,Sp2f{0,1}subscript𝑆𝑓2𝑝subscript𝑆𝑝2𝑓01S_{f2p},S_{p2f}\in\{0,1\}italic_S start_POSTSUBSCRIPT italic_f 2 italic_p end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_p 2 italic_f end_POSTSUBSCRIPT ∈ { 0 , 1 }. The triggers for transitioning from free-flight to perching and vice versa are assumed to be provided by a human operator. Since it is challenging to precisely determine when perching is successfully achieved, λcsubscript𝜆𝑐\lambda_{c}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is used to determine the occurrence of perching. If λcsubscript𝜆𝑐\lambda_{c}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is greater than the threshold λf2psubscript𝜆𝑓2𝑝\lambda_{f2p}italic_λ start_POSTSUBSCRIPT italic_f 2 italic_p end_POSTSUBSCRIPT, it is deemed that perching has been successfully achieved, and the control mode is switched to perching. Conversely, if λcsubscript𝜆𝑐\lambda_{c}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT decreases below the threshold λp2fsubscript𝜆𝑝2𝑓\lambda_{p2f}italic_λ start_POSTSUBSCRIPT italic_p 2 italic_f end_POSTSUBSCRIPT while in a perching phase, it is considered that the system is ready to transit to free-flight, and the control mode is switched to free-flight. This switching law is illustrated in Fig. 4(a).

IV Perching & unperching strategy

IV-A Perching & unperching signal generation sequence

Refer to caption
Figure 5: A timeline showing the perching and unperching timings ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT with respect to switching signals of the switching controller. μcsubscript𝜇𝑐\mu_{c}italic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is the controller mode and μ𝜇\muitalic_μ is actual status of either perching P𝑃Pitalic_P or free-flight F𝐹Fitalic_F.

In the proposed perching/unperching mechanism, as seen in Fig. 2(c), perching or unperching is achieved by adjusting the angles of the servomotors PS, to which the magnets are attached (ηd=ηperchsubscript𝜂𝑑subscript𝜂𝑝𝑒𝑟𝑐\eta_{d}=\eta_{perch}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = italic_η start_POSTSUBSCRIPT italic_p italic_e italic_r italic_c italic_h end_POSTSUBSCRIPT for perching and ηd=ηunperchsubscript𝜂𝑑subscript𝜂𝑢𝑛𝑝𝑒𝑟𝑐\eta_{d}=\eta_{unperch}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = italic_η start_POSTSUBSCRIPT italic_u italic_n italic_p italic_e italic_r italic_c italic_h end_POSTSUBSCRIPT for unperching). It is crucial to determine when to activate the perching/unperching signal ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT during the controller mode transition. If ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT is set to ηperchsubscript𝜂𝑝𝑒𝑟𝑐\eta_{perch}italic_η start_POSTSUBSCRIPT italic_p italic_e italic_r italic_c italic_h end_POSTSUBSCRIPT too late during the transition from free-flight to perching, the PSs may move too close to the contact surface, potentially causing collision as they move. Conversely, if ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT is switched to ηunperchsubscript𝜂𝑢𝑛𝑝𝑒𝑟𝑐\eta_{unperch}italic_η start_POSTSUBSCRIPT italic_u italic_n italic_p italic_e italic_r italic_c italic_h end_POSTSUBSCRIPT too early during the transition from perching to free-flight, the actuators, especially wrench-generating servos (WS), may experience large discontinuity in control inputs. This may cause significant overshoot as WS cannot follow the change quickly enough. This overshoot may lead to collision with the contact surface. To address these issues, we introduce the perching/unperching signal ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT for the mechanism immediately after the controller mode μcsubscript𝜇𝑐\mu_{c}italic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT switches from F𝐹Fitalic_F to F2P𝐹2𝑃F2Pitalic_F 2 italic_P during the transition, as shown in Fig. 5. Additionally, when transitioning from perching to free-flight, ηdsubscript𝜂𝑑\eta_{d}italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT is activated for unperching immediately after μcsubscript𝜇𝑐\mu_{c}italic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT switches from P2F𝑃2𝐹P2Fitalic_P 2 italic_F to F𝐹Fitalic_F.

IV-B Motion planning

Refer to caption
Figure 6: A setpoint generation strategy. A setpoint inside the contact surface as depicted in \footnotesize3⃝ is generated to ensure perching, and that apart from the contact surface as in \footnotesize2⃝ is given to avoid collision with the perching site during unperching.

To minimize the static torque caused by the distance from the contact surface to the center of gravity during perching, a strategy to perch in a 90-degree tilted configuration is adopted. Furthermore, for perching and unperching, a trajectory was planned by first setting pose setpoints, as shown in Fig. 6 as \small1⃝, \small2⃝, and \small3⃝, and smoothly connecting them. For perching, the setpoint sequence starts with the initial configuration \small1⃝ and progresses as \small1⃝ \rightarrow \small2⃝ \rightarrow \small3⃝, while for unperching, the sequence is set in the reverse order.

When performing perching, a setpoint is placed slightly behind the actual perching site, as shown in Fig. 6 \small3⃝. This is to prevent failures in perching due to measurement errors and control performance errors. Additionally, when unperching, a setpoint is placed slightly away from the perching site in the surface normal direction, as seen in \small2⃝. This reduces the net attraction force that must be overcome during unperching and also allows to avoid collision with the perching site immediately after unperching. Trajectory generation between setpoints was done using the method from [21], where minimum jerk and acceleration trajectories in translation and rotation directions respectively were computed in a closed-form when given initial and terminal conditions.

V Experiments

V-A Setup

Refer to caption
Figure 7: A flow chart showing signal flow during experiments.

The hardware that we built is shown in Fig. 3. To actuate the tiltrotor, we used 6-inch propellers with Armattan rotors and controlled the rotor’s tilt angle using Dynamixel XC330-M288 servomotors. The magnet-based perching and unperching mechanism also used the same servomotors. For magnets, we used four cylindrical neodymium magnets with the diameter of 30303030 mmmm\mathrm{m}\mathrm{m}roman_mm and the height of 4444 mmmm\mathrm{m}\mathrm{m}roman_mm. We used a 400400400400 gg\mathrm{g}roman_g 4444S 4200420042004200mAh battery as the power source. Excluding the battery and perching/unperching mechanism, the weight of the tiltrotor itself was approximately 1kg, and the perching and unperching mechanism weighed around 250g. The total weight of the proposed perching/unperching-capable tiltrotor was 1.651.651.651.65 kgkg\mathrm{k}\mathrm{g}roman_kg.

In Fig. 7, we represented the signal flow among algorithms used during experiments. The ground control station (GCS) operated by a human operator makes decisions about whether to perch or unperch (Sf2psubscript𝑆𝑓2𝑝S_{f2p}italic_S start_POSTSUBSCRIPT italic_f 2 italic_p end_POSTSUBSCRIPT, Sp2fsubscript𝑆𝑝2𝑓S_{p2f}italic_S start_POSTSUBSCRIPT italic_p 2 italic_f end_POSTSUBSCRIPT). The contact force information used for mode switches between controllers is calculated through a contact force estimator [19]. The motion planner generates trajectories based on the controller’s mode μcsubscript𝜇𝑐\mu_{c}italic_μ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and environmental information (xesubscript𝑥𝑒x_{e}italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT) such as the pose of the perching site. For localization, we fused information from the MicroStrain IMU and the motion capture system, Optitrack, to calculate the tiltrotor’s odometry at 400 Hz. All algorithms except for the GCS were executed on an onboard Intel NUC computer. We used Ubuntu 20.04 and ROS for software support.

In this study, we conducted perching and unperching experiments on a ferromagnetic vertical wall to validate the feasibility of the proposed mechanism and controller. We also conducted comparative experiments to demonstrate the superiority of the proposed control method when not applied.

V-B Results

V-B1 Without the proposed method

In this study, we conducted experiments on cases without the P2F𝑃2𝐹P2Fitalic_P 2 italic_F mode among the proposed techniques to confirm the necessity of the proposed P2F𝑃2𝐹P2Fitalic_P 2 italic_F controller. In cases without the P2F𝑃2𝐹P2Fitalic_P 2 italic_F mode, as shown in Fig. 4(b), the system transitions directly from the P𝑃Pitalic_P mode to the F𝐹Fitalic_F mode. We experimented with two scenarios: 1) when 𝒇=𝟎3𝒇subscript03\bm{f}=\bm{0}_{3}bold_italic_f = bold_0 start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and 𝝉=𝟎3𝝉subscript03\bm{\tau}=\bm{0}_{3}bold_italic_τ = bold_0 start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT in the P𝑃Pitalic_P mode, and 2) when 𝒇=0.5mg𝒃3𝒇0.5𝑚𝑔subscript𝒃3\bm{f}=0.5mg\bm{b}_{3}bold_italic_f = 0.5 italic_m italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and 𝝉=𝟎3𝝉subscript03\bm{\tau}=\bm{0}_{3}bold_italic_τ = bold_0 start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT in the P𝑃Pitalic_P mode. The experimental results can be observed in Figs. 8 and 9. To comply with page limits, we display only the x and z directional positions and pitch angle, along with the magnitude of orientation errors eRdelimited-∥∥subscript𝑒𝑅\lVert e_{R}\rVert∥ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∥, showing the most pronounced changes during the experiments.

Refer to caption
Figure 8: The first experimental results without the proposed method showing a time history of position p𝑝pitalic_p, pitch angle ϕ2subscriptitalic-ϕ2\phi_{2}italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and orientation error eRdelimited-∥∥subscript𝑒𝑅\lVert e_{R}\rVert∥ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∥. The shaded regions indicate the controller mode during that period. The captured images show the tiltrotor’s status during corresponding periods (a), (b), and (c) in the graph.

The results of the first case can be seen in Fig. 8. As shown in (c), there was a sudden drop in the downward direction immediately after unperching, which posed a risk of collision with the ground. To prevent this, the controller was forcibly turned off, and a safety rope was activated. The graphs represent the values only before pulling the safety rope. As anticipated, the abrupt transition from the P𝑃Pitalic_P mode to the F𝐹Fitalic_F mode resulted in a significant jump in control inputs, especially because the WS𝑊𝑆WSitalic_W italic_S did not track it rapidly enough, leading to a substantial overshoot.

Refer to caption
Figure 9: The second experimental results without the proposed method showing a time history of position p𝑝pitalic_p, pitch angle ϕ2subscriptitalic-ϕ2\phi_{2}italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and orientation error eRdelimited-∥∥subscript𝑒𝑅\lVert e_{R}\rVert∥ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∥. The shaded regions indicate the controller mode during that period. The captured images show the tiltrotor’s status during corresponding periods (a), (b), and (c) in the graph.

The results of the second case, where control inputs in the P𝑃Pitalic_P mode were set to 𝒇=0.5mg𝒃3𝒇0.5𝑚𝑔subscript𝒃3\bm{f}=0.5mg\bm{b}_{3}bold_italic_f = 0.5 italic_m italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, can be found in Fig. 9. In this case, since WS𝑊𝑆WSitalic_W italic_S were already oriented to offset gravity in the P𝑃Pitalic_P mode, the transition from the P𝑃Pitalic_P mode to the F𝐹Fitalic_F mode did not result in significant changes in the servomotor angles, causing small overshoot in the z-axis direction. However, unlike the previous P2F𝑃2𝐹P2Fitalic_P 2 italic_F mode where setpoints were provided in the detachment direction and a motion controller was active to follow them, in this case, the motion controller was not activated during perching. Therefore, control inputs for detaching were not generated in advance, and collision with the perching site immediately after unperching occurred, as shown in Fig. 9(b).

V-B2 With the proposed method

Refer to caption
Figure 10: Experimental results with the proposed method showing a time history of position p𝑝pitalic_p, pitch angle ϕ2subscriptitalic-ϕ2\phi_{2}italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, orientation error eRdelimited-∥∥subscript𝑒𝑅\lVert e_{R}\rVert∥ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∥, PWM, and estimated contact force λcsubscript𝜆𝑐\lambda_{c}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT. The shaded regions indicate a controller mode during that period.

To validate the proposed method, we conducted perching and unperching experiments on a virtual wall with a ferromagnetic surface. Information about the perching site was obtained using Optitrack. The scenario of this experiment is as follows: (1) hover at 0 degrees roll and pitch, (2) transit to a 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitch angle, (3) approach the vertical wall and perch, (4) maintain perching for a while, and (5) unperch and finally return to a stationary hover. The result of this experiment can be seen in Fig. 1, and more detailed information can be found in the attached video. Since this experiment was conducted to validate perching and unperching capabilities, we only aimed to maintain the perch during perching. Further research on interaction control after perching is considered as future work. To assist in maintaining the perch during perching, we set 𝒇=0.5mg𝒃3𝒇0.5𝑚𝑔subscript𝒃3\bm{f}=0.5mg\bm{b}_{3}bold_italic_f = 0.5 italic_m italic_g bold_italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and 𝝉=𝟎3𝝉subscript03\bm{\tau}=\bm{0}_{3}bold_italic_τ = bold_0 start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT.

Data collected during the experiment, including position p𝑝pitalic_p, pitch angle ϕ2subscriptitalic-ϕ2\phi_{2}italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, magnitude of the orientation error eRdelimited-∥∥subscript𝑒𝑅\lVert e_{R}\rVert∥ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∥, PWM, and estimated contact force λcsubscript𝜆𝑐\lambda_{c}italic_λ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, can be seen in Fig. 10. In the top two figures, the solid lines represent measurement data, while dashed lines represent the desired trajectory of the corresponding solid lines in the same color. Contact force estimation was not active during free flight, so data was measured only during the modes other than free flight. The shaded regions indicate the controller’s mode, where white, red, black, and blue correspond to F𝐹Fitalic_F, F2P𝐹2𝑃F2Pitalic_F 2 italic_P, P𝑃Pitalic_P, and P2F𝑃2𝐹P2Fitalic_P 2 italic_F respectively, as indicated in the top right of the figure.

VI Conclusion

In this paper, we proposed an aerial robot design capable of in-flight perching and unperching, along with a switching controller tailored for these tasks. First, we developed a lightweight, fully actuated tiltrotor capable of hovering even at 90superscript9090^{\circ}90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT pitching to perform stable perching and unperching on vertical walls, and designed a perching/unperching module. The switching control law was devised to address challenges such as rotor saturation during perching and excessive overshoot immediately after unperching. Moreover, we proposed a simple yet effective strategy to ensure robust perching execution in the presence of measurement and control errors and avoid collisions with the perching site after unperching. We validated our proposed methods through real-world experiments, successfully demonstrating stable in-flight perching and unperching maneuvers. Additionally, an ablation study involving one of the proposed switching control modes confirmed effectiveness of the proposed switching controller in reducing overshoot. Future work will involve analyses and comparative experiments in a wider range of settings to further evaluate our proposed methodologies.

References

  • [1] J. Mao, S. Nogar, C. M. Kroninger, and G. Loianno, “Robust active visual perching with quadrotors on inclined surfaces,” IEEE Transactions on Robotics, 2023.
  • [2] J. Ji, T. Yang, C. Xu, and F. Gao, “Real-time trajectory planning for aerial perching,” in 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2022, pp. 10 516–10 522.
  • [3] D. Lee, S. Hwang, C. Kim, S. J. Lee, and H. J. Kim, “Minimally actuated tiltrotor for perching and normal force exertion,” in 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2023, pp. 5027–5033.
  • [4] S. Liu, Z. Wang, X. Sheng, and W. Dong, “Hitchhiker: A quadrotor aggressively perching on a moving inclined surface using compliant suction cup gripper,” IEEE Transactions on Automation Science and Engineering, 2023.
  • [5] K. Yanagimura, K. Ohno, Y. Okada, E. Takeuchi, and S. Tadokoro, “Hovering of mav by using magnetic adhesion and winch mechanisms,” in 2014 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2014, pp. 6250–6257.
  • [6] S. Liu, W. Dong, Z. Ma, and X. Sheng, “Adaptive aerial gras** and perching with dual elasticity combined suction cup,” IEEE Robotics and Automation Letters, vol. 5, no. 3, pp. 4766–4773, 2020.
  • [7] H. Zhang, E. Lerner, B. Cheng, and J. Zhao, “Compliant bistable grippers enable passive perching for micro aerial vehicles,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 5, pp. 2316–2326, 2021.
  • [8] S. Park, D. S. Drew, S. Follmer, and J. Rivas-Davila, “Lightweight high voltage generator for untethered electroadhesive perching of micro air vehicles,” IEEE Robotics and Automation Letters, vol. 5, no. 3, pp. 4485–4492, 2020.
  • [9] H. Tsukagoshi, M. Watanabe, T. Hamada, D. Ashlih, and R. Iizuka, “Aerial manipulator with perching and door-opening capability,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 4663–4668.
  • [10] P. Yu, G. Chamitoff, and K. Wong, “Perching upside down with bi-directional thrust quadrotor,” in 2020 International Conference on Unmanned Aircraft Systems (ICUAS).   IEEE, 2020, pp. 1697–1703.
  • [11] W. R. Roderick, M. R. Cutkosky, and D. Lentink, “Bird-inspired dynamic gras** and perching in arboreal environments,” Science Robotics, vol. 6, no. 61, p. eabj7562, 2021.
  • [12] M. Ryll, H. H. Bülthoff, and P. R. Giordano, “A novel overactuated quadrotor unmanned aerial vehicle: Modeling, control, and experimental validation,” IEEE Trans. Control Syst. Technol., vol. 23, no. 2, pp. 540–556, 2015.
  • [13] M. Allenspach, K. Bodie, M. Brunner, L. Rinsoz, Z. Taylor, M. Kamel, R. Siegwart, and J. Nieto, “Design and optimal control of a tiltrotor micro-aerial vehicle for efficient omnidirectional flight,” Int. J. Rob. Res., vol. 39, no. 10-11, pp. 1305–1325, 2020.
  • [14] P. Zheng, X. Tan, B. B. Kocer, E. Yang, and M. Kovac, “Tiltdrone: A fully-actuated tilting quadrotor platform,” IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 6845–6852, 2020.
  • [15] S. J. Lee, D. Lee, J. Kim, D. Kim, I. Jang, and H. J. Kim, “Fully actuated autonomous flight of thruster-tilting multirotor,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 2, pp. 765–776, 2021.
  • [16] M. Kamel, S. Verling, O. Elkhatib, C. Sprecher, P. Wulkop, Z. Taylor, R. Siegwart, and I. Gilitschenski, “The voliro omniorientational hexacopter: An agile and maneuverable tiltable-rotor aerial vehicle,” IEEE Robotics & Automation Magazine, vol. 25, no. 4, pp. 34–44, 2018.
  • [17] Y. Yu and X. Ding, “A global tracking controller for underactuated aerial vehicles: design, analysis, and experimental tests on quadrotor,” IEEE/ASME Transactions on Mechatronics, vol. 21, no. 5, pp. 2499–2511, 2016.
  • [18] T. Lee, M. Leok, and N. H. McClamroch, “Geometric tracking control of a quadrotor uav on se (3),” in 49th IEEE conference on decision and control (CDC).   IEEE, 2010, pp. 5420–5425.
  • [19] 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.
  • [20] A. Alan, T. G. Molnar, E. Daş, A. D. Ames, and G. Orosz, “Disturbance observers for robust safety-critical control with control barrier functions,” IEEE Control Systems Letters, vol. 7, pp. 1123–1128, 2022.
  • [21] D. Brescianini and R. D’Andrea, “Computationally efficient trajectory generation for fully actuated multirotor vehicles,” IEEE Transactions on Robotics, vol. 34, no. 3, pp. 555–571, 2018.