Abstract

This paper presents a robust method for controlling the terrestrial motion of a bimodal multirotor vehicle that can roll and fly. Factors influencing the mobility and controllability of the vehicle are explored and compared to strictly flying multirotor vehicles; the differences motivate novel control and control allocation strategies that leverage the non-standard configuration of the bimodal design. A fifth-order dynamic model of the vehicle subject to kinematic rolling constraints is the basis for a nonlinear, multi-input, multi-output, sliding mode controller. Constrained optimization techniques are used to develop a novel control allocation strategy that minimizes power consumption while rolling. Simulations of the vehicle under closed-loop control are presented. A functional hardware embodiment of the vehicle is constructed onto which the controllers and control allocation algorithm are deployed. Experimental data of the vehicle under closed-loop control demonstrate good performance and robustness to parameter uncertainty. Data collected also demonstrate that the control allocation algorithm correctly determines a thrust-minimizing solution in real-time.

1 Introduction

Bimodal vehicles continue to draw the attention of researchers because of their potential for autonomous operations in unknown environments [15]. Bimodal vehicles can adapt to their environment by combining complementary locomotion mechanisms in a single vehicle or by altering the operation of locomotion mechanisms in accordance with the terrain. Additionally, bimodality promises superior efficiency, as different locomotion mechanisms often present a tradeoff in energetic cost. Aerial bimodal vehicles have been the focus of research efforts due to their unmatched mobility in uncertain and changing environments. As a result, several classes of aerial bimodal vehicles have emerged, including rolling–flying [610], walking–flying [11,12], and swimming–flying ([1315]). Each of these classes utilizes various mechanisms for propulsion and lift.

Figure 1 illustrates an embodiment of a rolling–flying vehicle (RFV) that utilizes rotary wings for both rolling locomotion and lift generation. This class of vehicles was first conceived by Ref. [6] when they created a Hybrid Terrestrial/Aerial Quadrotor (HyTAQ), consisting of a quadrotor suspended within a single rolling cage that may roll along the ground and fly. A successful commercial embodiment of this vehicle architecture is the Parrot Rolling Spider (Parrot Drones sas). Here, rolling is accomplished via two independent, passive wheels on either side of the vehicle. The pitch angle of the rotor plane is independent of the wheels’ angular orientation so that the wheels are freely towed by the rotors. This configuration combines the efficiency of rolling locomotion with the mobility and maneuverability of rotary-wing flight; the energetic efficiency of the RFV compared to a conventional flying multirotor vehicle (CFMV) has been established by Ref. [16].

Fig. 1
A rolling–flying vehicle (RFV). During terrestrial operation, the wheels are passively towed by the rotary wings, which provide thrust, steering, and pitch control. Wheel velocities and vehicle orientation are measured with encoders and an inertial navigation system, respectively.
Fig. 1
A rolling–flying vehicle (RFV). During terrestrial operation, the wheels are passively towed by the rotary wings, which provide thrust, steering, and pitch control. Wheel velocities and vehicle orientation are measured with encoders and an inertial navigation system, respectively.
Close modal

For example, the cost-of-transport (COT) of the RFV is less than 15% of the COT of a CFMV of comparable mass at low velocities (<5 m/s), while the operating times of the RFV are an order of magnitude higher.

As with nearly any exploratory mobile robot, closed-loop control of the RFV’s heading is necessary for basic operation. In contrast to other mobile robots, however, control of the pitch angle is critical to realizing the energetic benefits of the RFV. CFMVs and their control have been studied extensively [1720], along with effective methods for control allocation [2123]. However, the methods and assumptions used to develop controllers for CFMVs are not valid for an RFV, despite the RFV utilizing the same multirotor mechanism for both rolling and flying. Atay et al. [24] reveal that the dynamic model, flat outputs, and exogenous forces associated with the RFV’s rolling mode differ substantially from those of a CFMV due to the presence of kinematic constraints on the RFV. Furthermore, the RFV’s pitch angle range is considerably greater than that of a CFMV, invalidating any small-angle assumptions based on near-horizontal nominal operating conditions. Such assumptions are common in the CFMV literature as they permit significant simplification of the dynamic models used to design control systems [17,18].

Furthermore, the ability to roll permits the RFV to operate with small rotor thrusts compared to a CFMV because the RFV’s weight is partially supported by the ground when rolling. While this results in reduced power consumption, this also precludes the use of traditional control allocation methods which typically do not constrain the rotor thrusts to be positive. Because the RFV body forces are so small, synthesizing even modest body torques causes traditional control allocation methods to prescribe negative thrusts. However, negative thrusts cannot be efficiently produced by standard rotors, which are designed to always rotate in a single direction. Producing negative thrusts requires either variable pitch propellers, such as those used by Ref. [10], or symmetric (and therefore less efficient) propellers paired with motor drivers capable of reversing direction. Therefore, to avoid prescribing negative thrusts, the RFV requires control allocation methods that cope with actuator constraints and that can be executed rapidly on a real-time microprocessor. As will be shown, constrained control allocation is critical to realizing the energy efficiency of the RFV’s rolling mode of locomotion due to intermittent coupling that exists between the RFV pitch angle and forward velocity.

Kalantari and Spenko [6] invented and patented HyTAQ, consisting of a quadrotor suspended within a single rolling cage. The RFV presented here is one of the many embodiments covered by their patent [25]; specifically, the RFV uses two independently passive rotating wheels rather than a single monolithic cage. In Ref. [6], a model of a single-wheeled vehicle is developed, though the model is not used to design a control system. Takahashi et al. [7] developed the All-Round Two-Wheeled unmanned aerial vehicle (UAV) that contains hemispherical wheels that envelop a UAV suspended along the wheels’ axle. They design a position tracking controller based on a simplified dynamic model wherein the rotational dynamics and nonholonomic constraints are ignored. Mizutani et al. [26] develop a spherical shell permitting a quadrotor placed within to roll. Here, an off-the-shelf quadrotor is used, so no control system nor control allocation design is attempted. Takahashi et al. [7] do not address control allocation, while Ref. [6] uses an open-source multirotor embedded system to control their vehicle (Arduino Arducopter) which uses proportional-integral-derivative (PID) controllers and traditional unconstrained control allocation methods, which are suboptimal for the RFV.

This paper builds on the work of Refs. [6] and [7] by developing model-based control systems and a control allocation strategy for the RFV of Fig. 1. The controller design is based upon the dynamic model developed by Ref. [24], which takes into consideration the various constraints imposed upon the vehicle while in contact with the ground, and does not make any small-angle assumptions. The implications of the constraints as they relate to differential flatness, controllability, and control allocation are explored. This reveals limitations in the extent to which the system outputs can be decoupled and independently controlled. RFV and CFMV characteristics that influence control system development are discussed, and key differences are identified. Consideration of these differences motivates the development of novel closed-loop control systems for the RFV. A model-based, nonlinear, multi-input, multi-output (MIMO), sliding mode controller is designed. The controller’s robustness to bounded parameter uncertainties is proven using Lyapunov’s direct method. A novel constrained control allocation method is developed which determines the required rotor thrusts that will synthesize the desired input forces and moments while minimizing the total thrust produced and ensuring that all thrusts are positive. The solution is proved to be minimal. A hardware embodiment of the RFV is developed, including a custom real-time controller, permitting novel control and control allocation methods to be deployed and tested. The mechanical, electrical, and software subsystems of the RFV prototype are briefly discussed, and empirical results from the hardware are presented alongside simulation results.

This paper is organized as follows: First, the dynamic model of an RFV is briefly presented. Second, the RFV and CFMVs are compared in the context of control system development. Third, a procedure for designing closed-loop controllers for the RFV’s flat outputs is presented. Fourth, a method for control allocation is developed. Fifth, a hardware embodiment of the RFV is described. Sixth, simulation and experimental results are presented. Lastly, the results are discussed along with opportunities for future work.

2 Methods

2.1 Dynamic Model of the Rolling–Flying Vehicle.

Figure 2 shows a schematic illustration of the RFV that identifies the generalized coordinates, constraints, impressed forces and moments, and various frames of reference which define the model. Point b is located at the center of the RFV body B, midway between two wheels W1 and W2, and is the origin of body reference frame B which is rigidly fixed in B. Point i is located at the origin of an inertially fixed reference frame I. Referring to Fig. 2(c), an intermediate reference frame F is defined with respect to I, the origin of which is collocated with the origin of frame B at point b. As a result, the x^-axes of F and B are parallel, and F is free to rotate about the x^-axis of B. Wheels W1 and W2 contact the ground at points c1 and c2, respectively. W1 and W2 are free to rotate about the x^-axis of B. Referring to Fig. 2(b), the control inputs to the system are a force FzB in the B frame z^-direction and three moments MxB,MyB, and MzB resolved in the B frame x^-, y^- and z^-directions, respectively.

Fig. 2
Schematic representations of the RFV illustrating (a) the generalized coordinates, (b) the impressed forces, and constraints and (c) the various frames of reference. Point G is the center of mass, which is offset in the B frame z^-direction. Image taken from Ref. [24].
Fig. 2
Schematic representations of the RFV illustrating (a) the generalized coordinates, (b) the impressed forces, and constraints and (c) the various frames of reference. Point G is the center of mass, which is offset in the B frame z^-direction. Image taken from Ref. [24].
Close modal
As this paper is concerned with the terrestrial motion of the RFV, the model assumes that the vehicle is always in contact with the ground. Specifically, we assume that the vehicle operates upon a horizontal plane, the wheels do not slip, and the wheels never lose contact with the horizontal plane. The RFV is modeled using the method of Euler–Lagrange subject to nonholonomic constraints, and a complete derivation of the model is provided in [24]. Although the RFV is characterized by six generalized coordinates which appear in Fig. 2(a) (x, y, σ, α, θ1, and θ2), the wheel constraints reduce the RFV to a three-degree-of-freedom (DOF) system for which the equations of motion are
y¨F=FyFDy+mBhIx(12mBghsin(2α)(DαMxF)cosα(Ix(α˙2+σ˙2)+(IzIy)σ˙2cos2α)sinα)2IxwR2+mB+2mW
(1)
σ¨=MzF+α˙σ˙(IzIy)sin(2α)Dσ+mBhσ˙y˙Fsinα2(L2IxwR2+Iyw+mwL2)+Iysin2α+Izcos2α
(2)
α¨=MxF12(IzIy)σ˙2sin(2α)Dα+mBghsinαIxmBhIx(12mBh(α˙2+σ˙2)sin(2α)+(FyFDy)cosα)2IxwR2+mB+2mW
(3)
where y˙F and y¨F are the velocity and acceleration, respectively, of point b resolved in the F frame, σ and α are Euler angles specifying the yaw angle and pitch angle, respectively, of the B frame with respect to the I frame, and Dy,Dσ, and Dα are nonconservative dissipation terms that are functions of rolling resistance, viscous damping, and aerodynamic drag. The input force and moments are rotated from the B frame into the F frame so that
FyF=FzBsinαMxF=MxBMyF=MyBcosαMzBsinαMzF=MyBsinα+MzBcosα
(4)
The model parameters are gravitational acceleration g, wheel radius R, distance from point b to the center of each wheel L, body mass mB, body principal moments of inertia Ix, Iy, Iz, wheel mass mW, wheel principal moments of inertia Ixw, Iyw, and the location of the center of mass G (which is fixed in B) relative to point b in the B frame z^-direction, h.

2.2 Comparison of the Rolling–Flying Vehicle and CFMV.

The RFV described in this paper differs substantially from a CFMV, and these differences warrant new approaches to control and control allocation. First, the constraints imposed upon the RFV and CFMV differ. Several constraints occur where the RFV’s wheels contact the ground. This contrasts with a CFMV which is subject to no constraints; the six degrees-of-freedom that describe a CMFV (three position coordinates and three Euler angles) are independent of one another. Constraints influence what subset of generalized coordinates can be independently prescribed and therefore controlled.

To see this, consider the CFMV shown in Fig. 3(a), which can produce a positive horizontal force Fy by operating at a pitch angle α < 0, where Fy is the horizontal component of the net thrust T. To maintain a constant altitude in the z^-direction, the vertical component of thrust must always exactly counteract the weight of the vehicle W. This has the effect of coupling α and Fy. Since Fy is the control for the forward velocity y˙, there exists a coupling between α and y˙. As a result, one cannot specify α independently of y˙.

Fig. 3
(a) A CFMV’s pitch angle α is coupled to the horizontal force Fy generated by the rotor thrust T because the vertical component of T must offset the vehicle weight W. (b) The RFV’s pitch angle can vary while producing a given FyF because the vertical component of T does not have to support the weight of the vehicle. Instead, the normal force FN partially supports the vehicle’s weight.
Fig. 3
(a) A CFMV’s pitch angle α is coupled to the horizontal force Fy generated by the rotor thrust T because the vertical component of T must offset the vehicle weight W. (b) The RFV’s pitch angle can vary while producing a given FyF because the vertical component of T does not have to support the weight of the vehicle. Instead, the normal force FN partially supports the vehicle’s weight.
Close modal

This intuitive explanation can be rigorously demonstrated using the notion of differential flatness. If a dynamic system’s states and inputs can be written as a function of the system’s outputs and their derivatives, then the system is said to be differentially flat and the outputs are referred to as flat outputs [27]. A consequence of being differentially flat is that any trajectory specified in terms of the flat outputs can be directly mapped to the inputs and thus used to specify feasible motion trajectories. Several researchers [28,29] demonstrate that the flat outputs of a CFMV are x˙ (velocity normal to the page), y˙,z˙ (vertical velocity), and the yaw angle σ (not shown); in particular, the pitch angle α is not a flat output. This contrasts with the RFV, whose flat outputs are σ, α, and y˙F [24]. Referring to Fig. 3(b), the difference in flat outputs is due to the normal constraints on the RFV’s wheels, which result in normal forces that partially support the vehicle’s weight. As a result, the vertical component of the thrust force is not required to support the vehicle’s weight, meaning that T, and therefore FyF, can be prescribed independently of α. The difference in flat outputs reveals that CFMV control algorithms are not ideal for controlling the RFV, as they will simultaneously inhibit independent control of the flat output α while attempting to control non-flat outputs x˙ and y˙ and the non-output z˙. Rather, RFV control algorithms should be based on the dynamic model of Eqs. (1)(3), which permits control of the flat outputs σ, α, and y˙F. In general, the independence of α and y˙F can be leveraged to optimize the RFV operation for maximum range, while control of α alone enables optimization for minimum power consumption [16]. This occurs because control of α permits control of wheel normal force, and therefore wheel rolling resistance. This in turn influences power consumption and range. The optimal α at which to operate depends on terrain, highlighting the importance of a broad range for α control.

Furthermore, the difference in flat outputs reveals that the RFV is over-actuated while rolling; the RFV’s four rotors, which are capable of controlling the four flat outputs of a CFMV (i.e., x˙,y˙,z˙ and σ), only need to control three flat outputs while rolling: σ, α, and y˙F. As a consequence, the rolling operation may require fewer than four rotors to operate at a time. This is accomplished via a thrust-minimizing control allocation method described further in Secs. 2.4 and 3.2.2.

Another difference between the RFV and CFMVs is the exogenous dissipative forces acting upon the vehicles. In addition to aerodynamic drag forces, the RFV must overcome rolling resistance due to unmodeled terrain and viscous friction present in the wheel bearings. These dissipative forces and the outputs which they affect are captured by Dy,Dσ, and Dα. Additionally, the proximity of the rotors to the ground at low α creates uncertain ground effect disturbances which the α control system must reject.

Finally, CFMVs and the RFV admit different simplifying assumptions. The nominal operating condition of a CFMV is typically horizontal. As a result, many attitude control systems are developed by linearizing the system dynamics about the horizontal configuration and making a small-angle assumption [18,28,30]. Linearization and/or small-angle strategies are unsuitable for the RFV as α is unrestricted and may assume values far from horizontal for extended periods. One consequence of large α values is the inertial cross-coupling that occurs due to the sin(α) and sin(2α) terms appearing in Eqs. (1)(3). These terms create significant inertial torques that must be overcome by the controller. Large α values also mean that transforming forces and moments from the F frame (in which the flat outputs are defined) to the B frame (in which the actuators reside) depend on the value of α. As will be shown in Sec. 2.4, the B frame moments required to achieve a given yawing torque are modulated by sinα and cosα.

Several researchers relax the small-angle assumption and develop model-based nonlinear controllers for CFMVs [17,18,20]. These controllers control orientation by generating moments about an arbitrary axis of a CFMV. This strategy is effective because the CFMV is unconstrained and so free to rotate about any axis. However, the RFV is constrained in multiple ways and so cannot rotate about an arbitrary axis. For example, the RFV cannot undergo lateral rolling (rotation about the F frame y^-axis) without one or both wheels leaving the ground. Were the RFV’s attitude controlled in the same manner a CFMV’s then energy could be wasted trying to rotate the RFV against a constraint. In fact, it is unclear what the commanded lateral roll should be as the slope of the terrain may change. Instead, α and σ (which are flat outputs) are controlled to track a trajectory while lateral rolling can either be uncontrolled or suppressed using active damping (see Sec. 2.4).

2.3 Control System Development.

In this section, the model of Eqs. (1)(3) is used to design a closed-loop control system for the RFV. First, the model is rewritten in a more manageable form by defining a state vector xR5, input vector uR3, and output function z:R5R3 such that x=[σσ˙αα˙y˙F]T, u=[MzFMxFFyF]T and z(x)=[x1x3x5]T=[σαy˙F]T. Then, the equations of motion (1)(3) can be rewritten as
x˙=[x21c4(c1x2x4sin(2x3)+c2x2x5sinx3+c3+u1)x41c8(c5x22sin(2x3)+c6sinx3+c7+u2)+δ11c10(c9+u3)+δ2],z(x)=[x1x3x5]
(5)
where c1=IzIy,c2=mBh,c3=Dσ,c4=2(L2Ixw/R2+Iyw+mWL2)+Iysin2α+Izcos2α,c5=(IzIy)/2,c6=mBgh,c7=Dα,c8=Ix,c9=Dy, c10 = 2Ixw/R2 + mB + 2mW, and δ1 and δ2 are the remaining unaccounted for terms in Eqs. (3) and (1), respectively. Here, we assume that the δ1 and δ2 terms are considerably smaller than the other terms in Eqs. (3) and (1) for reasonable values of the state and inputs. Therefore, we treat these terms as modeling uncertainties that can be bounded. This assumption simplifies the subsequent control system development by leading to complete input–output decoupling. A result, however, is that the stability properties are only semi-global.

The control objective is to independently control zi for i = 1, 2 (i.e., σ and α) such that ziri as t → ∞, where ri is the reference trajectory to be tracked by the ith output and t is the time. This is accomplished using feedback linearization augmented with sliding mode control. Sliding mode control will ensure closed-loop stability in the presence of bounded modeling uncertainties provided that the uncertainties are matched [31,32]. Formulating the model as in (5) rather than in a more general form permits the uncertainty in the individual nonlinear terms to be bounded, which will result in a less conservative controller; i.e., the control action will be smaller [32].

To feedback linearize the nonlinear MIMO system of (5), an input–output decoupling transformation must be found that decouples each output from all but one input. Fortunately, an inspection of (5) reveals that the system is already decoupled; ui can be used to linearize and control zi for i = 1, 2, 3. Moreover, the uncertainties appearing in (5) are matched. With the system input–output decoupled, the control system for each input–output pair can be developed independently [32]. Partitioning (5) into three subsystems results in a second-order subsystem for controlling z1 (i.e., σ), a second-order subsystem for controlling z2 (i.e., α), and a first-order subsystem for controlling z3 (i.e., y˙F). The objective here is to develop controllers for the z1 and z2 subsystems, which have the following form:
ξ˙=[ξ˙1ξ˙2]=[ξ21κ4(κ1ψ1(x)+κ2ψ2(x)+κ3+u)+δ]ρ(ξ)=ξ1
(6)
where ξR2 represents the two-dimensional state (e.g., [σ,σ˙]T), ρ:ℝ2 → ℝ is the scalar output function, ψ1:ℝ5 → ℝ and ψ2:ℝ5 → ℝ represent static nonlinearities, u is the scalar input, and κ1, κ2, κ3, κ4, and δ are uncertain parameters, e.g., κ1 = c1, κ2 = c2, κ3 = c3, κ4 = c4, and δ = 0 for the z1 controller. The error associated with the system (6) is
e=[e0e1e2]=[t(rρ)dtrρr˙ρ˙]
(7)
where r and r˙ are the desired output and its time derivative. Therefore, e0 is the integrated output tracking error, e1 is the output tracking error, and e2 is the output tracking error rate. Differentiating (7) yields the following error system
e˙=[e1e2r¨ρ¨]=[e1e2v]=[010001000]e+[001]v
(8)
where
νr¨1κ4(κ1ψ1+κ2ψ2+κ3+u)δ
(9)
is a fictitious input that feedback linearizes (6). The objective now is to stabilize the origin of (8) using sliding mode control. To do so, a stabilizing control law ϕ is defined for the two-dimensional subsystem of ζ[e0e1]T
ζ˙=[0100]ζ+[01]ϕ
(10)
such that ζ0 as t → ∞. A state feedback control law is chosen so that ϕ=KTζ, where K=[K0K1]T are state feedback gains. If pole placement is used, then K0 = λ0λ1 and K1 = − λ0λ1, where λ0 and λ1 are complex-valued pole locations in the left-half plane. Alternatively, an optimal solution using a linear quadratic regulator (LQR) can be used to determine the state feedback gains K. If e2 can be controlled such that e2=ϕ(ζ), then ζ0e20, and (8) is stabilized. The error between e2 and ϕ is defined as
s=e2ϕ=e2+KTζ=e2+K0e0+K1e1
(11)
The manifold s = 0 is the so-called sliding surface and the dynamics
e2+K0e0+K1e1=e¨0+K1e˙0+K0e0=0
(12)
are the stable sliding mode dynamics that determine the behavior of the system once s = 0. Now, the problem of stabilizing the origin of (8) is reduced to stabilizing the origin of s, which is accomplished using Lyapunov’s direct method. A positive-definite Lyapunov function is defined as V(s) = s2/2. If a control law for u can be developed such that V˙(s) is negative definite, then s → 0 as t → ∞. The derivative of V(s) is
V˙(s)=ss˙=s(e˙2+K0e˙0+K1e˙1)=s(v+K0e1+K1e2)=s(r¨1κ4(κ1ψ1+κ2ψ2+κ3+u)δ+K0e1+K1e2)
(13)
If u can be chosen such that
r¨1κ4(κ1ψ1+κ2ψ2+κ3+u)δ+K0e1+K1e2=ηsgn(s)
(14)
for η > 0, then V˙(s)=η|s|0 making s = 0 an invariant set [32]. That is, s will asymptotically approach and remain at the origin. However, a control law based on (14) assumes perfect knowledge of the parameters κ1, κ2, κ3, κ4, and δ. In reality, the parameters’ exact values are uncertain, meaning that a control law based on (14) alone cannot guarantee s → 0. Instead, choose u such that
r¨1κ4(κ^1ψ1+κ^2ψ2+κ^3+u)δ^+K0e1+K1e2=βsgn(s)
(15)
where κ^i and δ^ are estimates of κi and δ, respectively, and β is a to-be-determined switching gain. The goal now is to select a value of β that guarantees that V˙(s)η|s| given bounds on the uncertainty in the parameters. Solving (15) for u results in the control law
u=κ^4(r¨δ^+K0e1+K1e2+βsgn(s))κ^1ψ1κ^2ψ2κ^3
(16)
Substituting (16) into (13) and collecting terms results in
V˙(s)=s((1κ^4κ4)(r¨δ^+K0e1+K1e2)1κ4(Δκ1ψ1+Δκ2ψ2+Δκ3)Δδ)κ^4κ4β|s||s|((1κ^4κ4)(r¨δ^+K0e1+K1e2)1κ4(Δκ1ψ1+Δκ2ψ2+Δκ3)Δδκ^4κ4β)
(17)
where Δκiκiκ^i and Δδδδ^. Enforcing the condition that V˙(s)η|s| results in
βκ4κ^4(ηΔδ)1κ^4(Δκ1ψ1+Δκ2ψ2+Δκ3)+(κ4κ^41)(r¨δ^+K0e1+K1e2)κ4κ^4(η+|Δδ|)+1κ^4(|Δκ1||ψ1|+|Δκ2||ψ2|+|Δκ3|)+(κ4κ^41)|r¨δ^+K0e1+K1e2|
(18)
To ensure the condition of (18), β must be chosen assuming the worst-case uncertainty in the parameters κi and disturbance δ. Assume the κi are bounded such that κi,minκiκi,max. If the estimates of κ1, κ2, and κ3 are the arithmetic mean of their respective maximum and minimum values such that κ^j=(κj,min+κj,max)/2 for j = 1, 2, 3, then |Δκj| ≤ (κj,maxκj,min)/2 ≡ |Δκj|max. Furthermore, an inspection of (1)(3) reveal that κ4 is always positive. This permits the use of a technique suggested by Ref. [32] wherein the estimate of κ4 is the geometric mean of its maximum and minimum values such that κ^4=κ4,maxκ4,min. Therefore, κ4/κ^4κ4,max/κ4,min(κ4/κ^4)max. Additionally, δ^ is assumed to be zero and |Δδ|max is selected to be large enough to account for the uncertainty in δ. Substituting |Δκj|max, (κ4/κ^4)max, and |Δδ|max into (18) results in an expression for β that ensures asymptotic stability of (8)
β=(κ4κ^4)max(η+|Δδ|max)+1κ^4(|Δκ1|max|ψ1|+|Δκ2|max|ψ2|+|Δκ3|max)+((κ4κ^4)max1)|r¨+K0e1+K1e2|
(19)

Note that for the z1 subsystem, κ4 = c4 = 2(L2Ixw/R2 + Iyw + mWL2) + Iy sin 2α + Iz cos 2α + mB + 2mW, which is not constant, but varies with α. However, c4 is still bounded because min(Iy, Iz) ≤ Iy sin2α + Iz cos2α ≤ max(Iy, Iz).

To avoid chattering caused by the discontinuous sgn(s) function in (16), the control law is altered to
u=κ^4(r¨+K0e1+K1e2+βtanh(sa))κ^1ψ1κ^2ψ2κ^3
(20)
where a is a small number that defines the width of the transition region over which tanh(s/a) changes sign. The stability proof culminating in (19) assumes that sgn(s) is used, rather than tanh(s/a). The effect of this substitution, discussed by [31], is a nonzero steady-state tracking error. This occurs because the transition region (defined by a) softens the influence of β, which would otherwise act as a large gain. Thus, there is a tradeoff between a smooth control signal and achieving zero steady-state error. Fortunately, the error integrator can bring the steady-state error to zero as s → 0, which helps obviate the tradeoff between chattering and steady-state error. Nonetheless, the presence of the boundary layer can still prevent s from reaching the origin, resulting in a nonzero steady-state error integrator value even when the error is zero. For example, if the model is uncertain, then some nonzero integrator action may be required to achieve e1 = 0 if the β switching term alone cannot eliminate e1 when s is within the transition region. If small errors due to the transition region can be tolerated, or if the error integrator is otherwise not desired, it can be eliminated by assigning λ0 = 0 so that K0 = 0 and K1 = − λ1. Note that the ζ dynamics, which are prescribed via the state feedback control law ϕ=KTζ, are only fully realized when e2 = ϕ, or equivalently, when s = 0. Stability notwithstanding, during the period where s is approaching but not equal to zero (the so-called “reaching phase”), the integrator may wind up, causing undesirable overshoot. A solution is to only activate the integrator when |s| ≤ a, where a defines the width of the transition region (Eq. (20)). This prevents the integrator from winding up, and the ζ dynamics become ζ˙=λ1ζ when |s| > a, where λ1 < 0. Additionally, the controller can pause integration if the control output saturates or if the integrator exceeds a predetermined bound. The control law (20) combined with the gain Eq. (19) and the definition of the sliding surface (11) define the feedback linearized sliding mode controller for the z1 and z2 subsystems. Simulation results of these controllers applied to the RFV are provided in Sec. 4.1.

2.4 Control Allocation.

Equations (1)(3) are affine in the inputs FyF,MzF, and MxF, respectively. Therefore, these system inputs are assigned as the outputs of the motion controllers developed in Sec. 2.3. Figure 4 illustrates how FyF,MxF,MyF, and MzF are synthesized by RFV’s rotors. First, FyF,MxF,MyF, and MzF are transformed into the B frame by writing (4) in matrix form and inverting
[FzBMxBMyBMzB]=[cscα000010000cosαsinα00sinαcosα][FyFMxFMyFMzF]
(21)
Inspection of (21) indicates that an arbitrary FyF cannot be specified when α = 0 because the F frame y^- and B frame z^-axes are orthogonal. This affects Eq. (1) wherein the control is FyF, and therefore, y˙F cannot be controlled when α = ,   n = 0, 1, 2, …, ∞. Moreover, as α approaches zero, the value of FzB increases dramatically. This singularity represents a limitation in the independence of y˙F and α due to the under-actuation of the system. The consequences of this limitation are discussed later in this section.
Fig. 4
Input force/moment block diagram. The desired F frame force and moments are converted to B frame force and moments before being input to the constrained control allocation algorithm. The outputs of the control allocation algorithm are the desired rotor thrusts. These in turn influence the dynamic behavior of the RFV.
Fig. 4
Input force/moment block diagram. The desired F frame force and moments are converted to B frame force and moments before being input to the constrained control allocation algorithm. The outputs of the control allocation algorithm are the desired rotor thrusts. These in turn influence the dynamic behavior of the RFV.
Close modal
Equation (21) also reveals that specifying MzF (for controlling σ, (2)) influences both MzB and MyB, and α determines the relative contribution of each in synthesizing MzF. Also, MyF is an additional control that does not appear in the equations of motion. MyF can be assigned to zero or used to suppress lateral rolling about the F frame y^-axis. For example, a lateral roll damping controller of the form
MyF=Kpγ˙
(22)
can be used, where γ˙ is the lateral rolling rate. Next, the B frame forces and moments can be expressed in terms of the thrusts and torques generated by individual actuators
FzB=T1+T2+T3+T4MxB=Lr(T1+T2T3T4)MyB=Lr(T1+T2+T3T4)MyB=Lr(Q1+Q2Q3+Q4)
(23)
where Tp and Qp are the thrust generated by and load torque impressed upon the pth rotor, respectively, and Lr is the perpendicular distance measured along the B frame x^- and y^-axes from point b to the center of each rotor. Qp results from the aerodynamic drag encountered by the rotor and acts to oppose the rotation of the rotor. A typical assumption is that the rotors operate in a constant state of hover in the sense that the freestream velocity of the air upstream of the rotors is zero. This leads to quadratic relationships between the rotor angular velocity and Tp and Qp
Tp=kTΩp2,Qp=kQΩp2
(24)
where Ωp is the angular velocity of the pth rotor with respect to the I (which is approximately the same as the angular velocity with respect to B) in the B frame z^-axis direction, and kT and kQ are appropriately dimensioned rotor thrust and torque constants, respectively. Combining these relationships with (23) yields
[FzBMxBMyBMzB]=[1111LrLrLrLrLrLrLrLrkQ/kTkQ/kTkQ/kTkQ/kT][T1T2T3T4]
(25)

This is a standard model used by many researchers [18,2830] to map rotor thrusts to vehicle force and moments. Equation (25) can be written in a compact form as τ=AT, where τ=[FzBMxBMyBMzB]T and T=[T1T2T3T4]T. The process of inverting (25) to obtain the rotor thrusts T that will synthesize the desired B frame force and moments τ is called control allocation. Control allocation for CFMVs is typically accomplished [18] using matrix inversion so that T=A1τ, which has a simple, closed-form solution. However, this solution does not take into consideration any constraints imposed on the solution, e.g., that the thrusts be positive. This is typically not a concern for CFMVs because the nominal positive thrust required to support the weight of a CFMV is considerably greater than the perturbations in thrust required to change its orientation. That is, FzB is “large” compared to |MB|. However, this is not true for the RFV because FzB can be zero; the weight of the RFV can be supported by the ground rather than the rotor thrusts. If FzB=0, inspection of (25) reveals that there is no solution wherein every element of T is non-negative other than T=0. Therefore, the standard approach to control allocation for CFMVs cannot be applied to the RFV. Rather, the constraint that every element of T is non-negative must be taken into consideration.

Control allocation subject to constraints has been studied extensively [33,34]. Both Monteiro et al. [23] and Guillaume et al. [22] demonstrate how constrained optimization techniques can solve the control allocation problem for multirotor vehicles. This is typically in the context of over-actuated vehicles, or to design a fault-tolerant control allocation solution [21]. Analytical techniques include pseudo-inverse methods, which minimize the norm of T, or weighted least squares methods, which allow individual penalties to be assigned to actuators. Numerical optimization techniques such as linear programming and quadratic programming can be used to solve the control allocation problem subject to constraints [33]. Reyhanolgu et al. [35] perform control allocation for a three-degree-of-freedom quadrotor hover system. Their method guarantees that all thrusts are greater than a minimum positive value, although they do not demonstrate whether their solution is minimal.

The strategy here will be to break the control allocation problem into two parts. First, determine T such that the norm of T is minimized, the desired moments MxB,MyB, and MzB are synthesized, and every element of T is greater than or equal to a non-negative lower limit Tmin. Tmin is based on the lowest achievable rotor speed so that Tmin=kTΩmin2. Second, specify a desired force in the body z^-direction Fz,desB, and modify the elements of T to realize Fz,desB provided that the constraints are not violated. The minimization is stated formally as
Minimizef(T)12TTTs.t.h(T)MBA¯T=0andg(T)TminT0fori=1,2,4
(26)
where MB=[MxBMyBMzB]T and
A¯=[LrLrLrLrLrLrLrLrkQ/kTkQ/kTkQ/kTkQ/kT]
(27)
This minimization problem can be solved analytically, which will be computationally faster when implemented in real-time than using a numerical method such as linear programming. The method of Lagrange multipliers is used to augment the objective function f so that
f¯(T)12TTT+h(T)Tλeq+g(T)Tλineq
(28)
where λeq and λineq are Lagrange multipliers associated with the three equality and four inequality constraints, respectively. If the solution to (26) is denoted T*, then the necessary conditions that f¯(T*) must satisfy to be a minimum are [36]
f¯T|T*=T*+hT(T*)Tλeq+gT(T*)Tλineq=T*A¯TλeqI4x4λineq=0
(29)
gp(T*)λineq,p=0,p=1,24
(30)
h(T*)=0
(31)
and that g(T*)0 and λineq0, where I4x4 is the identity matrix. The Hessian 2f¯/T2=I4x4 is positive-definite, indicating that the above conditions are also sufficient conditions for a minimum [36]. Simultaneously solving Eqs. (29), (30) and (31) yields five non-trivial solutions for T*,λineq, and λeq. The solutions for λineq reveal that there is only one nonzero solution for each element of λineq, and each of these corresponds to a different solution. The solutions are
λineq,1={0001Lr(MxB+MyB)+kTkQMzB+4Tmin0}λineq,2={1Lr(MxB+MyB)kTkQMzB+4Tmin0000}λineq,3={00001Lr(MxBMyB)+kTkQMzB+4Tmin}λineq,4={01Lr(MxB+MyB)kTkQMzB+4Tmin000}
(32)
Checking the necessary condition that λineq,p0 reveals when the pth constraint could be active, which corresponds to the pth rotor producing minimum thrust Tmin. The five thrust solutions for each rotor are
T1*={TminνyνzTmin+νxνz12(νxνyνz)TminTmin+νxνy}T2*={TminTmin+νx+νy12(νx+νy+νz)Tmin+νy+νzTmin+νx+νz}T3*={TminνxνzTmin+νyνz12(νx+νyνz)Tminνx+νyTmin}T4*={TminνxνyTmin12(νxνy+νz)Tminνx+νzTminνy+νz}
(33)
where νx=MxB/(2Lr),νy=MyB/(2Lr), and νz=kTMzB/(2kQ). Each of the five solutions is checked to determine if g(T*)0 and λineq0 are satisfied. Once a feasible solution has been found, the minimum B frame z^-axis control force required to faithfully reproduce the desired MB is computed as
Fz,minB=p=14Tp*
(34)
If Fz,desB<Fz,minB, then the desired B frame forces and moments cannot be realized with positive thrusts. In this case, the desired moments are realized and FzB must be limited (increased) to Fz,minB. However, if Fz,desB>Fz,minB, then none of the constraints are active and the optimal thrusts are computed as
Tp=Tp*+14(FzBFz,minB)
(35)
for p = 1, 2, …, 4, which guarantees that FzB=Fz,desB and yields the same solution as inverting (25) via matrix inversion.
While (35) yields the minimum possible positive thrusts required to realize a desired MB, an active constraint means that FzB>Fz,desB. This affects FyF because from (21)
FyF=FzBsinα
(36)
As FyF is the control for y˙F (see Eq. (1)), the ability to control y˙F is affected when the control allocation solution is constrained, which in turn depends on the desired values of MB and Fz,desB, with large MB and small Fz,desB being more likely to result in an active constraint. But MB depends strongly on α as MxB is the output of the α closed-loop controller. In fact, the equilibrium value of MxB is Mx,eqF(α)mBghsinα, indicating that a nonzero MxB is required to control α when α ≠ 0 and h ≠ 0. Therefore, y˙F and α are intermittently coupled due to the positive thrust constraint, particularly when Fz,desB is small. As Fz,desB increases, the constraint activity, and therefore the coupling, decreases. Reducing the value of h (i.e., locating the center of mass nearer to the B-frame x^-axis) also reduces the y˙Fα coupling.

In addition to the coupling just described, two other forms of y˙Fα coupling exist: First, a singularity in (36) occurs when α is a multiple of π, and FyF cannot be specified. Second, because the positive thrust constraint always results in FzB>0, the sign of FyF is determined exclusively by the sign of α. As a result, FyF>0 can only be synthesized if sinα < 0, and vice versa. This coupling between FyF and α is unavoidable if the rotor thrusts are constrained to be positive.

3 Hardware Embodiment

A hardware embodiment of the RFV is built to demonstrate the efficacy of the control and control allocation algorithms. This permits the evaluation of the control system performance while ensuring that the algorithms are computationally suitable for implementation on a real-time embedded system. A photograph of the hardware RFV hardware is shown in Fig. 1. A carbon fiber rod serves as the RFV axle, onto which a 3D-printed boom is attached. The boom supports four rotors and all avionics. Also attached to the axle are two quadrature encoder sensors used to resolve the angular position and angular rate of the two wheels. The avionics consist of a battery, a central processing unit (CPU), a power measurement printed circuit board (PCB), two 2.4 GHz radio transceivers, four brushless direct current (DC) (BLDC) motor drivers, and an inertial measurement system (INS) for obtaining the orientation of the RFV. The CPU is an ARM cortex-M7 microcontroller programmed to the following:

  • Communicate serially with both radio transceivers, including receiving commands from a base station and transmitting real-time telemetry data.

  • Communicate serially with the INS to obtain orientation and angular rate information.

  • Measure the position and speed of the wheels via the quadrature encoders.

  • Sample the voltage of and current from the battery via the power measurement PCB.

  • Execute the α and σ control algorithms described in Sec. 2.3.

  • Execute the control allocation algorithm described in Sec. 2.4.

  • Compute the required voltage for each of the four BLDC motors and generates pulse-width modulated (PWM) signals to control the voltage applied by each BLDC motor driver.

All σ and α commands are transmitted wirelessly from a base station to the RFV every 100 ms. The base station consists of an Xbox 360 handset (Microsoft Xbox 360), a laptop computer executing a custom WinForms GUI, and two 2.4 GHz radio transceivers. Telemetry data (including σ,α,y˙F,MB, and FzB) are transmitted wirelessly from the RFV to the base station every 2 ms. The interconnections between the various avionic subsystems of the RFV are illustrated in Fig. 5. The avionics components and RFV dimensions are recorded in Tables 1 and 2, respectively.

Fig. 5
RFV avionics block diagram. Closed-loop commands are transmitted from a base station. Commands can be generated by either the Xbox360 handset or via a custom WinForms program executing on the laptop. Motion data are sent from the RFV to the base station via two sets of radio transceivers. The main CPU provides PWM signals to the motor drivers, receives and transmits data over the radio transceivers, and reads the INS, wheel quadrature encoders, and power sensors. Power is provided via a three-cell (11.4 V) lithium-polymer battery.
Fig. 5
RFV avionics block diagram. Closed-loop commands are transmitted from a base station. Commands can be generated by either the Xbox360 handset or via a custom WinForms program executing on the laptop. Motion data are sent from the RFV to the base station via two sets of radio transceivers. The main CPU provides PWM signals to the motor drivers, receives and transmits data over the radio transceivers, and reads the INS, wheel quadrature encoders, and power sensors. Power is provided via a three-cell (11.4 V) lithium-polymer battery.
Close modal
Table 1

RFV components

ComponentManufacturer and part name
CPUST Microelectronics STM32F767ZIT6U (Nucleo F767ZI)
Encoders (2x)US Digital E3-500-984-NE-H-D-B
Radios (2x)Digi International XBee-PRO S2C (XBP24CDMWIT-001)
Inertial sensorVectorNav VN-100 Rugged
BLDC drivers (4x)Crazepony BL Heli 32
Current sensorAnalog Devices AD8210
BatteryTurnigy 2200 mAh 2S 25C Lipo Pack
Motors (4x)EMax RS2206
Rotors (4x)EMax Avan-R
ComponentManufacturer and part name
CPUST Microelectronics STM32F767ZIT6U (Nucleo F767ZI)
Encoders (2x)US Digital E3-500-984-NE-H-D-B
Radios (2x)Digi International XBee-PRO S2C (XBP24CDMWIT-001)
Inertial sensorVectorNav VN-100 Rugged
BLDC drivers (4x)Crazepony BL Heli 32
Current sensorAnalog Devices AD8210
BatteryTurnigy 2200 mAh 2S 25C Lipo Pack
Motors (4x)EMax RS2206
Rotors (4x)EMax Avan-R
Table 2

RFV parameters

ParameterActual valueSimulated value
L (m)0.2620.3275
R (m)0.34800.261
mB (kg)1.51.875
mW (kg)0.50.375
Ix (kg-m2)0.01810.0226
Iy (kg-m2)0.01810.0136
Iz (kg-m2)0.02170.0271
Ixw (kg-m2)0.03030.0096
Iyw (kg-m2)0.01510.008
g (m/s2)9.819.81
h (m)−0.01−0.0125
μrr0.05
μvisc (N-m-s)0.005
CD (kg/m)0.01
Lr (m)0.140.14
kT (N/(rad/s)2)1.6351 × 10−51.6351 × 10−5
kQ (Nm/(rad/s)2)2.7033 × 10−72.7033 × 10−7
ParameterActual valueSimulated value
L (m)0.2620.3275
R (m)0.34800.261
mB (kg)1.51.875
mW (kg)0.50.375
Ix (kg-m2)0.01810.0226
Iy (kg-m2)0.01810.0136
Iz (kg-m2)0.02170.0271
Ixw (kg-m2)0.03030.0096
Iyw (kg-m2)0.01510.008
g (m/s2)9.819.81
h (m)−0.01−0.0125
μrr0.05
μvisc (N-m-s)0.005
CD (kg/m)0.01
Lr (m)0.140.14
kT (N/(rad/s)2)1.6351 × 10−51.6351 × 10−5
kQ (Nm/(rad/s)2)2.7033 × 10−72.7033 × 10−7
The hardware embodiment of the RFV must account for non-horizontal terrain in order to accurately compute σ˙ and α˙. To do so, the lateral rolling angle γ about the F frame y^-axis is measured, and the Euler angle rates are computed from the angular velocity of the B frame with respect to the I frame ωIBB according to
[σ˙γ˙α˙]=[0sinαsecγcosαsecγ0cosαsinα1sinαtanγcosαtanγ]ωIBB
(37)
where measurements of σ, γ, α, and ωIBB are obtained from the INS. As described in Ref. [24], y˙F is computed from θ˙1 and θ˙2 (measured by the encoders) and ωIBB as
y˙F=R(12(θ˙1+θ˙2)+ωIB,xB)
(38)
The rotor motors are controlled in an open loop. The steady-state electrical and mechanical equations governing the motors’ operation are
Vp=IpRe+keΩp0=ke(IpInl)kQΩp2
(39)
where Vp, Ip, Re, ke, and Inl are the applied voltage, applied current, electrical resistance, back-electromotive force (EMF) constant, and no-load current, respectively, of the pth motor. Therefore
Vp=(kQΩp2ke+Inl)Re+keΩp
(40)

Equation (40) is used to compute the voltage required to rotate the pth motor at an angular velocity of Ωp. The desired Ωp are calculated based on the desired Tp from (24). The rotor parameters kT and kQ are determined empirically by measuring the thrust force and reaction torque on a motor driving a rotor while operating at different angular velocities. The motor parameters Re, ke, and Inl are obtained from the manufacturer’s data.

4 Results and Discussion

4.1 Numerical Simulation Results.

The complete RFV equations of motion from Ref. [24] are simulated with σ and α controlled in closed-loop using the control systems developed in Sec. 2.3 and the control allocation algorithm developed in Sec. 2.4. The simulation uses matlab’s ode45 function (fourth-order Runge–Kutta with variable time-step) to numerically integrate (1)–(3), along with expressions for θ˙1 and θ˙2 from Ref. [24] as follows:
θ˙1=1R(y˙FLσ˙Rα˙)θ˙2=1R(y˙F+Lσ˙Rα˙)
(41)
Fz,desB=MyF=0 for these simulations, indicating the net force on the RFV should be minimized, and no moment is applied that would cause the RFV to rotate about the F frame y^-axis. Rather, only the outputs of the σ and α controllers (MzF and MxF, respectively) are generated. A block diagram of the simulated system appears in Fig. 6.
Fig. 6
RFV control system block diagram. σ and α are controlled in a closed-loop. The desired F frame moments that are output from the controllers are rotated into the B frame before being mapped to rotor thrusts by the constrained control allocation algorithm. σ,α,σ˙,α˙, and y˙F are fed back to both controllers to execute the control law developed in Sec. 2.3
Fig. 6
RFV control system block diagram. σ and α are controlled in a closed-loop. The desired F frame moments that are output from the controllers are rotated into the B frame before being mapped to rotor thrusts by the constrained control allocation algorithm. σ,α,σ˙,α˙, and y˙F are fed back to both controllers to execute the control law developed in Sec. 2.3
Close modal

Simulation parameters are displayed in Table 2. μrr, μvisc, and CD are coefficients of rolling resistance, viscous damping, and aerodynamic drag, respectively, which are manifested in Dy,Dσ, and Dα [24].

To demonstrate the robustness of the sliding mode control system to parameter uncertainty, the model parameters used to simulate the RFV system are intentionally varied from those used to design the α and σ controllers, the latter being based on the actual hardware RFV parameters. Specifically, the simulated values are varied by plus or minus 25%.

The sliding mode controller parameters are listed in Table 3. The state feedback gains are obtained via pole placement, and the uncertainty bounds are based on parameter estimates. a is chosen based on empirical observations of chattering and response time.

Table 3

Control parameters

Parameterσ Controllerα Controller
η (s−2)11
K0 (s−2)05.25
K1 (s−1)45
a1.51
κ1|max0.0054 (kg-m2)0.0027 (kg-m2)
κ2|max0.05 (kg-m)0.3 (N-m)
κ3|max0.2 (N-m)0.15 (N-m)
(κ4/κ^4)max31.73
δ|max01
Parameterσ Controllerα Controller
η (s−2)11
K0 (s−2)05.25
K1 (s−1)45
a1.51
κ1|max0.0054 (kg-m2)0.0027 (kg-m2)
κ2|max0.05 (kg-m)0.3 (N-m)
κ3|max0.2 (N-m)0.15 (N-m)
(κ4/κ^4)max31.73
δ|max01

Figure 7 shows the simulated response of the α control system to a step command. The desired value of α is αdes = − π/4, α˙des=0. Shown also are the switching gain βα and sliding variable sα. Figure 7(a) illustrates that α converges to αdes despite the modeling uncertainty. Figure 7(c) shows that the control MxF is initially positive to drive α to αdes, but rapidly decreases while sα approaches zero. Once sα is sufficiently close to zero, MxF begins to increase according to the sliding mode dynamics of (12) and the estimated nonlinear dynamics appearing in the last three terms of (20). The estimated nonlinear dynamics are also primarily responsible for the positive steady-state value of MxF required to support the offset center of mass (because h ≠ 0). However, the uncertainty in the model means that these terms cannot exactly compensate for the offset center of mass, and the difference is made up by the K0e1 term in (20). The net result is a control law that rapidly accelerates and then rapidly decelerates α to achieve the desired orientation. Figure 7(b) shows that sα is initially driven toward zero, at which point the dynamics prescribed by (12) drive the error system of (8) toward zero.

Fig. 7
α control system simulation in response to a step input αdes = π/4. (a) step response, (b) sliding manifold sα, (c) control output, and (d) switching gain βα. Model parameters used for simulating the RFV (Table 2, Simulated Value) are intentionally varied from those used to design the control system (Table 2, Actual Value).
Fig. 7
α control system simulation in response to a step input αdes = π/4. (a) step response, (b) sliding manifold sα, (c) control output, and (d) switching gain βα. Model parameters used for simulating the RFV (Table 2, Simulated Value) are intentionally varied from those used to design the control system (Table 2, Actual Value).
Close modal

As discussed in Sec. 2.3, the steady-state value of s is nonzero due to the transition region introduced by the hyperbolic tangent function in (20). Figure 7(d) illustrates how the value of the switching gain βα changes during the step response. The transient behavior of βα is dominated by the magnitude of the velocity error |e2|=|α˙desα˙|=|α˙|.

Figure 8 shows the time responses of σ,MzF,sσ, and βσ to a step command. The desired value of σ is σdes = π/2, σ˙des=0, which behaves similarly to the α control system with the exception that no steady-state value of MzF is necessary to maintain σ = σdes. The error integrator is unused (K0 = 0), resulting in no overshoot.

Fig. 8
σ control system simulation in response to a step input σdes = π/2. (a) step response, (b) sliding manifold sσ, (c) control output, and (d) switching gain βσ. Model parameters used for simulating the RFV (Table 2, simulated value) are intentionally varied from those used to design the control system (Table 2, actual value).
Fig. 8
σ control system simulation in response to a step input σdes = π/2. (a) step response, (b) sliding manifold sσ, (c) control output, and (d) switching gain βσ. Model parameters used for simulating the RFV (Table 2, simulated value) are intentionally varied from those used to design the control system (Table 2, actual value).
Close modal

4.2 Empirical Results.

The α and σ controllers and control allocation algorithm described in Secs. 2.3 and 2.4, respectively, are deployed onto the hardware embodiment of the RFV described in Sec. 3. As with the simulations, the block diagram of Fig. 6 illustrates the entire closed-loop system. Experimental data are collected while operating under closed-loop α and σ control. In all cases, MyF=0 and Fz,desB is controlled manually.

4.2.1 Empirical Control System Results.

Figure 9(a) shows the α response to a step command αdes = π/4 for both the actual and simulated RFVs while Fig. 9(b) shows the associated value of MxF. Less aggressive control parameters are chosen compared to the simulation from Sec. 4.1 (K0 = 1.75, K1 = 4), because the simulation assumes that MF can be generated instantaneously via the rotor thrusts, but in reality, this is not possible; the rotors produce thrust approximately proportional to Ω2, and Ω is governed by the motor/rotor electromechanical dynamics. This introduces lag into the control system, which when combined with an aggressive switching gain β can result in undesirable ringing. Additionally, the dynamics of the motors are uncontrolled; an open-loop voltage is applied to the motors according to (40), rather than controlling Ω in closed-loop. Therefore, uncertainty in the motor parameters and kQ also affect the ability to accurately sythesize MF. Nonetheless, stability of the actual RFV is achieved with an acceptable tradeoff between response time and ringing. Differences between the actual and simulated plots of α and MxF are attributed to the uncertainty in synthesizing MF and the uncertainty in the model parameters. For example, the difference in the steady-state values of MxF for the actual and simulated cases in Fig. 9(b) could be due to uncertain vehicle mass, uncertain center of mass location, the inability to accurately synthesize MxF, or any combination of the three. However, stability and performance are demonstrated despite uncertainty in both the model and parameters.

Fig. 9
Empirical data illustrating the α control system: (a) step response and (b) control output. The simulation behaves differently due to parameter uncertainty. However, the robustness properties of the sliding mode controller ensure stability.
Fig. 9
Empirical data illustrating the α control system: (a) step response and (b) control output. The simulation behaves differently due to parameter uncertainty. However, the robustness properties of the sliding mode controller ensure stability.
Close modal

Figure 10(a) illustrates the α control system tracking a sine wave (π/4 radians amplitude, 0.4 Hz frequency) with Fz,desB=1.5N. The sliding mode controller exhibits good tracking performance despite uncertainty in the RFV parameters and demonstrates close agreement with simulation results.

Fig. 10
Empirical and simulated data illustrating (a) the α control system tracking a sine wave and (b) the σ control system tracking a series of ramp commands
Fig. 10
Empirical and simulated data illustrating (a) the α control system tracking a sine wave and (b) the σ control system tracking a series of ramp commands
Close modal

Figure 10(b) shows the σ controller’s ability to track a time-varying trajectory on flat ground while the α controller is simultaneously active with αdes = 0 (α data not shown). The control parameters used are those listed in Table 3. Changes in the rolling resistance of each wheel (which are not accounted for in the model) are observed during operation. However, the controller is able to track the commanded σ angle despite the modeling uncertainty.

4.2.2 Empirical Control Allocation Results.

Efficacy of the control allocation algorithm is demonstrated on the prototype RFV by commanding a sinusoidal MzF while controlling α in closed-loop at varying angles.

These configurations force the control allocation solution to be constrained while also varying which rotors are subject to the constraint. For this test, MxF is the output of the α control system, MyF=0 and MzF=0.03cos2πfsinet, where fsine = 0.25 Hz. The desired MF is transformed to MB using (21). Additionally, Fz,desB=0, which guarantees that the control allocation solution is always constrained.

MB and Fz,desB are input to the control allocation algorithm with Tmin = 0. The outputs of the control allocation algorithm are the commanded rotor thrusts, each of which are recorded over a complete cycle of MzF for each α value. The results are shown in Fig. 11. The time series plots on the left (Figs. 11(a), 11(c), and 11(e)) show the commanded MzF (dotted line) and the resulting rotor thrusts as a function of time. The graphics to the right of each plot (Figs. 11(b), 11(d), and 11(f)) indicate the physical configuration of the RFV and the relative magnitude of the commanded rotor thrusts at the time denoted by the dashed vertical line on the corresponding plot.

Fig. 11
Constrained control allocation. Plots (a), (c), and (e) illustrate the desired thrust forces as a function of time at α = 0, −π/4, and −π/2 radians, respectively, while a sinusoidal MzF is prescribed. This forces the control allocation solution to be constrained. The result is that at least one rotor thrust will always be equal to Tmin, which is zero in this case. Images (b), (d), and (f) illustrate the physical configuration of the RFV and the control allocation solution at the instant in time denoted by the dashed vertical line in the corresponding plot to the left of the image.
Fig. 11
Constrained control allocation. Plots (a), (c), and (e) illustrate the desired thrust forces as a function of time at α = 0, −π/4, and −π/2 radians, respectively, while a sinusoidal MzF is prescribed. This forces the control allocation solution to be constrained. The result is that at least one rotor thrust will always be equal to Tmin, which is zero in this case. Images (b), (d), and (f) illustrate the physical configuration of the RFV and the control allocation solution at the instant in time denoted by the dashed vertical line in the corresponding plot to the left of the image.
Close modal

Figure 11(a) shows the RFV when α = 0. First note that when MzF=0 (at approximately t = 1.3 s and 3.3 s), T1 = T2 = 0 while T3 = T4 ≈ 0.2 N. At these points, the only nonzero body force is MxB, which is determined exclusively by the α control system. The value of T3 and T4 are nonzero because the RFV center of mass is slightly behind point b, as indicated in Fig. 11(b). As a result, the α controller determines that a negative MxB must be applied to maintain α = 0, leading to T3 = T4 > 0. This explains why the T3 and T4 curves appear somewhat noisy, while the T1 and T2 curves are smooth; T3 and T4 are responding to the closed-loop α controller, whereas T1 and T2 are only needed to enforce the MzF command, which is prescribed to be a smooth sinusoid. Alternatively, were the center of mass in front of point b, then the situation would be reversed; the control allocation algorithm would determine that T1 and T2 should be driven primarily by the α controller and T3 and T4 would appear smooth.

Second, a large, positive MzF is commanded at the time indicated by the dashed vertical line, producing large T2 and T4 thrusts. This creates a moment about the zB axis, which happens to coincide with the zF axis when α = 0. The relative thrusts at this instant are illustrated in Fig. 11(b). Here, the control allocation algorithm has determined that T1 = 0, as the commanded moments MxB,MyB, and MzB can be synthesized using just T2, T3, and T4. In fact, an inspection of Fig. 11(a) reveals that at all times one rotor produces zero thrusts. Notice that T4T2T3 always, indicating that the α controller is still generating the required MxB to maintain α = 0.

In Figs. 11(c) and 11(d), α = −π/4, which moves the center of mass even further behind b, requiring increased thrusts (T3 = T4 ≈ 0.4 N) when MzF=0. Additionally, the B frame and F frame are no longer aligned, so MzF is synthesized by generating moments about both the zB and yB axes. At the dashed line (where MzF is large and positive), T4 and T2 increase to generate MzB. In contrast to the α = 0 case, here T4T2 > T3, indicating that there is a nonzero MyB (see Eq. (25)). This explains the slight dip in T3 at the dashed line; T3 decreases beyond its value at MzF=0 to help generate MyB.

Lastly, in Figs. 11(e) and 11(f), α = −π/2. As before, the center of mass is moved further from point b so that T3 = T4 ≈ 0.45 N when MzF=0. Now, MzF is synthesized solely by generating MyB. T1 is nonzero at the time indicated by the dashed line on Fig. 11(e), though its value is relatively small compared to the other thrusts required to generate MzF when α = 0 or −π/4 (compare to Figs. 11(b) and 11(d)). In fact, all the thrusts appear smaller when α = − π/2. This is ultimately because kTLrkQ, indicating that moments generated via rotor thrust (i.e., MxB and MyB) are much greater than moments generated via rotor drag (i.e., MzB) for a given Ω (see Eqs. (24) and (25)). Therefore, the thrusts generated as a byproduct of producing MxB or MyB are much less than those required to produce an identical MzB. So, if MzF is synthesized primarily via MxB and MyB, as it is when α = −π/2, then the thrusts will be smaller than if MzF were synthesized via MzB.

As described in Sec. 2.4, FzB=Fz,desB will only be realized if Fz,desB>Fz,minB, indicating that the constraints are inactive. Otherwise, the constraints are active and FzB will be set equal to Fz,minB. Figure 12 illustrates the control allocation algorithm transitioning between constrained and unconstrained operation while α = 0. Plotted is FzB for two cases: Fz,desB=0N (solid line) and Fz,desB=1.57N (dash-dotted line). As before, MxF is the output of the α control system, MyF=0 and MzF=0.03cos2πfsinet, where fsine = 0.25 Hz. As MzF changes (dashed line), so changes Fz,minB, which influences the constraint activeness.

Fig. 12
Constrained control allocation when α = 0 while a sinusoidal MzF is prescribed. The plot shows FzB for two different values of Fz,desB. When Fz,desB=0, the control allocation solution is always constrained. Therefore, FzB=Fz,minB. When Fz,desB=1.57N, the solution is intermittently constrained so that FzB alternates between Fz,desB and Fz,minB.
Fig. 12
Constrained control allocation when α = 0 while a sinusoidal MzF is prescribed. The plot shows FzB for two different values of Fz,desB. When Fz,desB=0, the control allocation solution is always constrained. Therefore, FzB=Fz,minB. When Fz,desB=1.57N, the solution is intermittently constrained so that FzB alternates between Fz,desB and Fz,minB.
Close modal

For the Fz,desB=0N case, the solution is always constrained, and so FzB=Fz,minB always. Note that Fz,minB>0 even when MzF=0. This is because MxB, which is the output of the α controller, is never zero (due to the offset location of the center of mass), and so while MzF may be zero, MB is not. For the Fz,desB=1.57N case, the solution is constrained approximately half of the time. While constrained, FzB=Fz,minB and the solid and dash-dotted lines lie atop one another. However, as |MzF| decreases, so does Fz,minB to the point where Fz,minB<Fz,desB. During these periods the solution is unconstrained and FzB=Fz,desB, indicated by the sudden flattening of the dash-dotted line at a value of 1.57 N. The dashed vertical lines indicate where the algorithm transitions between constrained and unconstrained operation for the Fz,desB=1.57N case.

5 Conclusion

The RFV’s design merits a controller tailored to its unique nonlinear dynamics and flat outputs. Furthermore, the number of difficult-to-measure parameters governing the RFV’s behavior dictates that such a controller be robust to uncertainty. As such, the controller presented herein is both model-based and robust. The efficacy of the controller has been demonstrated through numerical simulations and empirical experiments using custom hardware and software. The novel control allocation algorithm provides a means for actuating the RFV that respects the vehicle constraints while simultaneously minimizing thrust. Indeed, Figs. 11(a), 11(c), and 11(e) illustrate that at all times at least one rotor is producing zero thrust. Such a thrust-minimizing solution is unique to the RFV.

Additionally, this algorithm is computationally lightweight and thus easily integrated into an embedded system. There are several opportunities to improve the performance of the RFV control systems. First, as mentioned in Sec. 4.2.1, closed-loop rotor velocity controllers could improve the response time and reduce ringing in α. Second, RFV velocity control requires a y˙F controller that respects the intermittent coupling of α and y˙F. Based on constraint activity (Sec. 2.4), such a controller would determine when independent control of y˙F and α is possible and adjust the control strategy accordingly. This permits optimizing RFV operation for maximum range [16]. Lastly, MyF could be used for active γ damping as described in (22), which could improve stability on uneven terrain and prevent rolling during aggressive maneuvering.

Acknowledgment

The authors would like to thank Shaphan Jernigan for his work in supporting the hardware development of the RFV.

Conflict of Interest

There are no conflicts of interest.

Data Availability Statement

The data sets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request.

Declarations

Ethical Approval: not applicable.

Consent to Participate: not applicable.

Consent to Publish: The coauthors confirm that the work described has not been published before (except in the form of an abstract or as part of a published lecture, review, or thesis); that it is not under consideration for publication elsewhere; that its publication has been approved by all coauthors.

Authors Contributions: S. Atay modeled the rolling/flying vehicle dynamics, designed and simulated the controllers, and was the primary contributing author. M. Bryant and G. Buckner directed the modeling and simulation tasks, provided funding and resources for the work, and provided secondary editing and co-authorship.

Funding: provided by the U.S. Army Research Office and the U.S. Army Special Operations Command under Contract No. W911-NF-13-C-0045.

Competing Interests: not applicable

Availability of data and materials: all data and materials presented in this paper will be made available upon request.

Nomenclature

Variables

     
  • a =

    width of sliding mode transition region

  •  
  • h =

    location of RFV body center of mass (m)

  •  
  • t =

    time

  •  
  • x =

    position coordinate (m)

  •  
  • y =

    position coordinate (m)

  •  
  • z =

    position coordinate (m)

  •  
  • G =

    gravitational acceleration (m/s2)

  •  
  • L =

    RFV characteristic length (m)

  •  
  • R =

    wheel radius (m)

  •  
  • V =

    A Lyapunov function

  •  
  • W =

    vehicle weight

  •  
  • g =

    inequality constraint function

  •  
  • h =

    equality constraint function

  •  
  • u =

    system input vector

  •  
  • x^ =

    unit vector in x-direction

  •  
  • y^ =

    unit vector in y-direction

  •  
  • z^ =

    unit vector in z-direction

  •  
  • fsine =

    frequency of sine wave (Hz)

  •  
  • ke =

    motor back-EMF constant

  •  
  • CD =

    aerodynamic drag coefficient

  •  
  • Fy =

    horizontal force in the y^-direction (N)

  •  
  • Inl =

    motor no-load electrical current

  •  
  • Ip =

    motor electrical current

  •  
  • I4x4 =

    identity matrix

  •  
  • Lr =

    distance from point b to rotor

  •  
  • Re =

    motor winding resistance

  •  
  • Vp =

    motor voltage

  •  
  • FyF =

    horizontal force in the F frame y^-direction (N)

  •  
  • c1, c2, …, c10 =

    model parameters

  •  
  • e,e0,e1,e2 =

    error states

  •  
  • f,f¯ =

    optimization objective function

  •  
  • kT, kQ =

    rotor constants

  •  
  • mB, mW =

    masses (kg)

  •  
  • r, ri =

    control system reference

  •  
  • s,sα,sσ =

    sliding manifold

  •  
  • x,x1,x2,,x5 =

    control system state vector

  •  
  • y˙F,y¨F =

    velocity and acceleration in the F frame y^-direction

  •  
  • z,z1,z2,z3 =

    flat outputs

  •  
  • A,A¯ =

    control allocation matrix

  •  
  • Dy,Dα,Dσ =

    dissipation terms

  •  
  • FzB,Fz,minB,Fz,desB =

    body force (N) in the B frame z-direction (N)

  •  
  • Ix, Iy, Iz =

    RFV body principal moments of inertia of (kg · m2)

  •  
  • Ixw, Iyw =

    wheel principal moments of inertia of (kg · m2)

  •  
  • K,K0,K1 =

    state feedback gains

  •  
  • MB,MxB,MyB,MzB =

    body moments (N · m)

  •  
  • MF,MxF,Mx,eqF,MyF,MzF =

    F frame moments (N · m)

  •  
  • Qp, Q1, Q2, Q3, Q4 =

    rotor torque loads

  •  
  • T*,Tp* =

    minimum rotor thrust vector

  •  
  • T,Tp,T,T1,T2,T3,T4,Tmin =

    rotor thrusts

  •  
  • α, αdes =

    pitch Euler angle

  •  
  • β, βα,βσ =

    sliding mode switching gains

  •  
  • γ =

    tilt Euler angle

  •  
  • κj|max =

    maximum uncertainty in κj

  •  
  • δ|max =

    maximum uncertainty in δ

  •  
  • Ωp =

    rotor angular velocity (rad/s)

  •  
  • δ, δ1, δ2 =

    model uncertainties

  •  
  • ζ =

    generic error vector

  •  
  • η =

    a positive constant

  •  
  • θ1, θ2 =

    wheels angles (radians)

  •  
  • κi, κ1, κ2, κ3, κ4 =

    coefficients of nonlinearities

  •  
  • (κ4/κ^4)max =

    maximum uncertainty in κ4

  •  
  • λeq,λineq =

    Lagrange multipliers

  •  
  • μvisc =

    viscous damping coefficient (N · m · s)

  •  
  • μrr =

    rolling resistance coefficient

  •  
  • ν =

    a fictitious control input

  •  
  • νx, νy, νz =

    a variable proportional to desired body moments

  •  
  • ξ,ξ1,ξ2 =

    states of a generic second-order mechanical system

  •  
  • ρ =

    scalar output function

  •  
  • σ, σdes =

    Yaw Euler angle

  •  
  • ψ1, ψ2 =

    nonlinear terms

  •  
  • ϕ =

    a stabilizing control law

Superscripts

     
  • B =

    variable resolved in the B (body) reference frame

  •  
  • F =

    variable resolved in the F reference frame

  •  
  • I =

    variable resolved in the I (inertial) reference frame

References

1.
Choi
,
S. H.
, and
Zhu
,
W. K.
,
2012
, “
Performance Optimisation of Mobile Robots for Search-and-Rescue
,”
Appl. Mech. Mater.
,
232
, pp.
403
407
.
2.
Murphy
,
R. R.
,
Tadokoro
,
S.
, and
Kleiner
,
A.
,
2016
, “Disaster Robotics,”
Springer Handbook of Robotics
,
B.
Siciliano
,
O.
Khatib
, eds.,
Springer
,
Cham
.
3.
Bishop
,
B.
,
Crabbe
,
F.
, and
Hudock
,
B.
,
2005
, “
Design of a Low-Cost, Highly Mobile Urban Search and Rescue Robot
,”
Adv. Rob.
,
19
(
8
), pp.
1
27
.
4.
Neumann
,
M.
,
Predki
,
T.
,
Heckes
,
L.
, and
Labenda
,
P.
,
2013
, “
Snake-Like, Tracked, Mobile Robot With Active Flippers for Urban Search-and-Rescue Tasks
,”
Ind. Rob.
,
40
(
3
), pp.
246
250
.
5.
Santos
,
J. M.
,
Krajník
,
T.
, and
Duckett
,
T.
,
2017
, “
Spatio-temporal Exploration Strategies for Long-Term Autonomy of Mobile Robots
,”
Rob. Auton. Syst.
,
88
, pp.
116
126
.
6.
Kalantari
,
A.
, and
Spenko
,
M.
,
2014
, “
Modeling and Performance Assessment of the HyTAQ, a Hybrid Terrestrial/Aerial Quadrotor
,”
IEEE Trans. Rob.
,
30
(
5
), pp.
1278
1285
.
7.
Takahashi
,
N.
,
Yamashita
,
S.
,
Sato
,
Y.
,
Kutsuna
,
Y.
, and
Yamada
,
M.
,
2015
, “
All-Round Two-Wheeled Quadrotor Helicopters With Protect-Frames for Air-Land-Sea Vehicle (Controller Design and Automatic Charging Equipment)
,”
Adv. Rob.
,
29
(
1
), pp.
69
87
.
8.
Morton
,
S.
, and
Papanikolopoulos
,
N.
,
2017
, “
A Small Hybrid Ground-Air Vehicle Concept
,”
IEEE International Conference on Intelligent Robots and Systems (IROS)
,
Vancouver, Canada, Sept. 24–28
, pp.
5149
5154
.
9.
Kossett
,
A.
, and
Papanikolopoulos
,
N.
,
2011
, “
A Robust Miniature Robot Design for Land/Air Hybrid Locomotion
,”
Proceedings of IEEE International Conference on Robotics and Automation
, pp.
4595
4600
. .
10.
Kawasaki
,
K.
,
Zhao
,
M.
,
Okada
,
K.
, and
Inaba
,
M.
,
2013
, “
MUWA: Multi-field Universal Wheel for Air-Land Vehicle With Quad Variable-Pitch Propellers
,”
Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems
, pp.
1880
1885
.
11.
Boria
,
F. J.
,
Bachmann
,
R.J.
,
Ifju
,
P.G.
,
Quinn
,
R.D.
,
Vaidyanathan
,
R.
,
Perry
,
C.
and
Wagener
,
J.
,
2005
, “
A Sensor Platform Capable of Aerial and Terrestrial Locomotion
,”
Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS
,
Edmonton, Canada, Aug. 2–6
, pp.
3959
3964
.
12.
Sreevishnu
,
S.
,
Koshy
,
M.
,
Krishnan
,
A.
, and
Das
,
G. P.
,
2018
, “
Kinematic Design, Analysis and Simulation of a Hybrid Robot with Terrain and Aerial Locomotion Capability
,”
Proceedings of 3rd International Conference on Design, Analysis, Manufacturing and Simulation (ICDAMS 2018)
, Vol. 03008, pp.
1
7
.
13.
Stewart
,
W.
,
Weisler
,
W.
,
MacLeod,
M.
,
Powers
,
T.
,
Defreitas
,
A.
,
Gritter
,
R.
,
Anderson
,
M.
,
Peters
,
K.
,
Gopalarathnam
,
A.
, and
Bryant
,
M.
,
2018
, “
Design and Demonstration of a Seabird-Inspired Fixed-Wing Hybrid UAV-UUV System
,”
Bioinspir. Biomim.
,
13
(
5
), p.
056013
.
14.
Siddall
,
R.
, and
Kovač
,
M.
,
2014
, “
Launching the AquaMAV: Bioinspired Design for Aerial-Aquatic Robotic Platforms
,”
Bioinspir. Biomim.
,
9
(
3
), p.
031001
.
15.
Maia
,
M. M.
,
Mercado
,
D. A.
, and
Diez
,
F. J.
,
2017
, “
Design and Implementation of Multirotor Aerial-Underwater Vehicles With Experimental Results
,”
IEEE International Conference on Intelligent Robots and Systems
,
Vancouver, Canada, Sept. 24–28
, pp.
961
966
.
16.
Atay
,
S.
,
Jenkins
,
T.
,
Buckner
,
G.
, and
Bryant
,
M.
,
2020
, “
Energetic Analysis and Optimization of a Bi-modal Rolling-Flying Vehicle
,”
Int. J. Intell. Robot. Appl.
,
4
(
1
), pp.
3
20
.
17.
Stebler
,
S.
,
Mackunis
,
W.
, and
Reyhanoglu
,
M.
,
2016
, “
Nonlinear Output Feedback Tracking Control of a Quadrotor UAV in the Presence of Uncertainty
,”
Proceedings of 14th International Conference on Control, Automation, Robotics and Vision, ICARCV 2016
,
Phuket, Thailand, Nov. 13–15
, pp.
1
6
.
18.
Mahony
,
R.
,
Kumar
,
V.
, and
Corke
,
P.
,
2012
, “
Multirotor Aerial Vehicles: Modeling, Estimation, and Control of Quadrotor
,”
IEEE Robot. Autom. Mag.
,
19
(
3
), pp.
20
32
.
19.
L’Afflitto
,
A.
, and
Mohammadi
,
K.
,
2017
, “
Equations of Motion of Rotary-Wing Unmanned Aerial System With Time-Varying Inertial Properties
,”
J. Guid. Control Dyn.
,
41
(
2
), pp.
554
559
.
20.
Lee
,
T.
,
Leok
,
M.
, and
Mcclamroch
,
N. H.
,
2013
, “
Nonlinear Robust Tracking Control of a Quadrotor UAV on SE(3)
,”
Asian J. Control
,
15
(
2
), pp.
391
408
.
21.
Schneider
,
T.
,
Ducard
,
G.
,
Rudin
,
K.
, and
Strupler
,
P.
,
2012
, “
Fault-Tolerant Control Allocation for Multirotor Helicopters Using Parametric Programming
,”
International Micro Air Vehicle Conference and Flight Competition (IMAV)
,
Braunschweig, Germany
,
July
.
22.
Ducard
,
G. J. J.
, and
Hua
,
M.-D.
,
2012
, “
Discussion and Practical Aspects on Control Allocation for a Multi-Rotor Helicopter
,”
ISPRS—International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences
, XXXVIII-1/C22, pp.
95
100
.
23.
Monteiro
,
J. C.
,
Lizarralde
,
F.
, and
Hsu
,
L.
,
2016
, “
Optimal Control Allocation of Quadrotor UAVs Subject to Actuator Constraints
,”
Proceedings of the American Control Conference
,
Boston, MA, July 6–8
, pp.
500
505
.
24.
Atay
,
S.
,
Buckner
,
G.
, and
Bryant
,
M.
,
2020
, “
Dynamic Modeling for Bi-modal, Rotary Wing, Rolling-Flying Vehicles
,”
ASME J. Dyn. Syst. Meas. Contr.
,
142
(
11
), p.
111003
.
25.
Kalantari
,
A.
, and
Spenko
,
M.
,
2015
, “Hybrid Aerial and Terrestrial Vehicle,” US Patent No. 9061558B2.
26.
Mizutani
,
S.
,
Okada
,
Y.
,
Salaan
,
C. J.
,
Ishii
,
T.
,
Ohno
,
K.
, and
Tadokoro
,
S.
,
2015
, “
Proposal and Experimental Validation of a Design Strategy for a UAV With a Passive Rotating Spherical Shell
,”
Proceedings of IEEE International Conference on Intelligent Robots and Systems.
27.
Murray
,
R. M.
,
Sluis
,
W.
,
Rathinam
,
M.
, and
Sluis
,
W.
,
1995
, “
Differential Flatness of Mechanical Control Systems: A Catalog of Prototype Systems
,”
Proceedings of ASME International Mechanical Engineering Congress And Exposition.
28.
Powers
,
C.
,
Mellinger
,
D.
, and
Kumar
,
V.
,
2015
, “Quadrotor Kinematics and Dynamics,”
Handbook of Unmanned Aerial Vehicles
,
K.
Valavanis
, and
G.
Vachtsevanos
, eds.,
Springer
,
Dordrecht
.
29.
Lu
,
H.
,
Liu
,
C.
,
Coombes
,
M.
,
Guo
,
L.
, and
Chen
,
W.-H.
,
2016
, “
Online Optimisation-Based Backstepping Control Design With Application to Quadrotor
,”
IET Control Theory Appl.
,
10
(
14
), pp.
1601
1611
.
30.
L’Afflitto
,
A.
,
Anderson
,
R. B.
, and
Mohammadi
,
K.
,
2018
, “
An Introduction to Nonlinear Robust Control for Unmanned Quadrotor Aircraft: How to Design Control Algorithms for Quadrotors Using Sliding Mode Control and Adaptive Control Techniques
,”
IEEE Control Syst. Mag.
,
38
(
3
), pp.
102
121
.
31.
Khalil
,
H.
,
2002
,
Nonlinear Systems
, 3rd ed.,”
Prentice Hall
,
Upper Saddle River, NJ
.
32.
Slotine
,
J.-J. E.
, and
Li
,
W.
,
1991
,
Applied Nonlinear Control
,
Prentice Hall International Inc.
,
Upper Saddle River, NJ
.
33.
Bodson
,
M.
,
2008
, “
Evaluation of Optimization Methods for Control Allocation
,”
J. Guid. Control. Dyn.
,
25
(
4
), pp.
703
711
.
34.
Johansen
,
T. A.
, and
Fossen
,
T. I.
,
2013
, “
Control Allocation—A Survey
,”
Automatica
,
49
(
5
), pp.
1087
1103
.
35.
Reyhanoglu
,
M.
,
Damen
,
R.
, and
Mackunis
,
W.
,
2017
, “
Observer-Based Sliding Mode Control of a 3-DOF Hover System
,”
Proceedings of 14th International Conference on Control, Automation, Robotics and Vision, ICARCV 2016
,
Phuket, Thailand, Nov. 13–15
, pp.
1
6
.
36.
Arora
,
J. S.
,
2004
,
Introduction to Optimum Design
,
Elsevier
,
London
.