License: arXiv.org perpetual non-exclusive license
arXiv:2312.05110v1 [cs.RO] 08 Dec 2023
MAV
Micro Aerial Vehicle
DOF
Degrees of freedom
OMAV
Omnidirectional Micro Aerial Vehicle
UAV
Uncrewed Aerial Vehicle
CoG
Center of Gravity
IMU
Inertial Measurement Unit
VTOL
vertical take-off and landing
\tocauthor

Michael Pantic, Elias Hampp, Ramon Flammer, Weixuan Zhang, Thomas Stastny, Lionel Ott, Roland Siegwart 11institutetext: Autonomous Systems Lab, ETH Zürich, Switzerland

Soliro - a hybrid dynamic tilt-wing aerial manipulator with minimal actuators

Michael Pantic    Elias Hampp    Ramon Flammer    Weixuan Zhang    Thomas Stastny    Lionel Ott    Roland Siegwart
Abstract

The ability to enter in contact with and manipulate physical objects with a flying robot enables many novel applications, such as contact inspection, painting, drilling, and sample collection. Generally, these aerial robots need more degrees of freedom than a standard quadrotor. While there is active research of over-actuated, omnidirectional MAVs and aerial manipulators as well as VTOL and hybrid platforms, the two concepts have not been combined. We address the problem of conceptualization, characterization, control, and testing of a 5DOF rotary-/fixed-wing hybrid, tilt-rotor, split tilt-wing, nearly omnidirectional aerial robot. We present an elegant solution with a minimal set of actuators and that does not need any classical control surfaces or flaps. The concept is validated in a wind tunnel study and in multiple flights with forward and backward transitions. Fixed-wing flight speeds up to 10 m/s were reached, with a power reduction of 30% as compared to rotary wing flight.

1 Introduction

Aerial robots capable of manipulation are a useful tool for work at height or in otherwise inaccessible locations. Versatile and stable aerial manipulation is impractical to perform with underactuated, regular Micro Aerial Vehicles, due to their attitude and velocity coupling. Omni-directional aerial robots overcome this limitation for 5 and 6 Degrees of freedom (DOF) flight, however are subject to the same efficiency and range limitations as all other rotary-wing MAVs. While hybrid, vertical take-off and landing (VTOL) systems address these limitations for regular MAVs, no equivalent concept has been shown for (nearly) omni-directional systems. In this paper, we present a novel tilt-wing aerial robot named Soliro, capable of both range-efficient forward flight and nearly-omnidirectional (5 DOF) flight without additional actuators compared to its rotary-wing version.
In this work, we address the problem of conceptualization, characterisation, control, and testing of a hybrid, tilt-rotor111Note the different use of the term ”tilt-rotor” in the two fields - in VTOL literature they are only used for transitioning, whereas in aerial manipulation tilt-rotors are used for generic thrust vectoring., tilt-wing, aerial robot. While both flight modes, over-actuated rotary-wing flight and forward fixed-wing flight, differ significantly in actuation and dynamics, we present an elegant solution with a minimal set of actuators that are all used in both flight modes, and allow seamless transition between the flight modes. We contribute the wing design and aerodynamic model identification, unifying control strategy, and experimental verification for a hybrid thrust-vectoring aerial manipulator. Compared to classical tilt-wing hybrids, the presented approach uses the tilt mechanism as a full-speed actuator rather than a slow transition between modes – effectively blending fixed-wing and overactuated rotary-wing flight. In this work, we concentrate on the fixed-wing and transitioning aspects of Soliro.

Refer to caption
(a) Actuation and system overview. Green ζL,Rsubscript𝜁𝐿𝑅\zeta_{L,R}italic_ζ start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT are the arm/wing rotation axes, red TL,R,Tsubscript𝑇𝐿𝑅𝑇T_{L,R,T}italic_T start_POSTSUBSCRIPT italic_L , italic_R , italic_T end_POSTSUBSCRIPT are the propeller thrust, and yellow βL,Rsubscript𝛽𝐿𝑅\beta_{L,R}italic_β start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT the rotor-tilt servos for side-ways translation. βL,Rsubscript𝛽𝐿𝑅\beta_{L,R}italic_β start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT is not used for fixed-wing flight.
Refer to caption
(b) Wing CAD model. (1) Main spar, (2) NACA 0012 rib, (3) NACA 0029 rib, (4) Supporting spar, (5) Leading edge, (6) Trailing edge, (7) Wingtip, (8) Motor spacer, (9) & (10) Skin guidance.

Related Work

Tilt-wing, tilt-rotor, and transitional quad-copter systems are common concepts used in VTOL capable hybrid aerial vehicles [1]. Typical tilt-wing systems [2] use a slow actuator to change the angle of incidence between the wing and fuselage for transition, and classical flight controls in fixed-wing mode. In most of the VTOL literature, the focus lies in alleviating the need for runways and adding hover abilities to fixed-wing vehicles [3], or to extend the flight range of rotary-wing MAVs. Simultaneously, rotary-wing aerial manipulation using thrust vectoring with tilt rotors and over-actuated systems have been an active research topic in the last years. Most of these systems either use tilt-able rotors [4, 5] or fixed-mounted rotors in non-orthogonal directions [6, 7] to achieve the necessary force and torque envelopes. However, the two research streams of VTOL hybrids and omni-directional MAV have not been combined so far.

2 Technical Approach

We use the previously existing 5-DOF tilt-rotor Voliro Tricopter as the base for hardware development [8]. It consists of two arms that provide 2D thrust vectoring each, and a reversible tail rotor. Each arm can be turned independently (ζL,R)subscript𝜁𝐿𝑅(\zeta_{L,R})( italic_ζ start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT ), and each motor can be tilted sideways (βL,R)subscript𝛽𝐿𝑅(\beta_{L,R})( italic_β start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT ). This enables free movement in 5 DOF (3D position, pitch, and yaw). Figure 0(a) shows the platform and its degrees of freedom. To convert this platform into a fixed-wing flight capable robot, we developed a novel wing and actuation design, together with a completely new controller capable of handling all flight states. In this chapter, we present the wing design, system identification, and the control approach used.

2.1 Wing design

Re-using the existing arm-tilting servos (ζL,R)subscript𝜁𝐿𝑅(\zeta_{L,R})( italic_ζ start_POSTSUBSCRIPT italic_L , italic_R end_POSTSUBSCRIPT ) for wing tilt was a major design goal. The wing has to accommodate the existing propulsion system and mechanics, and has to be symmetrical to avoid undesired longitudinal lift in rotary-wing flight. Its size should be small enough to not hinder manipulation. We investigated a range of symmetric NACA profiles[9] in an optimization study, where for every combination of wingspan and chord length the optimal incident angles for range and endurance were determined, and subsequently the required flight velocity and rotor thrust was calculated. Finally, a NACA0012 wing with wingspan 1.5 m, chord length 0.26 m and aspect ratio 5.77 was chosen, with NACA0029 rotor nacelles. Figure 0(b) shows a CAD rendering of the wing, which is manufactured using the classic rag-and-tube method. We used carbon fiber spars, with wooden laser-cut ribs and Oratex fabric covering.

2.2 Actuation design

Careful analysis of a many design variants revealed that all body axes (yaw, pitch, roll) needed for fixed-wing flight can be controlled without additional actuators as compared to the pre-existing Tri-copter, completely avoiding the need for traditional flight control surfaces. We control yaw by differential thrust, and roll by differential wing tilt. Augmented pitch control is achieved through an active controller that uses the tail rotor with a reversible propeller as its actuator.

2.3 Model identification

We model the complete influence of the wings as a grey-box model that is calibrated using wind tunnel data in a non-linear least-squares fit. The overall model roughly follows the airfoil model from [10], where, depending on the angle-of-attack, a flat-plate model is used in stall conditions and a regular airfoil model is used for non-stall conditions. As the wing consists of two different profiles, we use a segment-wise mixture of the corresponding models. Compared to a conventional airplane, Soliro has a much higher propeller diameter to wingspan ratio. Therefore, a large part of the wing lies within the down wash of the propeller, which affects airspeed over that segment of the wing. After the first outdoor flights, we augmented the model to consider these effects. We calculate the effective corrected air velocity component over the wing, vz,wing,tot=vz,wing2+4TπρD2subscript𝑣𝑧𝑤𝑖𝑛𝑔𝑡𝑜𝑡superscriptsubscript𝑣𝑧𝑤𝑖𝑛𝑔24𝑇𝜋𝜌superscript𝐷2v_{z,wing,tot}=\sqrt{v_{z,wing}^{2}+\frac{4T}{\pi\rho D^{2}}}italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g , italic_t italic_o italic_t end_POSTSUBSCRIPT = square-root start_ARG italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + divide start_ARG 4 italic_T end_ARG start_ARG italic_π italic_ρ italic_D start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG end_ARG, where vz,wingsubscript𝑣𝑧𝑤𝑖𝑛𝑔v_{z,wing}italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT is the regular airspeed component parallel to the chord line, ρ𝜌\rhoitalic_ρ the air density, T𝑇Titalic_T the propeller thrust, and D𝐷Ditalic_D the propeller diameter. The effective angle of attack is then calculated as αeffective=atan2(vx,wing,vz,wing,tot)subscript𝛼𝑒𝑓𝑓𝑒𝑐𝑡𝑖𝑣𝑒𝑎𝑡𝑎𝑛2subscript𝑣𝑥𝑤𝑖𝑛𝑔subscript𝑣𝑧𝑤𝑖𝑛𝑔𝑡𝑜𝑡\alpha_{effective}=atan2(v_{x,wing},v_{z,wing,tot})italic_α start_POSTSUBSCRIPT italic_e italic_f italic_f italic_e italic_c italic_t italic_i italic_v italic_e end_POSTSUBSCRIPT = italic_a italic_t italic_a italic_n 2 ( italic_v start_POSTSUBSCRIPT italic_x , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g , italic_t italic_o italic_t end_POSTSUBSCRIPT ), with vx,wingsubscript𝑣𝑥𝑤𝑖𝑛𝑔v_{x,wing}italic_v start_POSTSUBSCRIPT italic_x , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT being the perpendicular air speed component to vz,wingsubscript𝑣𝑧𝑤𝑖𝑛𝑔v_{z,wing}italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT, and the total corrected air velocity as vz,wing,tot2+vx,wing2superscriptsubscript𝑣𝑧𝑤𝑖𝑛𝑔𝑡𝑜𝑡2superscriptsubscript𝑣𝑥𝑤𝑖𝑛𝑔2\sqrt{v_{z,wing,tot}^{2}+v_{x,wing}^{2}}square-root start_ARG italic_v start_POSTSUBSCRIPT italic_z , italic_w italic_i italic_n italic_g , italic_t italic_o italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_v start_POSTSUBSCRIPT italic_x , italic_w italic_i italic_n italic_g end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG. These quantities are then used to calculate the effective lift for the segments affected by prop wash, which lie within D2𝐷2\frac{D}{\sqrt{2}}divide start_ARG italic_D end_ARG start_ARG square-root start_ARG 2 end_ARG end_ARG of the propeller axis.

2.4 Control architecture

The control architecture of Soliro centers around a unified control allocation scheme, which is valid throughout the complete flight envelope. The unified allocation outputs the setpoints for all actuators (motors thrusts Trsubscript𝑇𝑟T_{r}italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, Tlsubscript𝑇𝑙T_{l}italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, Ttsubscript𝑇𝑡T_{t}italic_T start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and wing tilts ζrsubscript𝜁𝑟\zeta_{r}italic_ζ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, ζlsubscript𝜁𝑙\zeta_{l}italic_ζ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT) based on the desired body torques τrollsubscript𝜏𝑟𝑜𝑙𝑙\tau_{roll}italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT, τpitchsubscript𝜏𝑝𝑖𝑡𝑐\tau_{pitch}italic_τ start_POSTSUBSCRIPT italic_p italic_i italic_t italic_c italic_h end_POSTSUBSCRIPT, τyawsubscript𝜏𝑦𝑎𝑤\tau_{yaw}italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT, overall thrust Tcolsubscript𝑇𝑐𝑜𝑙T_{col}italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT, and overall wing tilt χ𝜒\chiitalic_χ.

ptUnifiedControlAllocationptThrust to PWMControl AllocationVbatsubscript𝑉𝑏𝑎𝑡V_{bat}italic_V start_POSTSUBSCRIPT italic_b italic_a italic_t end_POSTSUBSCRIPTInner LoopptAttitudeControllerptf(χ)+az+mg𝑓𝜒subscript𝑎𝑧𝑚𝑔f(\chi)+a_{z}+mgitalic_f ( italic_χ ) + italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT + italic_m italic_gPptRateControllerPID𝝎spsubscript𝝎𝑠𝑝\bm{\omega}_{sp}bold_italic_ω start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPT𝝉spsubscript𝝉𝑠𝑝\bm{\tau}_{sp}bold_italic_τ start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPTTr,Tl,Ttsubscript𝑇𝑟subscript𝑇𝑙subscript𝑇𝑡T_{r},T_{l},T_{t}italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPTζr,ζlsubscript𝜁𝑟subscript𝜁𝑙\zeta_{r},\zeta_{l}italic_ζ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_ζ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPTχ𝜒\chiitalic_χTcolsubscript𝑇𝑐𝑜𝑙T_{col}italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT𝒒superscriptsubscript𝒒\bm{q}_{\mathcal{I}\mathcal{B}}^{\prime}bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPTazsubscript𝑎𝑧a_{z}italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPTRefer to captionPWM200Hz200𝐻𝑧200Hz200 italic_H italic_zψ˙ffsubscript˙𝜓𝑓𝑓\dot{\psi}_{ff}over˙ start_ARG italic_ψ end_ARG start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT
Figure 1: The complete low-level control and allocation model of Soliro. The inputs are the desired wing overall wing tilt χ𝜒\chiitalic_χ, vertical acceleration azsubscript𝑎𝑧a_{z}italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT, desired attitude 𝒒superscriptsubscript𝒒\bm{q}_{\mathcal{I}\mathcal{B}}^{\prime}bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

The high-level controller or the user can select χ𝜒\chiitalic_χ freely to continuously choose between fixed-wing and rotary-wing flight. Figure 1 gives an overview of the low-level controller architecture of Soliro.

2.5 Unified Allocation

We obtain the unified allocation by modeling the aerodynamic and propulsion forces and torques acting on each body axis as a function of the system state, and then solving for the actuator outputs.

𝒙𝒙\bm{x}bold_italic_x𝒚𝒚\bm{y}bold_italic_y𝒛𝒛\bm{z}bold_italic_z𝝉rollsubscript𝝉𝑟𝑜𝑙𝑙\bm{\tau}_{roll}bold_italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT𝝉pitchsubscript𝝉𝑝𝑖𝑡𝑐\bm{\tau}_{pitch}bold_italic_τ start_POSTSUBSCRIPT italic_p italic_i italic_t italic_c italic_h end_POSTSUBSCRIPT𝝉yawsubscript𝝉𝑦𝑎𝑤\bm{\tau}_{yaw}bold_italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT𝒮𝒮\mathcal{S}caligraphic_S\mathcal{B}caligraphic_B𝝉aerosubscript𝝉𝑎𝑒𝑟𝑜\bm{\tau}_{aero}bold_italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT𝑻lsubscript𝑻𝑙\bm{T}_{l}bold_italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT𝑻rsubscript𝑻𝑟\bm{T}_{r}bold_italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPTχ𝜒\chiitalic_χχ𝜒\chiitalic_χζlsubscript𝜁𝑙\zeta_{l}italic_ζ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPTζrsubscript𝜁𝑟\zeta_{r}italic_ζ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPTϵitalic-ϵ\epsilonitalic_ϵϵitalic-ϵ\epsilonitalic_ϵCoG𝐶𝑜𝐺CoGitalic_C italic_o italic_Gxoffsubscript𝑥𝑜𝑓𝑓x_{off}italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f end_POSTSUBSCRIPTyoffsubscript𝑦𝑜𝑓𝑓y_{off}italic_y start_POSTSUBSCRIPT italic_o italic_f italic_f end_POSTSUBSCRIPTzoffsubscript𝑧𝑜𝑓𝑓z_{off}italic_z start_POSTSUBSCRIPT italic_o italic_f italic_f end_POSTSUBSCRIPTb𝑏bitalic_bl𝑙litalic_l𝑻tsubscript𝑻𝑡\bm{T}_{t}bold_italic_T start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT𝑻collectivesubscript𝑻𝑐𝑜𝑙𝑙𝑒𝑐𝑡𝑖𝑣𝑒\bm{T}_{collective}bold_italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l italic_l italic_e italic_c italic_t italic_i italic_v italic_e end_POSTSUBSCRIPT
Figure 2: The essential forces and torques acting on Soliro. Blue indicates the output of the control allocation, i.e. the forces and angles that can directly be controlled by the actuators. Red indicates the input to the control allocation. The yellow arrow is the aerodynamic torque created by differential wing deflection

To obtain a simple, closed-form solution, we use small angle approximations of the differential wing deflections ϵitalic-ϵ\epsilonitalic_ϵ and decouple the pitch axis from the rest. We consider the thrust of the tail rotor only for the torque around the y𝑦yitalic_y-axis, but not for overall body thrust. The made approximations and simplifications are appropriate, as the differential wing deflections are generally very small and the tail rotor’s location is far away from the Center of Gravity (CoG) and only thrusts intermittently. Figure 2 shows the coordinate frames and quantities used. Given a set of desired body torques (τroll,τyaw,τpitchsubscript𝜏𝑟𝑜𝑙𝑙subscript𝜏𝑦𝑎𝑤subscript𝜏𝑝𝑖𝑡𝑐\tau_{roll},\tau_{yaw},\tau_{pitch}italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT , italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT , italic_τ start_POSTSUBSCRIPT italic_p italic_i italic_t italic_c italic_h end_POSTSUBSCRIPT), overall wing tilt χ𝜒\chiitalic_χ, and desired total thrust Tcolsubscript𝑇𝑐𝑜𝑙T_{col}italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT, we obtain the left and right thrust Tr,Tlsubscript𝑇𝑟subscript𝑇𝑙T_{r},T_{l}italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, and the differential wing deflection ϵitalic-ϵ\epsilonitalic_ϵ as

Trsubscript𝑇𝑟\displaystyle T_{r}italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT =(Tcolb+gmyoffsetτroll)sin(χ)τyawcos(χ)2babsentsubscript𝑇𝑐𝑜𝑙𝑏𝑔𝑚subscript𝑦𝑜𝑓𝑓𝑠𝑒𝑡subscript𝜏𝑟𝑜𝑙𝑙𝜒subscript𝜏𝑦𝑎𝑤𝜒2𝑏\displaystyle=\frac{(T_{col}~{}b+g~{}m~{}y_{offset}-\tau_{roll})~{}\sin{\left(% \chi\right)}-\tau_{yaw}\cos{\left(\chi\right)}}{2b}= divide start_ARG ( italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT italic_b + italic_g italic_m italic_y start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT - italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT ) roman_sin ( italic_χ ) - italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT roman_cos ( italic_χ ) end_ARG start_ARG 2 italic_b end_ARG
Tlsubscript𝑇𝑙\displaystyle T_{l}italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =(Tcolbgmyoffset+τroll)sin(χ)+τyawcos(χ)2babsentsubscript𝑇𝑐𝑜𝑙𝑏𝑔𝑚subscript𝑦𝑜𝑓𝑓𝑠𝑒𝑡subscript𝜏𝑟𝑜𝑙𝑙𝜒subscript𝜏𝑦𝑎𝑤𝜒2𝑏\displaystyle=\frac{(T_{col}~{}b-g~{}m~{}y_{offset}+\tau_{roll})~{}\sin{\left(% \chi\right)}+\tau_{yaw}\cos{\left(\chi\right)}}{2b}= divide start_ARG ( italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT italic_b - italic_g italic_m italic_y start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT + italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT ) roman_sin ( italic_χ ) + italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT roman_cos ( italic_χ ) end_ARG start_ARG 2 italic_b end_ARG
ϵitalic-ϵ\displaystyle\epsilonitalic_ϵ =(gmyoffsetτroll)cos(χ)+τyawsin(χ)Tcolb+τaero.absent𝑔𝑚subscript𝑦𝑜𝑓𝑓𝑠𝑒𝑡subscript𝜏𝑟𝑜𝑙𝑙𝜒subscript𝜏𝑦𝑎𝑤𝜒subscript𝑇𝑐𝑜𝑙𝑏subscript𝜏𝑎𝑒𝑟𝑜\displaystyle=\frac{(g~{}m~{}y_{offset}-\tau_{roll})~{}\cos{\left(\chi\right)}% +\tau_{yaw}\sin{\left(\chi\right)}}{T_{col}~{}b+\tau_{aero}}.= divide start_ARG ( italic_g italic_m italic_y start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT - italic_τ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT ) roman_cos ( italic_χ ) + italic_τ start_POSTSUBSCRIPT italic_y italic_a italic_w end_POSTSUBSCRIPT roman_sin ( italic_χ ) end_ARG start_ARG italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT italic_b + italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT end_ARG .

Based on the obtained thrusts and differential wing deflection and desired pitch torque τpitchsubscript𝜏𝑝𝑖𝑡𝑐\tau_{pitch}italic_τ start_POSTSUBSCRIPT italic_p italic_i italic_t italic_c italic_h end_POSTSUBSCRIPT , the tail rotor thrust calculates as

Tt=Trxoffsetsin(χ+ϵ)l+xoffset+Trzoffsetcos(χ+ϵ)l+xoffsetTlxoffsetsin(χϵ)l+xoffset+Tlzoffsetcos(χϵ)l+xoffsetτpitchl+xoffset.subscript𝑇𝑡subscript𝑇𝑟subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡𝜒italic-ϵ𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡subscript𝑇𝑟subscript𝑧𝑜𝑓𝑓𝑠𝑒𝑡𝜒italic-ϵ𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡subscript𝑇𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡𝜒italic-ϵ𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡subscript𝑇𝑙subscript𝑧𝑜𝑓𝑓𝑠𝑒𝑡𝜒italic-ϵ𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡subscript𝜏𝑝𝑖𝑡𝑐𝑙subscript𝑥𝑜𝑓𝑓𝑠𝑒𝑡T_{t}=-\frac{T_{r}x_{offset}\sin{\left(\chi+\epsilon\right)}}{l+x_{offset}}+% \frac{T_{r}z_{offset}\cos{\left(\chi+\epsilon\right)}}{l+x_{offset}}\\ -\frac{T_{l}x_{offset}\sin{\left(\chi-\epsilon\right)}}{l+x_{offset}}+\frac{T_% {l}z_{offset}\cos{\left(\chi-\epsilon\right)}}{l+x_{offset}}-\frac{\tau_{pitch% }}{l+x_{offset}}.start_ROW start_CELL italic_T start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = - divide start_ARG italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT roman_sin ( italic_χ + italic_ϵ ) end_ARG start_ARG italic_l + italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT end_ARG + divide start_ARG italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT roman_cos ( italic_χ + italic_ϵ ) end_ARG start_ARG italic_l + italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT end_ARG end_CELL end_ROW start_ROW start_CELL - divide start_ARG italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT roman_sin ( italic_χ - italic_ϵ ) end_ARG start_ARG italic_l + italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT end_ARG + divide start_ARG italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT roman_cos ( italic_χ - italic_ϵ ) end_ARG start_ARG italic_l + italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT end_ARG - divide start_ARG italic_τ start_POSTSUBSCRIPT italic_p italic_i italic_t italic_c italic_h end_POSTSUBSCRIPT end_ARG start_ARG italic_l + italic_x start_POSTSUBSCRIPT italic_o italic_f italic_f italic_s italic_e italic_t end_POSTSUBSCRIPT end_ARG . end_CELL end_ROW

The system is then commanded using the thrusts Tr,Tl,Ttsubscript𝑇𝑟subscript𝑇𝑙subscript𝑇𝑡T_{r},T_{l},T_{t}italic_T start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, and the total wing angles ζr=χ+ϵ,ζl=χϵformulae-sequencesubscript𝜁𝑟𝜒italic-ϵsubscript𝜁𝑙𝜒italic-ϵ\zeta_{r}=\chi+\epsilon,\zeta_{l}=\chi-\epsilonitalic_ζ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_χ + italic_ϵ , italic_ζ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = italic_χ - italic_ϵ. The CoG offsets in the equations above help to trim the vehicle. We use τaerosubscript𝜏𝑎𝑒𝑟𝑜\tau_{aero}italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT to describe the control authority of the wing deflection for roll - which depends on the airspeed and is empirically modelled as a quadratic approximation. We used the function τaero=200(χmin0.5π)2(χ0.5π)2subscript𝜏𝑎𝑒𝑟𝑜200superscriptsubscript𝜒𝑚𝑖𝑛0.5𝜋2superscript𝜒0.5𝜋2\tau_{aero}=\frac{200}{(\chi_{min}-0.5\pi)^{2}}(\chi-0.5\pi)^{2}italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT = divide start_ARG 200 end_ARG start_ARG ( italic_χ start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT - 0.5 italic_π ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_χ - 0.5 italic_π ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, where χminsubscript𝜒𝑚𝑖𝑛\chi_{min}italic_χ start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT is the minimal overall wing deflection of about 10 degtimes10deg10\text{\,}\mathrm{d}\mathrm{e}\mathrm{g}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_deg end_ARG. Due to the direct correlation between airspeed for level flight and overall wing deflection χ𝜒\chiitalic_χ, we chose to model τaerosubscript𝜏𝑎𝑒𝑟𝑜\tau_{aero}italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT directly based on the wing deflection and circumvent the need for a high-accuracy airspeed sensor. However, depending on the sensor setup, τaerosubscript𝜏𝑎𝑒𝑟𝑜\tau_{aero}italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT could be modeled based on pitot tube readings.

2.6 Low-level attitude and thrust control

The inner loop of the controller consists of a cascaded controller with an attitude P controller and a rate PID controller, shown in Figure 1. The attitude controller converts the difference of desired attitude 𝒒superscriptsubscript𝒒\bm{q}_{\mathcal{I}\mathcal{B}}^{\prime}bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and current attitude 𝒒subscript𝒒\bm{q}_{\mathcal{I}\mathcal{B}}bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B end_POSTSUBSCRIPT into angular rates, which then are fed into the rate controller. The attitude control law is based on [11, 12], and formalized as:

𝒒errorsubscript𝒒𝑒𝑟𝑟𝑜𝑟\displaystyle\bm{q}_{error}bold_italic_q start_POSTSUBSCRIPT italic_e italic_r italic_r italic_o italic_r end_POSTSUBSCRIPT =𝒒=𝒒1𝒒.absentsubscript𝒒superscripttensor-productsuperscriptsubscript𝒒1subscript𝒒superscript\displaystyle=\bm{q}_{\mathcal{B}\mathcal{B}^{\prime}}=\bm{q}_{\mathcal{I}% \mathcal{B}}^{-1}\otimes\bm{q}_{\mathcal{I}\mathcal{B}^{\prime}}.= bold_italic_q start_POSTSUBSCRIPT caligraphic_B caligraphic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⊗ bold_italic_q start_POSTSUBSCRIPT caligraphic_I caligraphic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT .
𝝎spsubscript𝝎𝑠𝑝\displaystyle\bm{\omega}_{sp}bold_italic_ω start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPT =𝒌P𝒒ˇerrorwith 𝒌P=(kP,x000kP,y000kP,z),formulae-sequenceabsentsubscript𝒌𝑃subscriptˇ𝒒𝑒𝑟𝑟𝑜𝑟with subscript𝒌𝑃matrixsubscript𝑘𝑃𝑥000subscript𝑘𝑃𝑦000subscript𝑘𝑃𝑧\displaystyle=\bm{k}_{P}\check{\bm{q}}_{error}\quad\text{with }\bm{k}_{P}=% \begin{pmatrix}k_{P,x}&0&0\\ 0&k_{P,y}&0\\ 0&0&k_{P,z}\end{pmatrix},= bold_italic_k start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT overroman_ˇ start_ARG bold_italic_q end_ARG start_POSTSUBSCRIPT italic_e italic_r italic_r italic_o italic_r end_POSTSUBSCRIPT with bold_italic_k start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT = ( start_ARG start_ROW start_CELL italic_k start_POSTSUBSCRIPT italic_P , italic_x end_POSTSUBSCRIPT end_CELL start_CELL 0 end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL italic_k start_POSTSUBSCRIPT italic_P , italic_y 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 italic_k start_POSTSUBSCRIPT italic_P , italic_z end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) ,

with error quaternion 𝒒errorsubscript𝒒𝑒𝑟𝑟𝑜𝑟\bm{q}_{error}bold_italic_q start_POSTSUBSCRIPT italic_e italic_r italic_r italic_o italic_r end_POSTSUBSCRIPT respectively its imaginary part 𝒒ˇerrorsubscriptˇ𝒒𝑒𝑟𝑟𝑜𝑟\check{\bm{q}}_{error}overroman_ˇ start_ARG bold_italic_q end_ARG start_POSTSUBSCRIPT italic_e italic_r italic_r italic_o italic_r end_POSTSUBSCRIPT, gain matrix 𝒌Psubscript𝒌𝑃\bm{k}_{P}bold_italic_k start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT. The resulting angular rate setpoint 𝝎spsubscript𝝎𝑠𝑝\bm{\omega}_{sp}bold_italic_ω start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPT is then fed into the rate controller to obtain the necessary body torques for the allocation. The body torques are calculated as

𝝉spsubscript𝝉𝑠𝑝\displaystyle\bm{\tau}_{sp}bold_italic_τ start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPT =𝒌P,rate(𝝎𝝎sp)𝒌D,rate𝝎˙+𝝎intabsentsubscript𝒌𝑃𝑟𝑎𝑡𝑒𝝎subscript𝝎𝑠𝑝subscript𝒌𝐷𝑟𝑎𝑡𝑒bold-˙𝝎subscript𝝎𝑖𝑛𝑡\displaystyle=\bm{k}_{P,rate}(\bm{\omega}-\bm{\omega}_{sp})-\bm{k}_{D,rate}\bm% {\dot{\omega}}+\bm{\omega}_{int}= bold_italic_k start_POSTSUBSCRIPT italic_P , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT ( bold_italic_ω - bold_italic_ω start_POSTSUBSCRIPT italic_s italic_p end_POSTSUBSCRIPT ) - bold_italic_k start_POSTSUBSCRIPT italic_D , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT overbold_˙ start_ARG bold_italic_ω end_ARG + bold_italic_ω start_POSTSUBSCRIPT italic_i italic_n italic_t end_POSTSUBSCRIPT
with 𝝎intwith subscript𝝎𝑖𝑛𝑡\displaystyle\text{with }\bm{\omega}_{int}with bold_italic_ω start_POSTSUBSCRIPT italic_i italic_n italic_t end_POSTSUBSCRIPT =i=1N𝒌I,rate(𝝎i𝝎i,sp)δt.absentsubscriptsuperscript𝑁𝑖1subscript𝒌𝐼𝑟𝑎𝑡𝑒subscript𝝎𝑖subscript𝝎𝑖𝑠𝑝𝛿𝑡\displaystyle=\sum^{N}_{i=1}\bm{k}_{I,rate}(\bm{\omega}_{i}-\bm{\omega}_{i,sp}% )\delta t.= ∑ start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT bold_italic_k start_POSTSUBSCRIPT italic_I , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT ( bold_italic_ω start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - bold_italic_ω start_POSTSUBSCRIPT italic_i , italic_s italic_p end_POSTSUBSCRIPT ) italic_δ italic_t .

𝒌P,ratesubscript𝒌𝑃𝑟𝑎𝑡𝑒\bm{k}_{P,rate}bold_italic_k start_POSTSUBSCRIPT italic_P , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT, 𝒌I,ratesubscript𝒌𝐼𝑟𝑎𝑡𝑒\bm{k}_{I,rate}bold_italic_k start_POSTSUBSCRIPT italic_I , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT, and 𝒌D,ratesubscript𝒌𝐷𝑟𝑎𝑡𝑒\bm{k}_{D,rate}bold_italic_k start_POSTSUBSCRIPT italic_D , italic_r italic_a italic_t italic_e end_POSTSUBSCRIPT are the inertia-normalized gain matrices and δt𝛿𝑡\delta titalic_δ italic_t is the controller time step duration. In addition to the attitude and rate control, we add a roll-axis trim feed-forward to account for wing manufacturing asymmetries as well as a thrust feed-forward that that takes into account the lift generated by the wings. The roll trim is implemented as a feed-forward torque on the roll axis, 𝝉sp,roll+=𝝉trim,rollcos(χ)\bm{\tau}_{sp,roll}\mathrel{+}=\bm{\tau}_{trim,roll}\cos(\chi)bold_italic_τ start_POSTSUBSCRIPT italic_s italic_p , italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT + = bold_italic_τ start_POSTSUBSCRIPT italic_t italic_r italic_i italic_m , italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT roman_cos ( italic_χ ), which is then scaled similarly to τaerosubscript𝜏𝑎𝑒𝑟𝑜\tau_{aero}italic_τ start_POSTSUBSCRIPT italic_a italic_e italic_r italic_o end_POSTSUBSCRIPT to account for the asymmetries’ impact at different airspeeds.
The collective thrust Tcolsubscript𝑇𝑐𝑜𝑙T_{col}italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT fed into the allocation is calculated by the feed-forward term Tffsubscript𝑇𝑓𝑓T_{ff}italic_T start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT and the desired acceleration in z𝑧zitalic_z as

Tcol=azTffg+TffTff=(ciχk)k=07,T_{col}=\frac{-a_{z}T_{ff}}{g}+T_{ff}\qquad T_{ff}=\sum{}_{k=0}^{7}(c_{i}~{}% \chi^{k}),italic_T start_POSTSUBSCRIPT italic_c italic_o italic_l end_POSTSUBSCRIPT = divide start_ARG - italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT end_ARG start_ARG italic_g end_ARG + italic_T start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT = ∑ start_FLOATSUBSCRIPT italic_k = 0 end_FLOATSUBSCRIPT start_POSTSUPERSCRIPT 7 end_POSTSUPERSCRIPT ( italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_χ start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) ,

Tffsubscript𝑇𝑓𝑓T_{ff}italic_T start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT is a wind tunnel identified, 7th order polynomial that expresses the relationship between overall wing tilt χ𝜒\chiitalic_χ and the thrust reduction/feed-forward for forward flight. Our experimental results have shown that the model is fairly accurate and robust, despite using χ𝜒\chiitalic_χ as a proxy for airspeed.
Compared to a normal airplane, the main motors of Soliro in practice always have a thrust component in z𝑧zitalic_z, i.e. they never purely point forward. This allows direct control over the altitude of the vehicle, even in fixed-wing mode. Contrastingly, fixed-wing airplanes often use an altitude controller which considers conservation of kinetic and potential energy, e.g. a TECS controller [13]. The advantage of the here propose altitude controller is its validity over the complete flight envelope while the implementation of a TECS controller would be very cumbersome for a vehicle like Soliro.

3 Experiments

We verified the design and aerodynamic properties in an extensive wind tunnel characterization. In a series of field tests, we verified the control framework, transition stability, and forward flight efficiency under realistic conditions.

3.1 Wind tunnel characterization

We use a wind tunnel with adjustable flow velocity and angle to fully identify and verify the chosen wing design and overall system in terms of lift, drag, stall behaviour, and stability. Importantly, controllability and input sensitivity of the minimal actuator concept needed to be verified, e.g. strength of differential wing tilt and lateral airflow impact on the tail rotor. We use the resulting 26 parameter model of the vehicle and its actuators for realistic simulation and off-line controller tuning.

Refer to caption
(a) Wind tunnel set-up including yarns on wing to visualize air flow. A 6-DOF Force-Torque sensor for full system identification is mounted below vehicle.
Refer to caption
(b) In-flight measured total power statistic for altitude hold at different air speeds during multiple outdoor flights. Airspeed of 0 m s1times0timesmetersecond10\text{\,}\mathrm{m}\text{\,}{\mathrm{s}}^{-1}start_ARG 0 end_ARG start_ARG times end_ARG start_ARG start_ARG roman_m end_ARG start_ARG times end_ARG start_ARG power start_ARG roman_s end_ARG start_ARG - 1 end_ARG end_ARG end_ARG corresponds to rotary wing hover.

The grey box model is calibrated over a large range of flow speeds and angles in the wind-tunnel. The wing performs well and is able to provide sufficient lift, although the first principle model slightly overestimates the maximum lift. According to the lift/drag curves and a yarn string test, stall onset is very gradually. To test the maneuverability, we identified sensitivity and resolution for all actuators. Specifically, we conclude that the differential wing tilt enables sufficiently gradual roll torque and stability. We obtain an almost ideal linear fit of 0.45 N mtimes0.45timesnewtonmeter0.45\text{\,}\mathrm{N}\text{\,}\mathrm{m}start_ARG 0.45 end_ARG start_ARG times end_ARG start_ARG start_ARG roman_N end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG end_ARG per 1 °times1degree1\text{\,}\mathrm{\SIUnitSymbolDegree}start_ARG 1 end_ARG start_ARG times end_ARG start_ARG ° end_ARG of differential wing tilt, with the smallest stable increment being 0.08 °times0.08degree0.08\text{\,}\mathrm{\SIUnitSymbolDegree}start_ARG 0.08 end_ARG start_ARG times end_ARG start_ARG ° end_ARG differential wing tilt, corresponding 0.038 N mtimes0.038timesnewtonmeter0.038\text{\,}\mathrm{N}\text{\,}\mathrm{m}start_ARG 0.038 end_ARG start_ARG times end_ARG start_ARG start_ARG roman_N end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG end_ARG of torque. Additionally, we used the wind-tunnel experiments to test stall characteristics, maximum servo- and wing loadings, as well as actuator efficiency and discretization.

3.2 Transition and Flight

We performed a series of outdoor tests where the system starts in rotary-wing mode and then slowly transitions into fixed-wing flight mode with up to 10 m s1times10timesmetersecond110\text{\,}\mathrm{m}\text{\,}{\mathrm{s}}^{-1}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG start_ARG roman_m end_ARG start_ARG times end_ARG start_ARG power start_ARG roman_s end_ARG start_ARG - 1 end_ARG end_ARG end_ARG flight speed and back. These experiments are used to verify the control strategy, stability of mode transitions, and fixed-wing mode flight efficiency and models.

Refer to caption
Figure 3: The system performing a reverse transition from fixed-wing (a) to rotary-wing mode (d). Longitudinal stability and flight path are decoupled from body pitch angle, the body can be used as spoiler to reduce air speed during reverse transition (c).

The outdoor experiments were performed under realistic conditions, including wind and turbulence. Figure 3 shows a transition maneuver in flight. After some tuning and a few tries with bugs and other issues, the system flies smooth and docile and all axes all stable and controllable. Figure 3(a) visualizes the detailed controller performance for a forward transition.

Refer to caption
(a) Transition behaviour of the controller. The wing tilt is controlled by the pilot, whereas the airspeed is automatically increased to hold altitude. The approx. 28 cm static altitude error offset is due to weight calibration.
Refer to caption
(b) Detailed analysis of power efficiency for three transitions in a single flight. Color indicates overall wing tilt χ𝜒\chiitalic_χ. Region a) is pure rotary-wing flight, b) pure fixed-wing flight. Region c) corresponds to the forward transition (RW to FW), and d) to the backward transition.

3.3 Efficiency

Figure 2(b) shows the power usage in different flight conditions. The system is able to fly steadily at 10 m s1times10timesmetersecond110\text{\,}\mathrm{m}\text{\,}{\mathrm{s}}^{-1}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG start_ARG roman_m end_ARG start_ARG times end_ARG start_ARG power start_ARG roman_s end_ARG start_ARG - 1 end_ARG end_ARG end_ARG with about a 30%percent3030\%30 % thrust reduction compared to the rotary-wing hovering state. Figure 3(b) visualizes the power consumption, wing-tilt, and air speed in detail for a single flight. Note that there is also rotary-wing forward flight visible in region a). Another interesting observation is that during backward transition energy has to be dissipated, therefore low transient rotary-wing power consumption is observed (below region a)). Additionally, the plot shows that there is a good correspondence between wing-tilt χ𝜒\chiitalic_χ and altitude-hold air speed, which is exploited in the control architecture to omit the need for an airspeed sensor.

4 Conclusion & Discussion

In this paper, we presented a hybrid dynamic tilt-wing aerial manipulator with minimal actuators, including the design, model approach and control. In fixed-wing flight, the system demonstrated a power reduction of roughly 30%percent3030\%30 % over rotary-wing flight. The power-reduction corresponds to a range of about 10 kmtimes10kilometer10\text{\,}\mathrm{km}start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_km end_ARG on a single battery - aerodynamic modeling indicates that further optimizing the drag of the platform (landing legs, antennas) would increase this range to up to 30 kmtimes30kilometer30\text{\,}\mathrm{km}start_ARG 30 end_ARG start_ARG times end_ARG start_ARG roman_km end_ARG. A main insight of the experiments is the confirmation that the chosen actuator strategy, without any classical control surfaces, performs well. The conducted wind tunnel verification was of great importance for verification, calibration and tuning prior to first flight. Despite all possible precautions, we encountered a few crashes. On the very first flight, the pitch stability controller reacted too strongly based on our model calculations and tunings. All other crashes thereafter were related to hardware or remote control issues.
The actuator design with the augmented pitch stabilization controller and the fast (differential) tilt-wing dynamics creates an extremely large flight envelope, which contains maneuvers impossible with traditional tilt-wing platforms. For example, the wings or the body can be used to rapidly increase drag, effectively becoming a spoiler. Similarly, the active pitch controller can counter any longitudinal static or dynamic instabilities due to weight distribution or external disturbances.

References

  • [1] A. M. Kamal and A. Ramirez-Serrano, “Design methodology for hybrid (vtol+ fixed wing) unmanned aerial vehicles,” Aeronautics and Aerospace Open Access Journal, vol. 2, no. 3, pp. 165–176, 2018.
  • [2] D. Rohr, M. Studiger, T. Stastny, N. R. J. Lawrance, and R. Siegwart, “Nonlinear model predictive velocity control of a vtol tiltwing uav,” IEEE Robotics and Automation Letters, vol. 6, no. 3, pp. 5776–5783, 2021.
  • [3] A. Lindqvist, E. Fresk, and G. Nikolakopoulos, “Optimal design and modeling of a tilt wing aircraft,” in 2015 23rd Mediterranean Conference on Control and Automation (MED), pp. 701–708, 2015.
  • [4] K. Bodie, M. Brunner, M. Pantic, S. Walser, P. Pfändler, U. Angst, R. Siegwart, and J. Nieto, “Active interaction force control for contact-based inspection with a fully actuated aerial vehicle,” IEEE Transactions on Robotics, vol. 37, no. 3, pp. 709–722, 2021.
  • [5] 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.
  • [6] S. Park, J. Lee, J. Ahn, M. Kim, J. Her, G.-H. Yang, and D. Lee, “Odar: Aerial manipulation platform enabling omnidirectional wrench generation,” IEEE/ASME Transactions on Mechatronics, vol. 23, no. 4, pp. 1907–1918, 2018.
  • [7] D. Brescianini and R. D’Andrea, “An omni-directional multirotor vehicle,” Mechatronics, vol. 55, pp. 76–93, 2018.
  • [8] R. Watson, M. Kamel, D. Zhang, G. Dobie, C. MacLeod, S. G. Pierce, and J. Nieto, “Dry coupled ultrasonic non-destructive evaluation using an over-actuated unmanned aerial vehicle,” IEEE Transactions on Automation Science and Engineering, vol. 19, no. 4, pp. 2874–2889, 2022.
  • [9] E. N. Jacobs and A. Sherman, “Airfoil section characteristics as affected by variations of the reynolds number,” NACA Technical Report, vol. 586, no. 1, pp. 227–267, 1937.
  • [10] D. Rohr, T. Stastny, S. Verling, and R. Siegwart, “Attitude and cruise control of a vtol tiltwing uav,” IEEE Robotics and Automation Letters, vol. 4, no. 3, pp. 2683–2690, 2019.
  • [11] D. Brescianini, M. Hehn, and R. D’Andrea, “Nonlinear quadrocopter attitude control: Technical report,” tech. rep., ETH Zurich, 2013.
  • [12] PX4, PX4 Autopilot. Available at https://github.com/PX4/PX4-Autopilot.git.
  • [13] K. Bruce, J. Kelly, and L. PERSON, JR, “Nasa b737 flight test results of the total energy control system,” in Astrodynamics Conference, p. 2143, 1986.