2013 American Control Conference (ACC)
Washington, DC, USA, June 17-19, 2013
Simultaneous Attitude Control and Trajectory Tracking of a Micro
Quadrotor: A SNAC Aided Nonlinear Dynamic Inversion Approach
Shivendra N. Tiwari
and Radhakant Padhi
Abstract— This paper presents an advanced single network
adaptive critic (SNAC) aided nonlinear dynamic inversion
(NDI) approach for simultaneous attitude control and trajectory
tracking of a micro-quadrotor. Control of micro-quadrotors is
a challenging problem due to its small size, strong coupling in
pitch-yaw-roll and aerodynamic effects that often need to be
ignored in the control design process to avoid mathematical
complexities. In the proposed SNAC aided NDI approach, the
gains of the dynamic inversion design are selected in such
a way that the resulting controller behaves closely to a pre-
synthesized SNAC controller for the output regulation problem.
However, since SNAC is based on optimal control theory, it
makes the dynamic inversion controller to operate near optimal
and enhances its robustness property as well. More important, it
retains two major benefits of dynamic inversion: (i) closed form
expression of the controller and (ii) easy scalability to command
tracking application even without any apriori knowledge of the
reference command. Effectiveness of the proposed controller
is demonstrated from six degree-of-freedom simulation studies
of a micro-quadrotor. It has also been observed that the
proposed SNAC aided NDI approach is more robust to modeling
inaccuracies, as compared to the NDI controller designed
independently from time domain specifications.
Index Terms- Single Network Adaptive Critic, SNAC, Dy-
namic Inversion, Quadrotor, SNAC aided NDI.
I. INTRODUCTION
A quadrotor aircraft is an Unmanned Aerial Vehicle (UAV)
with four symmetrically located propeller units, each produc-
ing thrust largely in the vertical direction. Like helicopters,
it has vertical take-off and landing capability. Moreover,
unlike fixed-wing aircrafts and some rotorcrafts, quadrotors
are capable of holonomic motions, including hovering. These
features, as well as relatively low cost, make them attractive
for a variety of interesting and challenging applications
such as swarm operations, academic research, carrying out
missions in cluttered environments in-door applications etc.
Control of quadrotors in general and micro-quadrotors in
particular is a challenging problem due to their small size,
strong coupling in pitch-yaw-roll channels and aerodynamic
effects that often need to be ignored in the control design
process to avoid mathematical complexities. Many previous
works have demonstrated that it is possible to control a
quadrotor within limited flight envelope using linear control
techniques [1]. However, better performance requirements
such as wider flight envelope, conservation of propulsion
This work was not supported by any funding agency.
Shivendra N. Tiwari, M.E. Student, is in the Dept. of Aerospace Engi-
neering, Indian Institute of Science, Bangalore, India.
Radhakant Padhi (Associate Fellow, AIAA and Member, IEEE) is
In-
India. Tel. +91-80-2293-2756,
an Associate Professor
dian Institute of Science, Bangalore,
Email: padhi@aero.iisc.ernet.in
in the Dept. of Aerospace Engineering,
978-1-4799-0178-4/$31.00 ©2013 AACC
194
power for higher endurance, conservation of control energy
etc. necessitates the usage of nonlinear control techniques
that also consider the full six degrees-of-freedom nonlinear
dynamics of the vehicle.
It is worth mentioning here that promising ideas such as
backstepping [2], sliding mode [3] and nonlinear dynamic
inversion (NDI) [4], adaptive control [5], [6] have been
explored to design effective nonlinear controllers for quadro-
tors. To the best of the knowledge of the authors, however,
other then the limited linear quadratic regulator (LQR)
theory, optimal control
techniques have not been widely
used for flight control in general and quadrotor control in
particular. An important philosophical reason for the same is
perhaps the fact that nonlinear optimal control techniques
are largely centered around regulator problems, where as
good applications demand command tracking features as
well. However, it can be pointed out here that nonlinear
optimal regulator techniques such as SNAC [7], has better
robustness properties as well because it is strongly backed by
approximate dynamic programming theory [8], [9]. On the
other hand, techniques such as nonlinear dynamic inversion
can naturally address the tracking problem. However, it lack
the optimality and robustness features of a nonlinear optimal
controller. In fact,
the NDI
technique is sensitive to this issue [10].
is rather well-known that
it
However, recently the two promising nonlinear control
design philosophies of SNAC and NDI have been combined
to propose a powerful hybrid technique, named as SNAC
aided NDI (SNAC-NDI) [11], which attempts to retain the
advantages of both the techniques. In this approach, the
gains of the dynamic inversion design are selected in such
a way that
the resulting controller behaves closely to a
pre-synthesized SNAC controller for the output regulation
problem. However, since SNAC is based on optimal control
theory, it makes the dynamic inversion controller to operate
near optimal and enhances its robustness property as well.
More important, it retains two major benefits of dynamic
inversion: (i) closed form expression of the controller and
(ii) easy scalability to command tracking application even
without any apriori knowledge of the reference command. An
interested reader can find more details about this technique
in [11].
The SNAC-NDI approach is followed here for designing
an effective sub-optimal controller to ensure simultaneous
attitude control and trajectory tracking of a micro-quadrotor.
Effectiveness of the proposed controller is demonstrated from
six degree-of-freedom simulation studies. It has also been
observed that the proposed SNAC aided NDI approach is
more robust to modeling inaccuracies, as compared to the
NDI controller designed independently from time domain
specifications. It has also been shown that the SNAC-NDI
controller operate near optimal since SNAC results in an
optimal controller.
II. SIX DOF MODEL OF THE QUADROTOR AND DESIGN
A. Mathematical Model of Quadrotor
OBJECTIVE
A nonlinear rigid-body model of a quadrotor is given by
[12], [13]
¨y
¨z
m
u1
m
−g + u1
(cos φ cos θ)
⎡
⎣ ¨x
⎡
⎣ ˙
⎡
⎣ ˙p
⎤
⎦ =
⎤
⎦ =
⎤
⎦ =
(cos φ sin θ cos ψ + sin φ sin ψ)
(cos φ sin θ sin ψ − sin φ cos ψ)
⎡
⎤
⎣ u1
⎦
⎤
⎡
⎦
⎣ p + q sin φ tan θ + r cos φ tan θ
⎡
⎤
⎣ 1
⎦
[(Iy − Iz)rq − JRqΩ + u2]
[(Iz − Ix)rp + JRpΩ + u3]
q sin φ sec θ + r cos φ sec θ
q cos φ − r sin φ
φ
˙
θ
˙
ψ
m
Ix
1
Iy
1
Iz
[(Ix − Iy)pq + u4]
˙q
˙r
(1)
(2)
(3)
where x, y and z are the position of the center of mass in
the inertial frame, φ, θ and ψ are the Euler angles which
describe the orientation of the body-fixed frame with respect
to the inertial frame, m, Ix, Iy and Iz are the mass and
moments of inertia of the quadrotor respectively and JR and
Ω are the moment of inertia and angular velocity of the rotor
blades. The micro-quadrotor parameter values are shown in
Table I.
⎤
⎥⎥⎦ =
⎡
⎢⎢⎣ Ω2
1
Ω2
2
Ω2
3
Ω2
4
⎡
⎢⎢⎣ ( 1
4b u1 − 1
( 1
4b u1 − 1
( 1
4b u1 + 1
( 1
4b u1 + 1
2bl u3 − 1
2bl u2 + 1
2bl u3 − 1
2bl u2 + 1
4d u4)
4d u4)
4d u4)
4d u4)
⎤
⎥⎥⎦
(5)
B. Design objective
Control of micro-quadrotors is a challenging problem
due to its small size, strong coupling in pitch-yaw-roll and
aerodynamic effects that often need to be ignored in the
control design process to avoid mathematical complexities.
The objective of the control design is to ensure simulta-
neous attitude control and trajectory tracking of a micro-
quadrotor and cater for modeling inaccuracies/uncertainties
as well, leading to enhanced robustness. Also it has better
performance such as wider flight envelope, conservation
of propulsion power for higher endurance, conservation of
control energy etc.
III. GENERIC THEORY
A. Single network adaptive critic (SNAC) Design
The main idea behind the SNAC aided NDI controller
(SNAC-NDI) design is to optimize a NDI controller with
the help of a pre-synthesized SNAC neural networks. The
first step in the design of the hybrid controller is therefore to
synthesize offline, a SNAC controller for optimal state regu-
lation. Nonlinear control affine plant dynamics is considered
in discrete time as
Xk+1 = Xk + Δt [f (Xk) + g(Xk)Uk] , k = 1, 2, . . . , N (6)
and the discrete time cost function as
TABLE I
QUADROTOR PARAMETER VALUES
J =
1
2
(X T
k QXk + U T
k RUk)Δt
(7)
Here Q is a positive semi-definite weight matrix on the state
and R is a positive definite weight matrix on the control.
The utility cost for time step k turns out to be
The costate equation on the optimal path is given by [7]
Ψk =
(X T
k QXk + U T
k RUk)Δt
T
λk =
∂Ψk
∂Xk
+
∂Xk+1
∂Xk
λk+1
(8)
(9)
Substituting for Xk+1 from (6) and Ψk from (8) and carrying
out the necessary algebra, the costate equation (9) can be
simplified to
λk = Δt (QXk) +
λk+1
(10)
In (10), Fk represents the expression on the right hand side
of (6). The optimal control equation can be written as [7]
∂Ψk
∂Uk
+
∂Xk+1
∂Uk
λk+1 = 0
(11)
T
∂Fk
∂Xk
T
∞
k=1
1
2
Parameter
Mass of the quadrotor (m)
Moment of inertia around the x-axis (Ix)
Moment of inertia around the y-axis (Iy)
Moment of inertia around the z-axis (Iz)
Thrust factor (b)
Drag factor (d)
Propeller distance from center (l)
Numerical Value
1 kg
8.1 × 10−3 N ms2
8.1 × 10−3 N ms2
104 × 10−6 N ms2
54.2 × 10−6 N s2
1.1 × 10−6 N ms2
0.24 m
⎤
⎥⎥⎦ =
⎡
⎢⎢⎣ u1
u2
u3
u4
⎡
⎢⎢⎣ b(Ω2
d(−Ω2
1 + Ω2
lb(−Ω2
lb(−Ω2
1 + Ω2
3 + Ω2
2 + Ω2
4)
2 + Ω2
4)
1 + Ω2
3)
3 + Ω2
2 − Ω2
4)
⎤
⎥⎥⎦
(4)
u1, u2, u3 and u4 are the collective, roll, pitch and yaw
forces generated by the four rotors. Ω1, Ω2, Ω3 and Ω4 are
the rotor angular speeds. b,
l, d are thrust factor, center
of quadrotor to center of rotor distance and drag factor
respectively. Since the determinant of matrix (4) is different
than zero, it can be inverted to find the relation U to Ω2.
The computation is shown in (5)
195
Once again substituting for Xk+1 from (6) and Ψk from (8),
the optimal control equation can be simplified to
RUk + g(Xk)T λk+1 = 0
Observing the fact that R is positive definite Uk can be
computed as
Uk = −R−1
g(Xk)T λk+1
(12)
The telescopic training procedure [7] is adopted here to
train the critic neural network of the SNAC controller. After
successful training, the critic network maps the state vector
Xk to the costate vector λk+1. The output of the critic
network is then used offline in the optimal control equation
to obtain the optimal control signal for state regulation.
B. SNAC aided NDI Design: Mathematical Formulation
The plant dynamics written in continuous time as
˙X = f (X) + g(X)U
Y = h(X)X
(13)
where f (X), g(X) are smooth and nonlinear functions of the
state vector X. The output vector is considered as Y ∈ ν
(14)
where h(X) is function of the state vector X. In order to
derive a control law to cancel the nonlinearities of the system
a direct relationship needs to be derived between the output
vector Y and the control vector U. This is achieved by
continuously differentiating each component of the output
vector until a component of the control vector appears in the
process of differentiation. Assume after mth differentiation
the control appear in the output equation and m satisfies the
inequality m ≤ n. The commanded vector is denoted as
Y des and the mth order error dynamics can be written as
Em + K1Em−1 + K2Em−2 + . . . + KmE = 0
(15)
where E = Y − Y des, Em = dmE/dtm and the gains
. . . , Km are positive definite diagonal matrices
K1, K2,
defined by Ki = diag(k1i, k2i,
. . . , kνi) and i =
1, 2, 3,
Since the control signal appears in the mth differentiation of
Y , which can be written in the control affine form
. . . , m.
dmY /dtm = ˜
f (X) + ˜g(X)U
(16)
where ˜
f (X), ˜g(X) are smooth and nonlinear functions of
the state vector X. From (15) and (16) a relationship between
the output vector and the control vector, given as
˜
f (X) + ˜g(X)U =
dmY des/dtm − K1(dm−1
−dm−1
−Km(Y − Y des)
Y des/dtm−1) . . .
Y /dtm−1
(17)
By solving for U from (17) and redefining it as UN one gets
UN = ˜g(X)−1
(dmY des/dtm
Y /dtm−1 − dm−1
−K1(dm−1
−Km(Y − Y des) − ˜
f (X)
Y des/dtm−1) . . .
(18)
196
In order to dynamically optimize the NDI control, the gains
. . . , Km are defined as time varying matrices.
K1, K2,
Pseudo control and optimal pseudo control vectors is defined
respectively by
US = ˜
f (X) + ˜g(X)UN
S = ˜
U ∗
f (X) + ˜g(X)U ∗
(19)
(20)
where UN is defined by (18) with Y des and all its higher
order derivatives set to zero (so that it mimics an output
regulation problem to make it compatible with the objective
set for SANC) and U ∗ is obtained by following the SNAC
approach. The goal is to derive closed form expressions for
the time varying gains K1, K2, . . . , Km in an effort to reduce
the error between the pseudo controls defined in (19), (20)
which is done by minimizing the following cost function [11]
ν
m
JD =
1
2
+
(US − U ∗
S)T R1(US − U ∗
S)
(kji(t) − ¯
kji(t))2
r2
⎤
⎦
(21)
j=1
i=1
where R1 is a positive definite diagonal matrix represented
. . . , k1ν), r2 is the scalar weight
as R1 = diag(r11, k12,
on the gain variation and ¯
kji(t) is the one sampling period
previous value of kji(t). An optimization problem,
min
K1(t),K2(t),...,Km(t)
JD
(22)
closed form
analytically solved to arrive
the gain matrices,
each element of
. . . , Km(t).The following closed form
the gain matrix elements kji(t),
j =
is
expression for
K1(t), K2(t),
expressions for
1, 2,
. . . , ν and i = 1, 2,
. . . , m, are arrived at
the
at
2
dm−iyj
dtm−i
+ r2
−1
kji(t) =
r1j
×
u∗
sj r1j
dm−iyj
dtm−i
+ ¯
kji(t)r2
(23)
C. NDI Controller Design for Quadrotor
Figure. 1 shows the nonlinear dynamic inversion archi-
tecture for micro-quadrotor. It appears clearly from (1), (2)
and (3) that the rotational motions (φ, θ, ψ, p, q, r) do
not depend on translational motion while the opposite is not
true. Thus an intermediate and inner most loop was designed
for stability and tracking of desired Euler angles and body
rates, with an outer loop for tracking the vehicle position.
The dynamic inversion control design approach exploits the
time scale separation that exists in the quadrotor dynamics.
That is,the outer loop inversion controller uses the states of
the fast dynamics (φ, θ, ψ) to control those of slow dynamics
(x, y, z) and the innermost loop inversion controller uses
the control (u1, u2, u3) to control the states of the fast
dynamics (p, q, r).
x
d
y
z
d
d
⎡
⎢
⎢
⎢
⎣
REFERENCE
POSITION
⎤
⎥
⎥
⎥
⎦
OUTER LOOP
φ
d
θ
d
INTERMEDIATE
LOOP
dp
dq
dr
INNERMOST
LOOP
1u
2u
3u
4u
INVERTED
MOVEMENT
MATRIX
ψ
d
ψ
d
STATE VECTOR
2
Ω
1
Ω
2
Ω
3
Ω
4
2
2
2
QUADROTOR
DYNAMICS
Fig. 1. Block Diagram of NDI controller
1) Outer Loop Design: x, y, z and ψ are chosen as
output variables and xd, yd, zd and ψd are desired values
for them. Forcing second order error dynamics for z
(¨z − ¨zd) + kvz
( ˙z − ˙zd) + kpz
(z − zd) = 0
(24)
where kvz and kpz are positive scaler gains. Substituting ¨z
from (1) and solving for u1
3) Innermost Loop Design: This loop generate collective,
roll,pitch, and yaw forces (u2, u3, u4) which goes into the
inverted movement matrix (5). The body rate demand coming
from intermediate loop will be used to compute the desired
dynamics. Here a first order dynamics is considered for the
desired body rate dynamics, which is given as
( ˙p − ˙pd) + kpp
( ˙q − ˙qd) + kpq
( ˙r − ˙rd) + kpr
(p − pd) = 0
(q − qd) = 0
(r − rd) = 0
(34)
(35)
(36)
where kpp , kpq , and kpr are positive scaler gains. Substitut-
ing ˙p, ˙q, and ˙r from (3) we get
⎡
⎣ u2
u3
u4
⎤
⎦ =
⎡
⎣ −(Iy − Iz)qdrd − kpp Ix(p − pd)
−(Iz − Ix)pdrd − kpq Iy(q − qd)
−(Ix − Iy)pdqd − kpr Iz(r − rd)
⎤
⎦
(37)
4) SNAC-NDI for Innermost loop: The nominal body rate
u1 =
m
cos θ cos φ
[g − kvz
˙z − kpz
(z − zd)]
(25)
loop
Similarly forcing second order error dynamics for x and y
(¨x − ¨xd) + kvx
(¨y − ¨yd) + kvy
( ˙x − ˙xd) + kpx
( ˙y − ˙yd) + kpy
(x − xd) = 0
(z − yd) = 0
(26)
(27)
where kvx, kpx, kvy and kpy are positive scaler gains.
Substituting ¨x and ¨y from (1)
−1
sin φd
sin θd
sec φd
= u1
m
×
sin ψd cos ψd
− cos ψd sin ψd
−kvx
−kvy
˙x − kpx
˙y − kpy
(x − xd)
(y − yd)
(28)
It is obvious that φd and θd can be derived from (28).
2) Intermediate Loop Design: This loop generates rate
demand which goes into the innermost loop. The attitude
demand coming from outer loop will be used to compute the
desired dynamics. A first order error dynamics is considered
for the desired attitude dynamics, given as
( ˙
φ − ˙
φd) + kpφ
θ − ˙
( ˙
θd) + kpθ
( ˙
ψ − ˙
ψd) + kpψ
(φ − φd) = 0
(θ − θd) = 0
(ψ − ψd) = 0
(29)
(30)
(31)
(32)
where kpφ , kpθ and kpψ are positive scaler gains. Substitut-
ing ˙
φ,
ψ from (2)
⎡
⎣ ˙p
˙q
˙r
⎤
⎦ =
⎡
⎣ a1 r q + b1 u2
a2 r p + b2 u3
a3 p q + b3 u4
⎤
⎦
where, a1 = Iy −Iz
Ix
a3 = Ix−Iy
, and b3 = 1
Iz
, b1 = 1
Iz
Ix , a2 = Iz −Ix
Iy
(38)
, b2 = 1
Iy ,
Neglecting gyroscopic terms (terms corresponding to Ω) as
the effect of these terms are negligible. For SNAC controller
it is required to pretrain the critic networks such that results
in a fairly good initialization of the weights. This is done by
taking the help of LQR theory.
To design the SNAC controller, one needs the discrete state
equation. Towards this, using Euler discretization, (38) can
be written as
⎤
⎦ =
⎡
⎣ pk + Δt (a1rkqk + b1u2k)
qk + Δt (a2pkrk + b2u3k)
rk + Δt (a3pkqk + b3u4k)
⎡
⎣ pk+1
qk+1
rk+1
⎤
⎦
(39)
where [pk qk rk] and [u2k u3k uk4] are the discrete time
body rates and control respectively and Δt is the sampling
period. Optimal control can be obtained from (12) in discrete
time as
⎤
⎦ =
⎡
⎣ u∗
2k
u∗
3k
u∗
4k
⎤
⎥⎦
⎡
⎢⎣ b1λ1k+1
b2λ2k+1
r1
b3λ3k+1
r2
r3
1
Δt
For (6) and (10) costate equation can be written as
⎡
⎣ pd
⎤
θ and ˙
˙
⎦ =
qd
rd
cos φd
⎡
⎣ 1 sin φd tan θd
⎡
⎣ −kpφ
0
0 sin φd sec θd
(φ − φd)
(θ − θd)
(ψ − ψd)
−kpθ
−kpψ
×
cos φd tan θd
− sin φd
cos φd sec θd
⎤
⎦
⎤
⎦−1
(33)
⎡
⎣ λ1k
λ2k
λ3k
⎤
⎡
⎣ q1pk
⎦ = Δt
⎡
⎣ λ1k+1
q2qk
q3rk
×
⎤
⎦ +
⎤
⎦
λ2k+1
λ3k+1
⎡
⎣ 1 Δta2rk Δta3qk
Δta1rk 1
Δta1qk Δta2pk
Δta3pk
1
⎤
⎦
(40)
(41)
where pd, qd and rd are the demanded body rate, which is
used further to obtain control u2, u3 and u4.
where λk is the costate vector in discrete time. A successfully
trained critic network, when used in discrete time, maps the
197
state vector Xk to the costate vector λk+1 which can be used
to compute the optimal control given by (40). The actual
body rate loop
⎡
⎣ ˙p
˙q
˙r
⎤
⎦ =
⎡
⎣ a1rq + b1u2 + d1(p, q, r)
a2rp + b2u3 + d2(p, q, r)
a3pq + b3u4 + d3(p, q, r)
⎤
⎦
(42)
where d1, d2 and d3 are collective uncertainties(unmodeled
dynamics,parametric uncertainties) written in terms of
lumped up terms. It is assumed that the uncertainties are
dependent on body rate alone and is not a function of control.
Uncertainties are defined as:
⎤
⎦ =
⎡
⎣ Δa1rq + Δb1p + c1 sin(p)
Δa2pr + Δb2q + c2 sin(q)
Δa3pq + Δb3r + c3 sin(r)
⎡
⎣ d1(p, q, r)
d2(p, q, r)
d3(p, q, r)
⎤
⎦ (43)
In order to optimize the controller (37), the NDI gains
kpp , kpq , and kpr are set to be as time varying. In order to
arrive at closed form expression for the gains, kpp , kpq , and
kpr the following cost function is to be minimized.
1
2
+r2(kpp
+r2(kpr
(US − U ∗
− ¯
− ¯
S)T R1(US − U ∗
S)
− ¯
)2 + r2(kpq
)2
kpp
kpr
kpq
)2
(44)
JD =
where pseudo control (US) and optimal pseudo control
S) vectors defined respectively by (19), (20). R1 =
(U ∗
diag(r11, r22, r33) is a third order diagonal matrix, typically
an identity matrix, r2 is a positive scalar and ¯
¯
kpr
are values of gains kpp, kpq , kpr respectively at one sample
before. An optimization problem (22) is analytically solved
⎤
to arrive at the closed form expression for each of the gains
⎥⎥⎥⎥⎦
(u∗
S2
(r2+r11(p−pd)2)
(u∗
S3
(r2+r22(q−qd)2)
⎡
⎣ kpp
⎤
⎦ =
⎡
⎢⎢⎢⎢⎣
r11(p−pd)−r2
r22(q−qd)−r2
¯
kpq ,
¯kpp )
(45)
¯kpq )
kpp,
−
kpq
kpr
−
−
r33(r−rd)−r2
(u∗
S4
(r2+r33(r−rd)2)
¯kpr )
multi-layer perceptron. The weight for state and control are
Q = diag[1, 1, 1] and R = diag[5, 5, 5]. For training the
Levenberg-Marquardt back-propagation technique is used.
Here the plant is taken to be nominal and no disturbance
effect was injected.
The performance of NDI and SNAC-NDI are compared
in the Fig.2 to Fig.7. Inertial positions, shown in Fig.2
reaches steady positions with a small error with respect to
the desired positions for SNAC-NDI whereas large error for
NDI controller. There is oscillation in translational velocities
for NDI case whereas for SNAC -NDI the profile is smooth
as shown in Fig.3. Figure 4 shows the roll, pitch and yaw
angles. Here also SNAC-NDI profile is smooth whereas
oscillations are present in NDI. The body rates are shown
in Fig.5 for both the cases. There are large oscillations in
body rates for NDI controller whereas SNAC-NDI profiles
are smooth. Figure 6 shows the control actions produced by
the NDI and SNAC-NDI controller. The vertical thrust u1
are approximately same for the two controller because no
disturbances are present in outer loop. On the other hand the
three orthogonal torques u2,u3 and u4 are quite different for
both controller. There are huge oscillation in torques for NDI
case whereas torques are smooth for SNAC-NDI. Clearly the
control efforts for SNAC-NDI is very less compare to NDI
controller as shown in Fig.7.
)
m
(
n
o
i
t
i
s
o
p
X
)
m
(
n
o
i
t
i
s
o
p
Y
)
m
(
n
o
i
t
i
s
o
p
Z
10
5
0
0
10
5
0
0
10
5
0
0
12
12
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
12
8
8
8
2
2
2
4
4
4
6
6
6
Time (sec)
Fig. 2. Quadrotor Position with disturbance
IV. SIMULATION RESULTS
This section shows the results of complete simulation
where the quadrotor starts from an initial position with non
zero attitude (10deg, 10deg, 2deg) and must reach the point
(10m, 10m, 10m) and start hovering therein. The simula-
tions were carried out using six degree-of-freedom model
described previously with disturbances. The actual body rate
loop is chosen with very large parameter inaccuracies and
an additional nonlinear term. The actual body rate loop and
corresponding unknown term are given by (42) and (43). The
plant (innermost body rate dynamics) is first trained off-line
following the procedure given in Section III. The tolerance
value for the error in the termination criterion is 0.01. The
time step chosen was 0.01 sec. The network is trained for
4000 train points for each iteration. The critic networks are
having the architecture of 2-6-2. The critic network is a
198
)
c
e
s
/
m
(
e
t
a
r
X
)
c
e
s
/
m
(
e
t
a
r
Y
)
c
e
s
m
/
(
e
t
a
r
Z
3
2
1
0
0
4
2
0
0
3
2
1
0
0
12
12
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
12
8
8
8
2
2
2
4
4
4
6
6
6
Time (sec)
Fig. 3. Quadrotor translational velocities with disturbance
)
g
e
d
(
φ
)
g
e
d
(
θ
20
0
−20
−40
0
30
20
10
0
−10
0
)
g
e
d
(
ψ
5
0
−5
0
12
12
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
SNAC−NDI
NDI
10
12
8
8
8
2
2
2
4
4
4
6
6
6
Time (sec)
t
r
o
f
f
e
l
o
r
t
n
o
C
0.06
0.05
0.04
0.03
0.02
0.01
0
0
SNAC−NDI
NDI
2
4
6
Time (sec)
8
10
12
Fig. 7. Control effort with disturbance
Fig. 4. Attitude angle histories with disturbance
)
c
e
s
/
g
e
d
(
p
200
0
−200
0
/
)
c
e
s
g
e
d
(
q
/
)
c
e
s
g
e
d
(
r
50
0
−50
0
40
20
0
−20
−40
0
20
15
10
)
N
(
t
s
u
r
h
t
l
a
t
o
T
5
0
)
m
N
(
e
u
q
r
o
t
h
c
t
i
P
0.1
0.05
0
−0.05
−0.1
0
SNAC−NDI
NDI
8
8
8
10
SNAC−NDI
NDI
10
SNAC−NDI
NDI
12
12
10
12
2
2
2
4
4
4
6
6
6
Time (sec)
Fig. 5. Angular rates with disturbance
SNAC−NDI
NDI
)
m
N
(
e
u
q
r
o
t
l
l
o
R
5
10
Time (sec)
15
SNAC−NDI
NDI
)
m
N
(
e
u
q
r
o
t
w
a
Y
5
10
Time (sec)
15
SNAC−NDI
NDI
5
10
Time (sec)
15
0.4
0.2
0
−0.2
−0.4
0
0.1
0.05
0
−0.05
−0.1
0
SNAC−NDI
NDI
5
10
Time (sec)
15
Fig. 6. Control actions with disturbance
V. CONCLUSION
In this paper an advanced SNAC-NDI approach for simul-
taneous attitude control and trajectory tracking of a micro-
quadrotor is presented. In the proposed SNAC aided NDI
approach, the gains of the dynamic inversion design are
selected in such a way that the resulting controller behaves
closely to a pre-synthesized SNAC controller for the output
regulation problem. Effectiveness of the proposed controller
is demonstrated through six degree-of-freedom simulation
199
studies. It has also been observed that the proposed SNAC
aided NDI approach is more robust to modeling inaccuracies,
as compared to the NDI controller, primarily because optimal
control properties get embedded into the dynamic inversion
controller by appropriate adjustment of the weights.
REFERENCES
[1] S. Bouabdallah, A. Noth, and R. Siegwart, “Pid vs lqr control
techniques applied to an indoor micro quadrotor,” in Proceedings of
the 2004 IEEE/RSJ International Conference on Intelligent Robots and
Systems, 2004, pp. 2451–2456.
[2] T. Madani and A. Benallegue, “Backstepping control for a quadro-
tor helicopter,” in Proceedings of the 2006 IEEE/RSJ International
Conference on Intelligent Robots and Systems, 2006, pp. 3255–3260.
[3] S. Bouabdallah and R. Siegwart, “Backstepping and sliding-mode
techniques applied to an indoor micro quadrotor,” in Proceedings of
the 2005 IEEE International Conference on Robotics and Automation,
2005, pp. 2247–2252.
[4] S. Das, K. Subbarao, and L. Lewis, “Dynamic inversion with zero-
dynamics stabilisation for quadrotor control,” Control Theory and
Applications, vol. 3, no. 3, pp. 303–314, 2009.
[5] T. D. Zachary, A. M. Annaswamy, and E. Lavretsky, “Com-
bined/composite adaptive control of a quadrotor uav in the presence
of actuator uncertainty,” in AIAA Guidance, Navigation and Control
Conference and Exhibit, Toronto, Ontario, 2010, pp. 2010–7575.
[6] D. Lee, K. H. Jin, and S. Sastry, “Feedback linearization vs. adaptive
sliding mode control for a quadrotor helicopter,” International Journal
of Control, Automation and Systems, vol. 7, no. 3, pp. 419–428, 2009.
[7] R. Padhi, N. Unnikrishnan, X. Wang, and S. N. Balakrishnan, “A
single network adaptive critic (snac) architecture for optimal control
synthesis for a class of nonlinear systems,” Neural Networks, vol. 19,
no. 10, pp. 1648–1660, 2006.
[8] P. J. Werbos, Approximate dynamic programming for real-time control
and neural modeling, 3rd Edition. Van Nostrand Reinhold, New York,
1992.
[9] S. Ferrari and R. F. Stengel, “A adaptive critic global controller,” in
Proceedings of the American control Conference, 2002, pp. 2665–
2670.
[10] D. Enns, D. Bugajski, R. Hendrick, and G. Stein, “Dynamic inversion:
an evolving methodology for flight control design,” International
Journal of Control, vol. 59, no. 1, pp. 71–91, 1994.
[11] G. S. Laxshmikanth, R. Padhi, M. J. Watkins, and J. E. Steck,
“Single network adaptive critic aided nonlinear dynamic inversion
for suboptimal command tracking,” in Proceeding of the IEEE Multi
System Conference, Denver, 2011, pp. 1347–1352.
[12] S. Bouabdallah, P. Murrieri, and R. Siegwart, “Design and control
of an indoor micro quadrotor,” in IEEE International Conference on
Robotics and Automation, Citeseer, 2004, pp. 4393–4398.
[13] G. Hoffmann, H. Huang, S. Waslander, and C. Tomlin, “Com-
bined/composite quadrotor helicopter flight dynamic and control:
Theory and experiment,” in AIAA Guidance, Navigation and Control
Conference, Citeseer, 2007.