Rigid-Body Attitude Control on $\mathsf{SO(3)}$ using Nonlinear Dynamic Inversion
Hafiz Zeeshan Iqbal Khan Farooq Aslam Muhammad Farooq Haydar Jamshed Riaz




JuliaQCD: Portable lattice QCD package in Julia language
    Akio Tomiya
    September 9, 2024
========================================================

empty
empty



§ ABSTRACT 


This paper presents a cascaded control architecture, based on nonlinear dynamic inversion (NDI), for rigid body attitude control. The proposed controller works directly with the rotation matrix parameterization, that is, with elements of the Special Orthogonal Group 3, and avoids problems related to singularities and non-uniqueness which affect other commonly used attitude representations such as Euler angles, unit quaternions, modified Rodrigues parameters, etc. The proposed NDI-based controller is capable of imposing desired linear dynamics of any order for the outer attitude loop and the inner rate loop, and gives control designers the flexibility to choose higher-order dynamic compensators in both loops. In addition, sufficient conditions are presented in the form of linear matrix inequalities (LMIs) which ensure that the outer loop controller renders the attitude loop almost globally asymptotically stable (AGAS) and the rate loop globally asymptotically stable (GAS). Furthermore, the overall cascaded control architecture is shown to be AGAS in the case of attitude error regulation. Lastly, the proposed scheme is compared with an Euler angles-based NDI scheme from literature for a tracking problem involving agile maneuvering of a multicopter in a high-fidelity nonlinear simulation.







§ INTRODUCTION









The rigid-body attitude control problem is central to numerous aerospace and robotics applications. Given the highly nonlinear nature of the problem, control strategies based on feedback linearization have received considerable attention over the years <cit.>. In general, feedback linearization uses coordinate transformation and feedback to achieve exact cancellation of certain nonlinearities, thereby transforming a nonlinear dynamical system into a linear, or partially linear, dynamical system for which a suitable controller is then designed <cit.>.

A feedback linearization method that has been studied extensively for aerospace applications is known as nonlinear dynamic inversion (NDI). Early results on NDI-based flight control, such as <cit.>, used Euler angles to describe rigid-body attitude. The same parametrization was also used to develop feedback linearizing control laws for quadrotor UAVs <cit.>. However, in recent years, there has been growing interest in the design of NDI-based attitude control laws which work directly with the rotation matrix representation, also known as the direction cosine matrix (DCM).
These rotation matrices evolve on matrix Lie group 3, known
as Special Orthogonal Group. Since the rotation matrix provides an attitude representation which is both globally defined and unique <cit.>, it can be used to develop attitude control laws which are plagued neither by the kinematic singularities associated with Euler angles nor the problem of unwinding associated with the unit quaternion attitude representation. Consequently, several researchers have sought to develop control schemes based on nonlinear dynamic inversion and incremental nonlinear dynamic inversion for attitude and position control <cit.>.























































In <cit.>, dynamic inversion is used to control the attitude and airspeed of a high-altitude long-endurance flexible aircraft with the aircraft attitude being described using the rotation matrix parametrization. Input-output linearization is performed with the angular velocity ω and the aircraft forward velocity taken as the outputs. Thereafter, a geometric PID controller <cit.> is used for the attitude dynamics. In a similar vein, <cit.> addresses the rigid-body attitude stabilization problem on 3 using partial state-feedback (or input-output) linearization. The authors investigate different output functions for obtaining locally and almost globally stabilizing feedback linearizing controllers with well-behaved zero dynamics. However, they do not consider the problem of attitude tracking or issues related to robustness. On the other hand, <cit.> develops a feedback linearizing controller on the Special Euclidean Group 3 for attitude and position control of a quadrotor UAV operating in a windy environment. Dynamic inversion is used in conjunction with a geometric PD controller <cit.> for the attitude dynamics and a variable-gain algorithm for handling rotor thrust saturation. Another effective solution has been developed in <cit.>, where feedback linearization is used in conjunction with a learned acceleration error model to account for modeling errors and external disturbances, and to obtain a controller suitable for aggressive quadrotor flight.




























As noted above, the feedback linearizing controllers developed in <cit.> utilize geometric PD or PID control laws such as those developed in <cit.>. It can be desirable from both a theoretical and a practical viewpoint to extend these geometric feedback linearization approaches so that they encompass a broader class of stabilizing linear dynamic controllers. To this end, this paper addresses the rigid-body attitude tracking problem on 3 using feedback linearization and linear dynamic compensation. In particular, a cascaded control architecture is considered which consists of an outer attitude loop and an inner angular rate loop with linear dynamic compensation in both the attitude and velocity loops. Sufficient conditions are obtained which ensure that the attitude loop is almost globally asymptotically stable (AGAS) and the rate loop globally asymptotically stable (GAS). These conditions are expressed in the form of linear matrix inequalities (LMIs). 
Furthermore, in the case of attitude regulation, we show that the overall cascaded architecture renders the closed-loop system to be AGAS.

The main contribution of the paper is to extend existing geometric nonlinear control approaches so that they include more general linear dynamic controllers and provide practitioners with greater freedom in designing feedback linearizing attitude control laws on 3. Moreover, we hope that the developments detailed in this paper will allow control designers to combine linearization-based synthesis methods with geometric feedback linearizing control laws, as well as make it easier to incorporate linear models for actuator and/or sensor dynamics into the problem formulation. 

The rest of the paper is structured as follows: essential background and important results are summarized in Section <ref> along with some remarks on notation, and the main results are presented in Section <ref>. Thereafter, Section <ref> presents an example of agile maneuvering of a multicopter to demonstrate the effectiveness of the proposed scheme, and Section <ref> concludes the discussion.
























§ PRELIMINARIES

In this section, the rigid body attitude dynamics and kinematics are briefly discussed, and few key properties of associated operators are revisited from literature for completeness. Before presenting attitude dynamics of a rigid body, let us briefly introduce some notation.  is inertial frame, fixed and centered at earth’s surface.  is body fixed frame, centered at C.G. of the rigid body.

Let ω be the angular velocity of body  w.r.t. to  expressed in body frame . Then the rotational dynamics can be written as

    ω̇ = J^-1[τ - ω× Jω - f(ω,μ)],

where J is the inertia matrix, τ is the control torque, and f(ω,μ) contains other torques acting on the body e.g. aerodynamic damping, gravitational torques, etc. The parameters vector μ, assumed to be either measured or estimated, is considered here to incorporate effects of other parameters such as aerodynamic angles, Mach number, dynamic pressure, etc.

The orientation R of a rigid body, attitude transformation matrix from body frame  to inertial frame , evolves over 3, i.e. a Lie group containing all 3×3 orthogonal rotation matrices of determinant +1, commonly known as Special Orthogonal group and defined as:

    3≜{ R ∈3×3| R^⊤ R = RR^⊤ = I_3, (R) = 1 }.


Then the attitude kinematics of rigid body, also known as Poisson's Kinematical Equations (PKEs) <cit.>, can be written as

    Ṙ = R ω,

where if ω = [ω_1,ω_2,ω_3]^⊤∈3, then

    ω≜[    0 -ω_3  ω_2;  ω_3    0 -ω_1; -ω_2  ω_1    0 ].


Here the cross map (·):3↦3, transforms a vector in 3  to its cross product form such that, a× b = ab for any a,b∈3, where the Lie Algebra 3 is a vector space, or more precisely the tangent space of 3 at identity i.e. 3 = 𝖳_I3 and it can be written as follows: 






    3≜{ S ∈3×3| S^⊤ = -S }.


It is worth noting that the hat map is an isomorphism. Its inverse is denoted by the vee map ∨ : 3↦3. Some important properties of the hat map, which will be required in subsequent sections, are listed as follows <cit.>:


    xy = x × y = -y × x = -yx, 
       Ax = 1/2x(A-A^⊤) = -x^⊤ (A-A^⊤)^∨, 
       xA+A^⊤x = [ (AI - A)x ]^×, 
       RxR^⊤ = (Rx)^×, 
       (x)^2 = -2x^⊤ x,


for any x,y∈3, A∈3× 3, and R∈3. 



§ GEOMETRIC NDI CONTROL

In this section the main results are presented. A two-loop geometric NDI structure for attitude control of a rigid body is proposed. The time scale separation is assumed between cascaded loops, and can be easily enforced by appropriate choice of controller gains. The complete control architecture is shown in Fig. <ref>. In particular it can be observed that the proposed architecture is similar to that of a standard NDI controller, except the geometric configuration error and a feed-forward term, which are precisely the components which renders the attitude loop almost globally asymptotically stable.








 §.§ NDI based Rate Control

The nonlinear dynamic inversion based attitude rate control, presented in this section, is a slightly generalized version of the results presented in <cit.>. This not only allows the user to choose a higher order compensator but also incorporate the feedback filters and feed-forward terms. Consider the following NDI control law:

    ẋ_ω   = A_ω x_ω + B_ωω + B_ω_refω_ref
    τ   = ω× J ω + f(ω,μ) 
         + J [C_ω x_ω +   D_ωω + D_ω_refω_ref]

Substituting it in the dynamics (<ref>), the closed-loop system can be written as,

    [ ẋ_ω;  ω̇ ] = 𝒜_ω[ x_ω;   ω ] + [ B_ω_ref; D_ω_ref ]ω_ref

where,

    𝒜_ω≜[ A_ω B_ω; C_ω D_ω ],


Suppose the matrix 𝒜_ω is Hurwitz which guarantees global asymptotic stability of (<ref>). Moreover, by taking Laplace transform of (<ref>) it can be easily shown that the control law (<ref>) induces the following desired dynamics,

    ω(s) = [sI - Γ_ω(s)]^-1Γ_ω_ref(s) ω_ref(s)

where,

    Γ_ω(s)    ≜ C_ω [sI-A_ω]^-1B_ω + D_ω
    Γ_ω_ref(s)    ≜ C_ω [sI-A_ω]^-1B_ω_ref + D_ω_ref



For only proportional controller, A_ω, B_ω, and C_ω are empty matrices, D_ω = -K_ω, and D_ω_ref = K_ω. In that case only K_ω needs to be positive definite as in <cit.>, and it enforces the first order desired dynamics i.e. [sI+K_ω]^-1K_ω.



 §.§ Geometric NDI based Attitude Control

Before proceeding with the development of geometric NDI controller, it is worth mentioning that the Lie group 3 is not a vector space, so it is not closed under addition operation. Therefore, let the desired attitude be R_d, and define the attitude error as

    R_e ≜ R_d^⊤ R.

Where the matrix R_e represents the attitude transformation from the body frame () to the desired body frame (_d). Since the desired attitude R_d also evolves on 3, therefore

    Ṙ_d = R_d ω_d^×.

Here it must be noted that this ω_d is different from ω_ref in previous subsection. Thus, the error dynamics can be written as,

    Ṙ_e = R_e [e]ω,

where ω_e ≜ω - R_e^⊤ω_d.

Another important point is that for control design on non-Euclidean manifolds e.g. 3,  a notion of norm of a point R is required, or more precisely the manifold needs to be equipped with a Riemannian metric to define several geometric notions like length, angle etc. For attitude control using rotation matrices, commonly used metrics include the chordal and geodesic metrics <cit.>, as well as a metric recently proposed in <cit.> for improved performance (relative to the chordal metric) in the case of large-angle rotational errors. In this work only chordal metric is considered, since it will result in a smooth control law, in contrast to others, which result in discontinuous controllers. The Chordal metric is defined as follows,

    ⟨ R_a , R_b ⟩_c ≜I - R_a^⊤ R_b^2_F = 2 I - R_a^⊤ R_b

for any R_a,R_b∈3, where ·_F represents Frobenius norm. Now the configuration error function can be defined as,

    Ψ(R_d,R) ≜1/4⟨ R_d , R ⟩_c = 1/2I - R_e

Then according to <cit.> attitude error vector (e_R) is the left-trivialized derivative of the configuration error function, so

    e_R ≜Ψ(R_d,R) = 1/2(R_e - R_e^⊤)^∨

There are many metrics for 3 are available in literature e.g. Geodesic (shortest-path) <cit.>, Chordal <cit.> etc. A succinct overview of metrics on 3 is available in <cit.>.
Applying hat map on (<ref>), taking its derivative and using the identities (<ref>), results in 2[R]ė = [(R_eI - R_e^⊤) ω_e]^×. Thus, the derivative of attitude error can be written as,

    ė_R = ℰ(R_e) ω_e

where ℰ(R_e) ≜1/2(R_eI - R_e^⊤). It is worth noting that these dynamics cannot be inverted directly because ℰ(R_e) is not invertible at an attitude error of exp(±π/2s) and exp(±π s) for any s∈2.












Now to obtain local attitude error dynamics, consider the Euler-axis parametrization. Under the small error angle assumption, the attitude error can be written as

    R_e ≈ I + e_Φ^×

where e_Φ = Φ - Φ_d, and Φ = [ϕ,θ,ψ]^⊤ and Φ_d = [ϕ_d,θ_d,ψ_d]^⊤ are the actual and desired Euler angles, respectively. Thus using (<ref>), attitude error vector (e_R) can be approximated as

    e_R ≈ e_Φ,

Now using (<ref>) in (<ref>), and after some simplification, we get,

    [Φ]ė≈[I + [Φ]e][e]ω

Moreover, under the small error assumption, the product terms in (<ref>) would be negligible, therefore, local linearized error dynamics can be written as,

    ė_Φ≈ω_e



Consider the following NDI control law:

    ẋ_R    = A_R x_R + B_R e_R
    ω   = R_e^⊤ω_d + C_R x_R + D_R e_R

Suppose there exist a positive definite matrix P such that

    𝒬≜[             D_R               ⋆; PB_R + 1/2C_R^⊤  A_R^⊤ P + PA_R ]≺ 0.

then the control law (<ref>):

  
  * renders the desired attitude (R_e = I) to be the almost globally asymptotically stable equilibrium of (<ref>),
  
  * gives exact local tracking performance (Φ(t) = Φ_d(t)),
  
  * induces the following local desired dynamics about the stable equilibrium, if feedforward term (R_e^⊤ω_d) is ignored in control law

    Φ(s) = -[sI - Γ_Φ(s)]^-1Γ_Φ(s) Φ_d(s)

where Γ_Φ(s) = C_R[sI - A_R]^-1B_R + D_R.



To prove first statement, considering the Lyapunov function as 𝒱 = 2 Ψ(R_d,R) + x_R^T P x_R, it can be seen directly from (<ref>) that 𝒱 is positive definite and radially unbounded. Moreover, its derivative can be computed as follows,

    𝒱̇ =    - Ṙ_e + ẋ_R^T P x_R + x_R^T P ẋ_R 
    
     =    e_R^T (ω -R_e^Tω_d)  + x_R^T (A_R^T P + P A_R) x_R 
        + x_R^T P B e_R + e_R^T B^T P x_R 
    
    =    e_R^TD_Re_R+1/2(e_R^T C_R x_R + x_R^T C_R^T e_R) 
        + x_R^T (A_R^T P + P A_R) x_R + x_R^T P B e_R + e_R^T B^T P x_R  
    
     =   [ e_R^T x_R^T ]𝒬[ e_R; x_R ] < 0.

Therefore, the control law (<ref>) drives the configuration error function (Ψ) to zero. The critical points of Ψ are the solutions R_e∈3 to the equation Ψ = 0 or I-R_e = 0, which are given by R_e = I (desired equilibrium), and R_e = exp(±πs) (undesired equilibria) for any s∈2 <cit.>. However, using Chetaev's instability theorem <cit.>, it can be
shown that the undesired equilibria are unstable (for details see <cit.>). Thus the desired equilibrium is almost globally asymptotically stable.

Proof of second and third statements is straightforward; substituting Eqs. (<ref>), (<ref>) and (<ref>) in Eq. (<ref>), and taking Laplace transform of resulting local linear closed-loop as Φ(s)=Φ_d(s). If the feedforward term (R_e^⊤ω_d) is ignored from control law, then small error assumption it can be approximated as R_e^⊤ω_d ≈Φ̇_d. This results in local error angle dynamics as ė_Φ = ω - Φ̇_d, which upon substituting Eqs. (<ref>) and taking Laplace transform yields (<ref>).



For only proportional controller, A_R, B_R, C_R, and therefore P as well, are empty matrices and D_R = -K_R. In that case K_R needs to be positive definite to ensure almost global asymptotic stability. It also enforces the first order local desired dynamics i.e. [sI+K_R]^-1K_R.




 §.§ Stability Guarantees of Cascaded Architecture

In this subsection we will discuss the stability of cascaded architecture for set-point tracking or regulation problems, i.e. (ω_d = 0, ω̇_d = 0). Using Eqs. (<ref>), (<ref>), and (<ref>) we can write complete cascaded closed loop error dynamics as,

    [  ė_R; ω̇_e;  ẋ_R;  ẋ_ω ] =
    [           0      ℰ(R_e)           0           0; D_ω_ref D_R         D_ω D_ω_ref C_R         C_ω;         B_R           0         A_R           0; B_ω_ref D_R         B_ω B_ω_ref C_R         A_ω ][ e_R; ω_e; x_R; x_ω ],

For simplicity lets denote x_K = [x_R, x_ω]^⊤, then we can write Eq. (<ref>) as,

    [  ė_R; ω̇_e;  ẋ_K ] = [      0 ℰ(R_e)      0;   A_21   A_22   A_23;   A_31   A_32   A_33 ][ e_R; ω_e; x_K ],

where,

    A_21   ≜ D_ω_ref D_R,                                      A_22   ≜ D_ω,                                       A_23   ≜[ D_ω_ref C_R         C_ω ],             
    
    A_31   ≜[         B_R; B_ω_ref D_R ],     A_32   ≜[   0; B_ω ],     A_33   ≜[         A_R           0; B_ω_ref C_R         A_ω ].

Now lets present the main stability results in following theorem.


The cascaded closed loop system (<ref>) is almost globally asymptotically stable for set-point tracking and regulation problems (ω_d = 0, ω̇_d = 0), if there exits a positive scalar p_11, an scalar p_21, symmetric positive definite matrices P_22, and P_33, and a matrix P_32, such that following the LMIs hold.


    𝒫≜[ p_11 I p_12 I      0;      ⋆   P_22   P_23;      ⋆      ⋆   P_33 ]≻ 0


    ℳ≜[ M_11 M_12 M_13;    ⋆ M_22 M_23;    ⋆    ⋆ M_33;      ]≺ 0


here the submatrices are defined as follows,

    M_11   ≜ p_12(A_21 + A_21^⊤),
    
    M_22   ≜ 2p_12I + P_22A_22 + A_22^⊤ P_22 + P_23A_32 + A_32^⊤ P_23^⊤,
    
    M_33   ≜ P_23^⊤ A_23 + A_23^⊤ P_23 + P_33A_33 + A_33^⊤ P_33,
    
    M_12   ≜ p_11I + p_12A_22 + A_21^⊤ P_22 + A_31^⊤ P_23^⊤,
    
    M_13   ≜ p_12A_23 + A_21^⊤ P_23 + A_31^⊤ P_33,
    
    M_23   ≜ P_22A_23 + A_22^⊤ P_23 + A_32^⊤ P_33 + P_23A_33.





Consider the lyapunov function,

    𝒱 = 2 p_11Ψ   + ω_e^⊤ P_22ω_e + 2 p_12  e_R^⊤ω_e 
       + x_K^⊤ P_33 x_K + 2 ω_e^⊤ P_23 x_K

Now using the fact that <cit.>,

    Ψ≥1/2e_R^2.


Therefore, it can be easily seen that (<ref>) ensures the positive definiteness and radial unboundedness of 𝒱. So, the Lyapunov rate along trajectories of (<ref>) can be written as follows:

    𝒱̇   = 2 p_11Ψ̇ + 2 ω_e^⊤ P_22ω̇_e + 2p_12 (e_R^⊤ω̇_e + ω_e^⊤ė_R) 
         + 2x_K^⊤ P_33ẋ_K + 2(ω_e^⊤ P_23ẋ_K + x_K^⊤ P_23ω̇_e) 
       = z^⊤ℳ z + p_12ω_e^⊤(ℰ(R_e) + ℰ(R_e)^⊤ - 2I)ω_e

Using the fact that the matrix (ℰ(R_e) + ℰ(R_e)^⊤ - 2I) is negative semi-definite for all R_e ∈3, we can bound lyapunov rate as follows

    𝒱̇≤ z^⊤ℳ z  < 0

Therefore, the cascaded control architecture drives the configuration error function (Ψ) to zero, alongwith ω_e and x_K. The critical points of Ψ are the solutions R_e∈3 to the equation Ψ = 0 or I-R_e = 0, which are given by R_e = I (desired equilibrium), and R_e = exp(±πs) (undesired equilibria) for any s∈2 <cit.>. However, using Chetaev's instability theorem <cit.>, it can be shown that the undesired equilibria are unstable (for details see <cit.>). Thus the desired equilibrium (R_e=I, ω_e = 0, x_K=0) is almost globally asymptotically stable. 
  



It is worth noting that for tracking problems (ω_d  0), we need additional cancellation torque in rate-controller (<ref>), more precisely (R_e^⊤ω̇_d - [e]ω R_e^⊤ω_d). Furthermore, with this additional cancellation term along with the assumption of no gain and/or filter in rate loop feedback path (i.e. B_ω_ref = -B_ω and D_ω_ref = -D_ω), it can be shown that the feasibility of LMIs (<ref>) also ensures AGAS for cascaded architecture for tracking problems. 








§ AGILE MANEUVERING OF A MULTICOPTER: AN EXAMPLE

In this section, the agile maneuvering of a multicopter is considered to demonstrate the effectiveness of the proposed control scheme. Co-planar multicopters, as defined in <cit.>, are multicopters in which thrust vectors of all rotors are parallel in hover conditions for all control inputs. For such multicopters the function f(ω,μ) = κω in (<ref>), where κ is rotational damping coefficient. In this paper, an example of hexacopter is considered, see Fig. <ref>. The proposed geometric NDI scheme is compared with an Euler angles based NDI control scheme proposed in <cit.>. The parameters of hexacopter considered are available in <cit.>. A high fidelity nonlinear simulation is used, which also includes actuator dynamics and saturation limits on each motor RPMs, and to distribute the desired torques, Pseudo-Inverse based control allocation scheme is used, for more details see <cit.>.



A maneuver consisting of two flips (rotation of 720^∘) about roll axis followed by two flips about pitch axis, is considered, or more precisely,

    R̅_d(t) = exp(2π t [1]e),     0 ≤ t ≤ 2 
    exp(2π(t-2.5)[2]e),     2.5 < t ≤ 4.5 
    
            I,    .

where e_1 = [1,0,0]^T and e_2 = [0,1,0]^T. This maneuver is executed by generating a filtered reference (R_d,ω_d) using the second-order geometric filter developed in <cit.>. In particular, this filter is designed such that its linearized counterpart has a natural frequency of 15 rad/s and a damping ratio of 0.707. For comparison purpose, same desired dynamics and controller gains are used for the proposed scheme as for Euler angle based NDI presented in <cit.>.

Though the presented approach can consider any desired dynamics, here a PD-type controller is used, or more precisely a lead compensator of the form k_p + k_d s/τ_fs+1, for each channel of rate loop, with k_p = 4.2, k_d = 0.42, and τ_f = 10. A first order lag filter at 100 Hz is used in feedback to mitigate sensor noise with a sensor delay of 5 ms in each channel. For analysis these pure delays are approximated by third order Padé approximation. This gives an overall 12^th order rate loop control law (<ref>). It can be seen that this ensures 𝒜_ω, as defined in (<ref>), to be Hurwitz. Moreover, for attitude loop, PID-type controller of the form k_p + k_i/s+ε + k_d s/τ_fs+1 is used for each channel, with k_p = -27.75, k_i = -1.85, k_d = -5.55, ε = 0.001, and τ_f = 10. It is worth noting that instead of a pure integrator and derivative, a lead-lag compensator is used, which makes the controller practically implementable. The feasibility of LMI (<ref>) was checked by using a state-space realization of this controller, which was obtained by MATLAB's “” command. To ensure time scale separation, these controllers are designed on linearized models of each channel, and ratio of bandwidth of attitude loop to that of rate loop was kept higher than 4. With the selected gains this ratio was 7.580, 6.121, and 4.048 for roll, pitch and yaw channels, respectively. Moreover, for stability of cascaded architecture, LMIs (<ref>) were checked to be feasible using YALMIP and SeDuMi toolboxes <cit.>.









Figure <ref> shows the variation of the configuration error function (Ψ(R_d,R)), Fig. <ref> shows the angular rates, Fig. <ref> shows the attitude error vector (e_R), and Fig. <ref> shows the control effort (τ). It must be noted that Fig. <ref> shows the actual torque which is applied on the body, not the one demanded by the controller. Moreover, due to control allocation, actuator dynamics and saturation limits on motor RPMs, these demanded and actual torques are not necessarily equal. It can be easily seen that Euler angle based NDI controller barely survived the flips about roll axis with very degraded performance, and gets unstable during flips about pitch axis. However, the proposed geometric NDI scheme, both with and without feed-forward term (R_e^⊤ω_d), gives good performance during flips about both axes. Moreover, it can also be seen that the presence of feed-forward term significantly enhances the control performance at a cost of slightly larger control effort. 



§ CONCLUSION

In this work, a novel nonlinear dynamic inversion based cascaded control architecture is presented for the rigid body attitude control problem. The proposed control law uses the rotation matrix parameterization

and ensures almost global asymptotic stability in the case of attitude error regulation. In particular, the proposed scheme is capable of enforcing desired linear dynamics of any order in both the attitude and velocity loops, and gives control designers the flexibility to use higher-order linear controllers in both loops while ensuring stability guarantees by just checking the feasibility of given LMIs. For practical applications, it is recommended that the inner velocity loop be at least three to five times faster than the outer attitude loop, as is standard practice in NDI-based cascaded control architectures.











