This paper addresses the issue of controller complexity for multirotor aerial manipulator (AM) implementation by utilizing a special class of fully actuated hexrotor within the framework of a firmware, which allows standard multirotor actuation modes. Using this platform, manipulator and vehicle dynamics are decoupled, making the airframe inherently more robust than standard multirotor for trajectory tracking in AM applications. Furthermore, its unique design allows for the implementation of modular control strategies. The proposed rotor orientation model makes it possible to decouple the dynamics, allowing full analytical development of the optimal solution. A methodology for analysis, control allocation, and design of this special class of hexrotor is presented, and the implementation of a custom flight stack is demonstrated using a hexrotor prototype in closed-loop flight testing. The flight stack developed is compliant with the open-source ArduPilot Mega (APM) firmware, allowing it to take advantage of all generic multirotor control algorithms. Experimental results are presented to demonstrate feasibility of the system.

## Introduction

An aerial manipulator (AM) is an unmanned aerial vehicle (UAV), which physically interacts with its environment via one or several active mechanical systems. One of the more difficult challenges to address in the development of an AM is the consideration of dynamic coupling for both the UAV and manipulation platforms. This challenge has been approached in several ways in the recent past. One approach is to rely on a hierarchical control scheme for a coupled quadcopter and manipulator system to converge end-effector target position [1,2]. Control algorithms such as this often result in long reference convergence times due to the precision requirements of the end effector. One way to improve precision is to increase the number of actuated joints in the manipulator system, though this necessarily increases model complexity. To handle redundancy in actuation of the manipulator, the work described in Ref. [3] sought to develop a general model for multidegree-of-freedom manipulator control for an AM. The authors utilized the Newton–Euler method for estimation of base interactions between the quadrotor and manipulator, and Lyapunov-based model reference adaptive control to adapt propulsion system dynamics and aerodynamic conditions for improved performance of the derived controller. As demonstrated in Ref. [4], redundant degree-of-freedom (DOF) manipulators can aid in convergence of target trajectories for the end effector; however, implementation of the manipulator in their experiment introduced divergence phenomena associated with flight stability and the AM coupling.

Hybrid control methods have also been presented for use with AM platforms. The work presented in Ref. [5] offers design, simulation, and experimental validation of an interaction controller for an underactuated quadcopter AM. Hybrid control for the quadcopter is used to switch between a free-flight control mode and a contact-control mode. In more recent implementations of robust control for AMs, concepts of cyclopassivity, Lagrangian dynamics, and interconnection and damping assignment passivity-based control are used in a two-dimensional model and experiment in Ref. [6], and closed-loop inverse kinematics control for an AM was implemented with integral correction in Ref. [7].

Many works describe the improvement of manipulator trajectory tracking; however, AM control toward improved flight stabilization has also been investigated. In Ref. [8], a unique take on task prioritization control method is presented that utilized the manipulator to perform a secondary flight stabilization task. A redundant manipulator is used to augment the main visual-servoing task to minimize changes to the platform's center of gravity.

Much of the work performed toward advancing classical AM control methods focuses on the improved stability and performance of the coupled manipulator and multirotor system. The need for much of the more complex coupling considerations would be eliminated, however, if the aerial platform developed were fully actuated. Classical multirotors are a class of UAV that utilizes multiple rotors to direct maximum control effort into the production of lift and rolling, pitching, and yawing torque. The design allows pilots to easily stabilize the platform in hover. However, the platform suffers from a lack of controllability as it lacks any means of producing forward or lateral body-fixed forces. It must affect coupled rolling and pitching maneuvers to produce forward and lateral motion. This is the main contributor to reduced performance of multirotor AM trajectory tracking. While fully actuated platforms have been developed by several groups including Refs. [9] and [10], these airframes do not see widespread use in AM application likely due to their unique dynamic formulations. How these platforms respond to saturation effects is fundamentally incompatible with classical multirotor control strategies; however, one unique class of fully actuated multirotor, which simulates classical hexrotor saturation effects, was developed by Langkamp [11]. The rotors in this design differ from a classical parallel configuration through relative rotations of each rotor via variable pitch cant angles. The design results in full controllability, while sacrificing overall flight efficiency and stability. In Ref. [12], a fixed-pitch version of the design, which describes force and form closure, arbitrary wrench rejection, dynamic modeling of the platform, and dexterous flight, was presented. Optimization of the design was discussed in Ref. [13] as it relates to flight efficiency; however no metric for forward and lateral force expression is presented. Their analysis used a genetic algorithm, which numerically sought an optimal solution for rotor orientations. While fundamentally different in control allocation, nonparallel hexrotors offer similar considerations toward attitude and altitude control to that of parallel hexrotors. The class of hexrotor developed in Ref. [14] in this sense has broader implications in AM development than those of Refs. [9] and [10]. This platform would be controllable as a parallel hexrotor, be capable of relatively high efficiency in hover, and maintain the capability for decoupled fully actuated AM implementation.

The FAST-Hex developed by Ryll et al. [14] and nonplanar hex developed by Langkamp [11] are two platforms, which relate specifically to aerial manipulation. While neither of these works presented flight test data, they introduced a modular type of hexrotor, which may fly as either a parallel hexrotor or a nonparallel fully actuated hexrotor at varying degrees of tilt. This type of platform has direct implications on aerial manipulation as it can balance in situ environment observation and interaction. For small or zero tilt implementation, the variable pitch hexrotor will hover at high efficiency, while in close quarters, the nonparallel hexrotor will be capable of dexterous flight at regulated attitude. This provides the end user with a highly adaptable UAV.

Compared to the optimal design presented in Ref. [13], the work developed in this paper presents an analytical rather than numerical solution to the design problem of the nonparallel hexrotor UAV. This is made possible using a more physically representative rotor orientation model. The way in which the transformations are described decouples the dynamics, allowing full analytical development of the optimal solution. At the time of this writing, very little modeling toward design metrics has been presented in the literature for the fully actuated hexrotor. Thus, one of the main contributions of this work is to develop several impactful design metrics, which relate saturation effects to directional control allocation. These metrics may be used toward useful stability and control analyses for improved flight performance. Careful consideration of existing multirotor control architecture was taken into account when developing the prototype. As a relative newcomer to the multirotor airframe class, this platform requires firmware, which complies with existing architecture to make it a viable contender in AM applications. This work demonstrates the feasibility and implementation of such a firmware in a fully developed prototype.

This paper is divided into five sections. The final analytical rotor orientation solution is developed in the first three sections through the description of a novel rotor orientation model, rotor frame dynamics, and full rank motor mapping, while the fourth section proposes several optimization metrics, which should be considered at the design phase of an airframe's construction. In the fifth section, experimental validation of the model, objective functions, and implementation of an APM compliant modular custom firmware is presented.

## Rotor Orientation

The orientation of a single UAV rotor can be described using three independent Euler rotation parameters, αi, βi, and γi. In this study, a rotor frame {i} describes the designed transform of a single rotor relative to {B}, the body-fixed-frame (BFF) for any hexrotor UAV. Transformations are defined using $R4×4$ basis notation as is developed in Ref. [15]. The nonparallel hexrotor design introduced in Ref. [11] is considered, where arbitrary rotation is included in the design characterization as in Ref. [13]. The introduced sub-stage frame ${i′}$ is used to represent the rotor orientation of a standard parallel hexrotor, where $vi$ denotes the rotor position relative to {B}. This sub-stage description is useful for comparison of nonparallel and parallel airframes of similar specification toward the definition of useful design objective functions.

The frame ${i′}$ of a parallel hexrotor is defined via the transformation from the UAV body fixed frame {B} to the frame ${i′}$ for any one of the six rotors as depicted in Fig. 1. In this configuration, the thrust Ti and drag Qi produced by the ith rotor in the rotor frame ${i′}$ contribute to the UAV body-fixed frame force and torque profile along parallel $Zi′$, where frame ${i′}$ has been rotated about ZB by some angle γi. Each frame ${i′}$ is translated along respective rotor arms by $vi$, where $|vi|=(1/2)L$, and L is the UAV cross-span. In this analysis, it was assumed that all motor arms are of equal length as is the case in commercial parallel multirotor designs.

Nonparallel hexrotor frames are further transformed from $Ti′B$ via two additional rotations per rotor frame from ${i′}$ to {i} for all 6 rotors as $Tii′$. These transforms uniquely identify the thrust and drag axis, which is collinear with Zi of {i} as shown in Fig. 2. For this study, serial Euler Z and Y rotations by angles $αi∈[−π,π)$ and $βi∈[0,π]$, respectively, allow for vectoring of the rotor frame thrust/drag axis Zi in any direction. Thus, $Tii′=[Rz(αi)Ry(βi)03×101×31]$. The transforms from {B} to ${i′}, {i′}$ to {i}, and {B} to {i} are described by
$Ti′B=[Rz(γi)vi01×31]Tii′=[Rz(αi)Ry(βi)03×101×31]TiB=[Rz(γi+αi)Ry(βi)03×101×31]$
(1)

It should be noted that this rotation definition differs from that of [13] fundamentally. While it also spans the orientation field, this rotation scheme reduces the number of necessary design parameters describing hover efficiency and forward and lateral force production of the platform. The first and second rotor rotations occur on parallel axes, which requires that βi independently determines the projection of the resultant thrust and drag vectors on ZB, and conversely the forward/lateral force plane $XBYB$ rather than a mixed Euler expression for total angular displacement.

## Rotor Frame Dynamics

Multirotor dynamic models have been well developed in the literature. A fairly thorough derivation of the Newton–Euler formulism for multirotor UAV is provided in Refs. [16] and [17]. Following these formulations, the Newton–Euler UAV dynamics are given by
$Mξ˙+C(ξ)ξ=ΓTΓT=Γu+Γg+Γo+Γw$
(2)
where M is the mass matrix, $C(ξ)$ is the Centripetal-Coriolis matrix, $ξ$ is the UAV velocity model states, and $ΓT$ represents all external forces and torques, which may excite the system. For a multirotor UAV, $Γu, Γo$, and $Γg$ represent the forces and torques applied to the system by user control effort, gyroscopic effect, and gravitation effect, respectively. All other effects such as base reactions from an attached manipulator or wind disturbances are associated with the term $Γw$. For a nonparallel hexrotor, the forces and torques produced by a single rotor can be described by
$Fxi=bsβicαi+γiωi2Fyi=bsβisαi+γiωi2Fzi=bcβiωi2τxi=qidsβicαi+γiωi2+L2bcβisγiωi2τyi=qidsβisαi+γiωi2−L2bcβicγiωi2τzi=qidcβiωi2+L2bsαisβiωi2$
(3)

where the ith rotor speed is denoted ωi. $qi=−sgn(ωi)$ may assume a value of −1 for counterclockwise propeller spin, or 1 for clockwise spin. The constant parameters b and d are introduced to describe the rotor thrust and torque scaling, respectively, as thrust and drag are proportional to the square of rotor speed [18]. Eq. (3) can be derived by defining $Ti=[00bωi2]T$ and $Qi=[00qidωi2]T$ and resolving $Fi=Rz(γi+αi)Ry(βi)Ti$ and $τi=Rz(γi+αi)Ry(βi)Qi+(vi×Fi).$ Vectors $Fi=[FxiFyiFzi]T$ and $τi=[τxiτyiτzi]T$ denote the total force and torque quantities generated by a single ith rotor. The use of linear models with slopes b and d for $Ti$ and $Qi$ has been described in several works including Refs. [18] and [19]. Experimental validation for the linear fit values was performed using the setup shown in Fig. 3, and the thrust and drag trends, along with the flight controller command to rotor output mapping, are provided in Figs. 4 and 5.

Utilizing the force/torque definitions in Eq. (3), construction of the user control effort $Γu$ by the summation of $Γui$ is given by
$Γui=[FiTτiT]TΓu=∑k=16Γui$
(4)
While gyroscopic effects are clearly affected by design parameters αi and βi, this analysis considers only the construction of $Γu$ toward an optimized fully actuated airframe. $Γo$ is not considered in the design process; rather, the changes to its construction can be used to develop a more accurate nonlinear model after finalizing a design based on user control effort $Γu$. The gyroscopic effort can be constructed via the mapping
$Γo=−Ir[03×1Ω×(Rz(γi+αi)Ry(βi){00qiωi})]$
(5)

where Ir is introduced to represent the bulk rotor inertia [20], and $Ω$ is the BFF angular velocity.

Formulation of $Γg$ and $Γw$ is identical for both parallel and nonparallel airframes. $Γg$ is determined by the total mass of the airframe m and gravitational constant g. It is assumed that the center of gravity lies on the origin of {B}, $Γg=[00−mg000]T$. $Γw$ represents all dynamic effects not presented in the general model; thus, it is not discussed here.

With these modified multirotor dynamics, it is possible to construct a fully actuated airframe. In Sec. 4, the family of solutions, which promote a full-rank motor mapping, is established.

## Development of a Full Rank Motor Mapping

First, the following vector quantities are introduced for convenience in analysis:
$ω=[ω1ω2ω3ω4ω5ω6]Tα=[α1α2α3α4α5α6]Tβ=[β1β2β3β4β5β6]Tq=[q1q2q3q4q5q6]T$
(6)
The user-defined force torque expression $Γu$ developed from the dynamics in Eq. (4) can be represented by the control allocation vector ω in some basis $A(α,β,q)$ as
$Γu=A(α,β,q)ω$
(7)
A flight controller may vary rotor speeds dynamically by affecting the elements of $ω$ midflight. Changes to $ω$ affect user-generated body-fixed forces and torques on a multicopter frame. The parameters in $α, β$, and q are determined at the design phase of a multirotor build and define the form of the static basis $A(α,β,q)$ through which $ω$ may represent the force torque vector $Γu$. The approach presented in this paper first considers the subsets of $α, β$, and q defining $A(α,β,q)$, which satisfy identical forms of multirotor throttle, roll, pitch, and yaw control as prescribed by the commercial flight stacks APM and PX4, and those which allow fully actuated flight. The intersection of these subsets contains a finite number of solutions allowing full development of an analytical solution. Let the user-desired force torque control vector $u′=[u1′u2′u3′u4′u5′u6′]T$ be introduced as the representation of the rotor control allocation vector
$ω=∑i=16ωi=∑i=16EiTui′=ETu′$
(8)
in the basis ET. The rotor control allocation vector $ω$ can then be constructed from a linear combination of vectors $ω1, ω2, ω3, ω4, ω5$, and $ω6$ corresponding to desired decoupled forward, lateral, throttle, roll, pitch, and yaw control, respectively. Consider the six unit-vectors
$E1T=[x1x2x3x4x5x6]TE2T=[y1y2y3y4y5y6]TE3T=[161616161616]TE4T=[−123−13−12312313123]TE5T=[−12012120−12]TE6T=[16−1616−1616−16]T$
(9)
which construct ET. Since forward and lateral force control does not exist in any multirotor flight stack, the components xi and yi for $i={1,2,…,6}$ in E1 and E2, are free parameters, which can be defined in developed custom code to shape control allocation of desired forward and lateral efforts. Within the APM firmware, decoupled throttle, roll, pitch, and yaw are vectored across 6 rotors for a defined hexrotor frame type as $ω3, ω4, ω5$, and $ω6$. Due to the shape of $E3T$, all 6 rotors of the hexrotor will increase or decrease uniformly and proportionally to $u3′$. This causes a decoupled differential in body fixed force production along ZB, the z-axis of the BFF. The shape of $E4T$ introduces a differential between rotors 1, 2, and 3 and rotors 4, 5, and 6 of the hexrotor proportional to $u4′$. This differential results decoupled roll torque about the x-axis of the BFF, XB. Similarly, the shape of $E5T$ introduces a differential between rotors 1 and 6 and rotors 3 and 4, which produces decoupled pitch torque about the y-axis of the BFF for a given $u5′$. Lastly, the shape of $E6T$ introduces a differential between rotors 1, 3, and 5 and rotors 2, 4, and 6, which produces decoupled yaw torque about ZB for a given $u6′$.
Inspection of the mapping
$Γu=A(α,β,q)ETu′=B(α,β,q)u′$
(10)
between $Γu$ and $u′$, denoted $B(α,β,q)$, implies $B(α,β,q)$ as necessarily diagonal basis, since $∀(j≠i),|ui′|>0, |uj′|=0⇒|Γui|>0,|Γuj|=0$. Inspection of the dot product between $E3T, E4T, E5T$, and $E6T$ prove these vectors to be orthogonal. While not strictly defined, $E1T$ and $E2T$ are assumed to be orthogonal to both each other and the defined $E3T, E4T, E5T$, and $E6T$. This assumption ensures that no $ui′$ projects onto the vector $ωj∀(j≠i)$. Then ET is an orthonormal basis and $E−1=ET$. Since $A(α,β,q)ET=B(α,β,q)$, one decomposition of $A(α,β,q)$ is then
$A(α,β,q)=B(α,β,q)E$
(11)
where E is an orthonormal basis defining directionality of control allocation, and $B(α,β,q)$ is diagonal, defining the scaling of control allocation for some representation $ω$. $B(α,β,q)$, termed in this work as the scaling matrix, is a diagonal matrix with elements mapped directly from some vector $b(α,β,q)∈R6$. E represents what is termed the control allocation matrix. With slight abuse of notation, $B(α,β,q)$ can be constructed by
$diag:R6×1→R6×6,B(α,β,q):=diag(b(α,β,q))$
(12)

The row vector bases Ei of $E=[E1TE2TE3TE4TE5TE6T]T$ map the user control effort $ω$ to a space sharing directionality with the force/torque space.

Since the final design of this airframe maintains compatibility with existing control architecture, the designed nonparallel hexrotor must share the control allocation bases associated with throttle, roll, pitch, and yaw Ei, defined for $i=3,4,5,6$ used to control commercial standard hexrotor airframes. The deficient rank matrix $Ea∈R4×6$ is defined as
$Ea=[E3TE4TE5TE6T]T$
(13)
for convenience and contains all row bases required for standard hexrotor throttle, roll, pitch, and yaw control.
The scaling matrix $B(α,β,q)$ described in Eq. (12) is diagonal; thus, the differential speeds are given by
$ωi=EiTfiuiω=∑i=16ωi=ETdiag(f)u$
(14)

In this formulation, $f=[f1f2f3f4f5f6]T$ represents some scaling functions, which consider saturation effects and map the user desired effort to the rotor space $ω$. The normed user control effort can then be described, where $∀k∈{1,2,4,5,6}, uk∈[−1,1]$, and $u3∈[0,1]$.

To formulate E1 and E2, the linear independence condition is applied to the two bases using
$[Ea04×604×6Ea]{E1TE2T}=08×1$
(15)

$∀i,j∈{1,2}|Ei·Ej={1i=j0i≠j$
(16)

where satisfaction of the linear system in Eq. (15) ensures linear independence of E1 and E2 from E3, E4, E5, and E6, and satisfaction of the nonlinear system in Eq. (16) ensures linear independence of E1 from E2, and $||E1||2=1$ and $||E2||2=1$.

The twelve variables used to describe E1 and E2 can be replaced with four independent variables ζr by inspecting the nullity of Eq. (15). The description of nr for $r=1,2,3,4$ and the general solution for E1 and E2 are given by
$n1:=13[12−11212−11201×6]Tn2:=[120−12120−1201×6]Tn3:=13[01×612−11212−112]Tn4:=[01×6120−12120−12]T{E1T(x)E2T(y)}:={E1T(ζ)E2T(ζ)}=∑r=14ζrnr$
(17)
Using the general solution set given in Eq. (17), the nonlinear constraints in Eq. (16) can also be expressed as
$ζ1ζ3+ζ2ζ4=0ζ12+ζ22=1ζ32+ζ42=1$
(18)

What remains in the definition of an appropriate E and solution set is to match the limiting design factors introduced by the physics model regarding E1, E2, and $B(α,β,q)$.

## Decomposition of the Control Effort

Considering the ith motor model derived in Eq. (3), the following:
$Γui=3{bsβi(−cαiE5−sαiE4)êibsβi(−sαiE5+cαiE4)êi2bcβiE3êi(−(qidsβisαi−12Lbcβi)E4−qidsβicαiE5)êi(qidsβicαiE4−(qidsβisαi−12Lbcβi)E5)êi2(−1)i+1(qidcβi+12Lbsαisβi)E6)êi}$
(19)
can be expressed in terms of the chosen bases E3, E4, E5, and E6. $êi$ corresponds to the tensor notation for orthogonal unit vectors in Rn, where $ê1=[10…0]T, ê2=[01…0]T$,…, $ên=[00…1]T$.
Because $A(α,β,q)$ must be decomposable into a diagonal matrix $B(α,β,q)$ and orthonormal matrix E, E3 must be factorable from the third row of $A(α,β,q)$, which is defined by the third element in Eq. (19). Then, $∀i|2bcβi=const⇒βi=β$ must hold, since $βi∈[0,π]$, and the projection of all Zi on ZB must be a constant value for all i. Additionally, $βi=β,∀i$ and Eq. (17) imply necessary satisfaction of
$(sαiE4+cαiE5)êi=((−1)iζ1E4+(−1)iζ2E5)êi(cαiE4−sαiE5)êi=((−1)iζ3E4+(−1)iζ4E5)êi$
(20)
The six components of $α$ satisfying $cαi=(−1)iζ2=(−1)iζ3$ and $sαi=(−1)iζ1=(−1)i+1ζ4$ from Eq. (20) encompass an infinite number of solutions parameterized by the variable $ρ∈R$ in
$E1:=13[s(π6+ρ)−cρs(π6−ρ)s(π6+ρ)−cρs(π6−ρ)]E2:=13[−c(π6+ρ)−sρc(π6−ρ)−c(π6+ρ)−sρc(π6−ρ)]$
(21)
using the nonlinear system developed in Eq. (18).
For all $ρ∈R$, there is a unique expression of the control allocation matrix E, which is orthonormal and contains row bases E3, E4, E5, and E6. This family of solutions provides the framework for a hexrotor capable of fully actuated flight, while retaining standard hexrotor actuation modes. Using Eq. (20), the following expressions are defined for convenience:
$Ex:=[123−13123123−13123]Ey:=[120−12120−12]$
(22)
leading to the following simplified expressions:
$ζ1=3(ExêiE1(ρ)êi+EyêiE2(ρ)êi)=cρζ3=3(EyêiE1(ρ)êi+ExêiE2(ρ)êi)=−sρ$
(23)
The yaw basis E6 can also be used to resolve the form of qi since it must hold that $qidcβ+(L/2)b(−1)iζ1sβ=const⇒qi=(−1)i$ or $qi=(−1)i+1$ to maintain yaw control directionality. The system in Eq. (3) is reduced based on the developed relationships to
$Γui=3{bsβ(sρEy−cρEx)êibsβ(−cρEy−sρEx)êi2bcβE3êi(−(q2dsβcρ−12Lbcβ)E4+q2dsβsρE5)êi(−q2dsβsρE4−(q2dsβcρ−12Lbcβ)E5)êi−2(q2dcβ+12Lbcρsβ)E6êi}ωi2$
(24)
The elements in $Γi$ must be common to all mappings for all rotors. Because ρ spans all rotor definitions, ρ = 0 necessarily, and $αi=(−1)i(π/2)$ or $αi=(−1)i+1(π/2),∀i$, else roll, pitch, forward, and lateral force/torque expressions are coupled and the bases are not orthogonal. Finally, by expanding
$Γui=3{∓bsβEx∓bsβEy2bcβE3(∓q2dsβ+12Lbcβ)E4(∓q2dsβ+12Lbcβ)E5−2(q2dcβ±12Lbsβ)E6}êiωi2$
(25)
four unique solutions are resolved as follows:
$E=[ExTEyTEaT]Tc0″:=∓q2dsβ+12Lbcβc1″:=q2dcβ±12Lbsβb(β)=3[∓bsβ∓bsβ2bcβc0″c0″−2c1″]T$
(26)

where $b(β)$ is the diagonal scaling vector reduced to a single design parameter.

The values of β, αi, and qi can be determined via optimization of appropriate objective functions. The most obvious metrics to evaluate performance for this AM is hovering efficiency and maximum expressible forward/lateral plane force; however, examination of torque expression must also be performed to ensure flight stability.

## Objective Functions

The effective power utilized during the expression of force/torque control effort can be defined proportionally to the total rotor effort via total expended current i, where current usage is dominated by the current necessary to actuate the ith rotor ii. Total expended current can be approximated then by $i=∑iii$. The square rotor angular velocity $ωi2$ was assumed proportional to the expended rotor current via constant Ke such that $ii=Keωi2$. For an approximate total platform power output P, $P=Ze∑iii2$, where Ze is some bulk impedance, the total power can be expressed as $P=ZeKe2∑iωi4$ as given by
$P=ZeKe2∑iωi4$
(27)
A hover efficiency εh is defined as
$PhPe=εh=cβ2$
(28)
relative to a standard parallel hexrotor as the ratio of power necessary to maintain hovering, Ph, of a parallel hexrotor and effective input power expended to maintain hover, Pe, of a nonparallel hexrotor at the same specifications.
Comparative expressions for nonparallel and parallel airframes can be expanded beyond hover efficiency through analysis of $||Γu||2$ given by
$ΓuTΓu=(B(β)Eω)TB(β)Eω=(Eω)TB(β)B(β)Eω$
(29)
Because $Eiω$ is orthogonal to all $Ejω,i≠j$, the magnitude of planar forward/lateral plane force expression can be resolved as follows:
$||Fx+Fy||22=3b2sβ2(ωTE1TE1ω+ωTE2TE2ω)=6b2sβ2∑iωi4$
(30)
A hover efficiency, εh and forward/lateral force expression may be optimized using two objective functions $Fh(β)=−cβ2$ and $Fxy(β)=−sβ2$, where minimization of $Fh(β)$ results maximum εh and minimization of $Fxy(β)$ results maximum forward/lateral force expression. However, the true optimum value for either cannot be reached without loss of controllability. Rather, each objective function is a constraint in the minimization of the other. The optimal solution is dependent on the requirements of the final application. For example, an AM application requires the minimum $Fxy(β)$ constrained by the lowest tolerable εh. While this result is intuitive, the effect of design parameters on attitude stability may not be directly apparent. The effective roll/pitch torque expression τxy and yaw torque expression are given by
$||τxy||22:=||τx+τy||22=3(∓q2dsβ+12Lbcβ)2(ωE4TE4ω+ωE5TE5ω)=6(∓q2dsβ+12Lbcβ)2∑iωi4$
(31)

$||τz||22=3(q2dcβ±12Lbsβ)2ωE6TE6ω=6(q2dcβ±12Lbsβ)2∑iωi4$
(32)

It should be noted that the diagonal elements of the scaling matrix $B(β)$ shown in Eq. (26) have direct correlations between the scaling of effective power and the force/torque space.

While drag effects dominate yaw torque production in standard hexrotor configurations, thrust torque effects dominate roll and pitch effects. However, nonparallel hexrotor torque expressions are coupled. The variable τxy is introduced to represent the planar torque projection scaling onto the forward/lateral plane, while τz is used to represent yaw torque scaling in Fig. 6 for tests performed using the motors shown in the rig in Fig. 3.

It should be noted that the thrust torque effects tend to dominate drag torque effects in scaling because thrust coefficient b for a rotor/propeller pairing are generally on the order of 102 larger than drag coefficient d. Depending on the design configuration of the nonparallel fully actuated hexrotor outlined in this paper, conservative and aggressive designs present two sets of τxy and τz. The difference between conservative and aggressive designs depends on the spin parameter qi relative to αi. To demonstrate the physical interpretation of torque scaling, the two design angles of $β=(π/6)$ and $β=(π/4)$ need to be noted in Fig. 6.

Energy-based metrics such as planar force/torque are not the only objective functions, which may be considered. Due to the finite number of rotors, there is an inherent asymmetry in force/torque expression based on the defined configuration. While there are five other similar design metrics, the allowable maximum force expression in the forward direction is the only one presented in this work as
$−sβTratio+tβ≤Fxmg≤tβ−12tβ≤Fxmg≤12Tratiosβ−12tβ$
(33)

In Eq. (33), the allowable forward force Fx must be constrained due to the saturation of the rotors. Rotors speeds can neither exceed the maximum value ωmax, nor produce negative spin. This constraint is expressible as a function of the variable $Tratio=6bωmax2/mg$. This was found through inspection of the rotor mapping and constraining the instantaneous output of the rotors ωi by $0≤ωi2≤ωmax2$. The ratio relates the total maximum rotor output of the platform to its total mass. In this way, the characteristics of any hexrotor of this type may be accounted for this study. Figure 6 shows the calculated ranges of total forward force, Fx, as a function of β for the described initial prototype and several arbitrary Tratio.

## Experimental Verification

Of the four unique solutions, which satisfy the design outlined in this paper, a conservative design was chosen due to its relatively smaller effect on torque expression, where $q2=1$; thus, $γi=(π/3)((π/2)−i), αi=(π/2)(−1)i−1, βi=(π/6)$, and $qi=(−1)i$. The constant β was chosen to be $(π/6)$ because it provides adequate forward/lateral force expression for initial testing, while offering a limited effect on roll/pitch torque scaling at 88% that of a standard hexrotor. The prototype was built using a Flamewheel 550 frame, where custom motor mounts were printed to specification to the total cross-span. The total cross-span was then $L=702.4 mm$. To facilitate flight control, a Pixhawk and an Odroid XU4 were utilized within the robot operating system framework. Global user commands are sent to the Pixhawk via RC or MAVROS message, while real-time local control is affected using the developed custom flight stack. The additional degrees of control were incorporated in custom flight modes added to the ArduPilot firmware. The novelty of this flight stack is its ability to seamlessly transition between standard hexrotor control allocation and nonparallel hexrotor control midflight. In practice, the 4 RC channels utilized in standard hexrotor control methods for throttle, roll, pitch, and yaw are reallocated to control throttle, forward, lateral, and yaw efforts as in Fig. 7. Roll and pitch are set to regulate to 0 radians as this is the most stable roll/pitch state. The prototype was mounted to a six-axis force/torque sensor as shown in Fig. 7 for saturation testing. The limit of saturation for decoupled forward force generation is presented in Fig. 8. Total referenced force was interpolated from the throttle command at 15 N. It was posed at the objective function phase of the design that maximum expressible forward/lateral force $∝ sin2β⇒$ a maximum planar force expression of $3.75N$. The slight difference in the measured saturated forward force expression and expected can be attributed to the asymmetry in design as was outlined in Fig. 6. Since there are six rotors at discrete locations, the total planar force scaling cannot be allocated evenly radially.

A simplified overview of the custom flight stack written for the platform is shown in Fig. 9. This flight stack applies six degrees of control over XY force production, throttle, roll, pitch, and yaw. At the user's command, the platform flight mode selector highlighted in yellow will switch RC channel 1 and 2 functions toward XY control or roll/pitch control. The controller that is not selected is regulated to the $0$ signal. All signal inputs are corrected to a desired internal control reference. This internal control reference is mixed with the other control signals to ensure stable flight. The added XY controller, attitude controller, and throttle controller signals are used in the AP_Motors library threaded code. Here, the servo output is developed by mixing the control signals toward saturation correction and applied to a motor mask. The mask outputs the six rotor signals necessary to achieve fully actuated flight to the electronic speed controller hardware, which actuates the motors.

For initial closed-loop flight testing, an Optitrack motion tracking system was used within MAVROS to generate velocity references for the prototype toward autonomous tracking of a desired position and pose as shown in Fig. 10.

The resulting position and pose plots from the closed-loop flight test are shown in Figs. 11 and 12. The signals xr, yr, zr, $ϕr$, θr, and ψr denote position and pose references sent from custom robot operating system code, while signals xf, yf, zf, $ϕf$, θf, and ψf show the measured position and pose signals reported by Optitrack.

## Conclusions

In this paper, an analytical justification for the design of a fully actuated hexrotor was presented. It was shown that for the outlined control allocation assumption, there exist four unique solutions, which provide decoupled fully actuated flight, while maintaining compatibility with existing multirotor control architecture. By adhering to the control allocation assumption, existing control architecture was applied to the platform seamlessly through the development of a custom flight stack based on and compatible with the AruPilot ArduCopter flight stack. A qualitative set of objective functions were introduced, which may be applied to any AM application, which considers flight time, forward/lateral force expression, and flight stability. The most difficult consideration for design is that of torque scaling. While roll pitch torque expression can be accounted for with little modification, yaw torque expression drastically increases with design β due to the addition of thrust effects. Experimental testing verified the concept of asymmetric constraints on control scaling, and the feasibility of flight using the custom flight controller.

Future work includes improvement of the attitude controller and XY tracking before AM testing. Aerial manipulation tests will be performed to assess its effect on end-effector tracking and disturbance rejection. As proposed by Langkamp [11], an actuated tilt mechanism would greatly improve AM performance. The proposed flight stack allows a UAV to fly using the 4DOF controller for throttle, roll, pitch, and yaw, or a 6DOF controller for forward, lateral, throttle, roll, pitch, and yaw. With this setup it is possible to pilot the prototype as a standard hexrotor over longer distances with high efficiency, then transition to the fully actuated control scheme during dexterous AM maneuvers. Indeed, the development of the dynamic model and control allocation mapping ensures that for stable altitude and attitude, a decoupled XY controller may be considered of the input-affine form with zero-drift. Stability guarantees of works describing standard hexrotor altitude and attitude dynamics apply to this design, where saturation and scaling effects must be considered. Lastly, because the developed flight stack is based on APM Firmware, open-source development of this platform is possible with the addition of the modular flight mode selector.

## Acknowledgment

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s).

## Funding Data

• National Science Foundation (Grant No. 1430328).

• Savanna River Nuclear Solution, LLC (Contract No. 0000217400).

## References

References
1.
Arleo
,
G.
,
Caccavale
,
F.
,
Muscio
,
G.
, and
Pierri
,
F.
,
2013
, “
Control of Quadrotor Aerial Vehicles Equipped With a Robotic Arm
,”
21st Mediterranean Conference on Control & Automation
(
MED
), Chania, Greece, June 25–28, pp.
1174
1180
.
2.
Lippiello
,
V.
,
Cacace
,
J.
,
Santamaria-Navarro
,
A.
,
,
J.
,
Trujillo
,
M. A.
,
Esteves
,
Y. R.
, and
Viguria
,
A.
,
2016
, “
Hybrid Visual Servoing With Hierarchical Task Composition for Aerial Manipulation
,”
IEEE Rob. Autom. Lett.
,
1
(
1
), pp.
259
266
.
3.
Orsag
,
M.
,
Korpela
,
C.
,
Bogdan
,
S.
, and
Oh
,
P.
,
2013
, “
Lyapunov Based Model Reference Adaptive Control for Aerial Manipulation
,”
International Conference on Unmanned Aircraft Systems
(
ICUAS
), Atlanta, GA, May 28–31, pp.
966
973
.
4.
Huber
,
F.
,
Kondak
,
K.
,
Krieger
,
K.
,
Sommer
,
D.
,
Schwarzbach
,
M.
,
Laiacker
,
M.
,
Kossyk
,
I.
,
Parusel
,
S.
,
,
S.
, and
Albu-Schaffer
,
A.
,
2013
, “
First Analysis and Experiments in Aerial Manipulation Using Fully Actuated Redundant Robot Arm
,”
IEEE International Conference on Intelligent Robots and Systems
(
IROS
), Tokyo, Japan, Nov. 3–7, pp.
3452
3457
.
5.
Scholten
,
J. L. J.
,
Fumagalli
,
M.
,
Stramigioli
,
S.
, and
Carloni
,
R.
,
2013
, “
Interaction Control of an UAV Endowed With a Manipulator
,”
IEEE International Conference on Robotics and Automation
(
ICRA
), Karlsruhe, Germany, May 6–10, pp.
4910
4915
.
6.
Acosta
,
J. A.
,
Sanchez
,
M. I.
, and
Ollero
,
A.
,
2014
, “
Robust Control of Underactuated Aerial Manipulators Via IDA-PBC
,”
IEEE Conference on Decision and Control
, (
CDC
), Los Angeles, CA, Dec. 15–17, pp.
673
678
.
7.
Sánchez
,
M. I.
,
Acosta
,
J. A.
, and
Ollero
,
A.
,
2015
, “
Integral Action in First-Order Closed-Loop Inverse Kinematics. Application to Aerial Manipulators
,”
IEEE International Conference on Robotics and Automation
(
ICRA
), Seattle, WA, May 26–30, pp.
5297
5302
.
8.
Santamaria-Navarro
,
A.
,
Lippiello
,
V.
, and
,
J.
,
2014
, “
Task Priority Control for Aerial Manipulation
,”
12th IEEE International Symposium on Safety, Security and Rescue Robotics
, (
SSRR
) Hokkaido, Japan, Oct. 27--30, pp. 1--6.
9.
Nikou
,
A.
,
Gavridis
,
G. C.
, and
Kyriakopoulos
,
K. J.
,
2015
, “
Mechanical Design, Modelling and Control of a Novel Aerial Manipulator
,” IEEE International Conference on Robotics and Automation (
ICRA
), Seattle, WA, May 26–30, pp.
4698
4703
.
10.
Park
,
S.
,
Her
,
J.
,
Kim
,
J.
, and
Lee
,
D.
,
2016
, “
Design, Modeling and Control of Omni-Directional Aerial Robot
,”
IEEE International Conference on Intelligent Robots and Systems
(
IROS
), Daejeon, South Korea, Oct. 9–14, pp.
1570
1575
.
11.
Langkamp
,
D.
,
Roberts
,
G.
,
Scillitoe
,
A.
,
Lunnon
,
I.
,
Zamecnik
,
J.
,
Proctor
,
S.
,
Turner
,
M.
,
Lanzon
,
A.
,
Crowther
,
W.
, and
Llopis-Pascual
,
A.
,
2011
, “
An Engineering Development of a Novel Hexrotor Vehicle for 3D Applications
,”
The International Micro Air Vehicles Conference
(
IMAV 2011
), Delft, The Netherlands, Sept. 12–15.
12.
Jiang
,
G.
, and
Voyles
,
R.
,
2013
, “
Hexrotor UAV Platform Enabling Dextrous Aerial Mobile Manipulation
,”
International Micro Air Vehicle Conference and Competitions
(
SSRR
), Linkoping, Sweden, Oct. 21–26, pp.
1
6
.
13.
Rajappa
,
S.
,
Ryll
,
M.
,
Bulthoff
,
H. H.
, and
Franchi
,
A.
,
2015
, “
Modeling, Control and Design Optimization for a Fully-Actuated Hexarotor Aerial Vehicle With Tilted Propellers
,”
International Conference on Robotics and Automation
(
ICRA
), Seattle, WA, May 26–30, pp.
4006
4013
.
14.
Ryll
,
M.
,
Bicego
,
D.
, and
Franchi
,
A.
,
2016
, “
Modeling and Control of FAST-Hex: A Fully Actuated by Synchronized Tilting Hexarotor
,”
IEEE/RSJ International Conference on Intelligent Robots and Systems
(
IROS
), Daejeon, South Korea, Oct. 9–14, pp.
1689
1694
.
15.
Craig
,
J. J.
,
2004
,
Introduction to Robotics: Mechanics and Control
,
3rd ed.
, Vol.
1
, Pearson Education, Inc., Upper Saddle River, NJ.
16.
Pounds
,
P.
,
Mahony
,
R.
,
Hynes
,
P.
, and
Roberts
,
J.
,
2002
, “
Design of a Four-Rotor Aerial Robot
,”
Australasian Conference on Robotics and Automation
, Auckland, New Zealand, Nov. 27–29, pp.
145
150
.
17.
Chovancová
,
A.
,
Fico
,
T.
,
Chovanec
,
U.
, and
Hubinsk
,
P.
,
2014
, “
Mathematical Modelling and Parameter Identification of Quadrotor (a Survey)
,”
Procedia Eng.
,
96
, pp.
172
181
.
18.
Kotarski
,
D.
,
Piljek
,
P.
, and
Krznar
,
M.
,
2016
, “
Mathematical Modelling of Multirotor UAV
,”
Int. J. Theor. Appl. Mech.
,
1
, pp.
233
238
.
19.
Antonelli
,
G.
,
Cataldi
,
E.
,
Giordano
,
P. R.
,
Chiaverini
,
S.
, and
Franchi
,
A.
,
2013
, “
,”
IEEE/RSJ International Conference on Intelligent Robots and Systems
(
IROS
), Tokyo, Japan, Nov. 3–7, pp.
2439
2444
.
20.
Bresciani
,
T.
,
2008
, “
Modelling, Identification and Control of a Quadrotor Helicopter
,” M.Sc. thesis, Lund University, Lund, Sweden.