ArticlePDF Available

Abstract and Figures

Incremental nonlinear dynamic inversion is a sensor-based control approach that promises to provide high-performance nonlinear control without requiring a detailed model of the controlled vehicle. In the context of attitude control of micro air vehicles, incremental nonlinear dynamic inversion only uses a control effectiveness model and uses estimates of the angular accelerations to replace the rest of the model. This paper provides solutions for two major challenges of incremental nonlinear dynamic inversion control: how to deal with measurement and actuator delays, and how to deal with a changing control effectiveness. The main contributions of this article are 1) a proposed method to correctly take into account the delays occurring when deriving angular accelerations from angular rate measurements; 2) the introduction of adaptive incremental nonlinear dynamic inversion, which can estimate the control effectiveness online, eliminating the need for manual parameter estimation or tuning; and 3) the incorporation of the momentum of the propellers in the controller. This controller is suitable for vehicles that experience a different control effectiveness across their flight envelope. Furthermore, this approach requires only very coarse knowledge of model parameters in advance. Real-world experiments show the high performance, disturbance rejection, and adaptiveness properties. Read More: http://arc.aiaa.org/doi/abs/10.2514/1.G001490
Content may be subject to copyright.
Adaptive Incremental Nonlinear Dynamic Inversion
for Attitude Control of Micro Aerial Vehicles
Ewoud J.J. Smeur1and Qiping Chu2and Guido C.H.E. de Croon3
Delft University of Technology, Delft, Zuid-Holland, 2629HS, Netherlands
Incremental Nonlinear Dynamic Inversion (INDI) is a sensor-based control approach
that promises to provide high performance nonlinear control without requiring a de-
tailed model of the controlled vehicle. In the context of attitude control of Micro Air
Vehicles, INDI only uses a control effectiveness model and uses estimates of the an-
gular accelerations to replace the rest of the model. This paper provides solutions for
two major challenges of INDI control: how to deal with measurement and actuator
delays and how to deal with a changing control effectiveness. The main contributions
of this article are: (1) a proposed method to correctly take into account the delays
occurring when deriving angular accelerations from angular rate measurements, (2)
the introduction of adaptive INDI, which can estimate the control effectiveness online,
eliminating the need for manual parameter estimation or tuning and (3) the incorpo-
ration of the momentum of the propellers in the controller. This controller is suitable
for vehicles that experience a different control effectiveness across their flight envelope.
Furthermore, this approach requires only very course knowledge of model parameters
in advance. Real-world experiments show the high performance, disturbance rejection
and adaptiveness properties.
1PhD Candidate, Delft University of Technology, Control and Simulation
2Associate Professor, Control and Simulation, member.
3Assistant Professor, Control and Simulation.
1
Nomenclature
b= Width of the vehicle, m
Iv= Moment of inertia matrix of the vehicle, kg m2
Ir= Moment of inertia matrix of the rotor, kg m2
I= Identity matrix
i= Rotor index
k1= Force constant of the rotors, kg m/rad
k2= Moment constant of the rotors, kg m2/rad
l= Length of the vehicle, m
Ma= Aerodynamic moment vector acting on the vehicle, Nm
Mc= Control moment vector acting on the vehicle, Nm
Mr= Moment vector acting on the propeller, Nm
Ts= Sample time of the controller, s
u= Actuator input vector, rad/s
v= Vehicle velocity vector, m/s
µ= Adaptation rate diagonal matrix
= Vehicle angular rate vector, rad/s
˙
= Angular acceleration vector, rad/s2
ω= Angular rate vector of the four rotors around the body zaxis, rad/s
ωi= Angular rate vector of rotor iaround each of the body axes, rad/s
I. Introduction
Micro Aerial Vehicles (MAVs) have increased in popularity as low-cost lightweight processors
and inertial measurement units (IMUs) have become available through the smartphone revolution.
The inertial sensors allow stabilization of unstable platforms by feedback algorithms. Typically,
the stabilization algorithm used for MAVs is simple Proportional Integral Derivative (PID) control
[1, 2]. Problems with PID control occur when the vehicle is highly nonlinear or when the vehicle is
subject to large disturbances like wind gusts.
2
Alternatively, we could opt for a model based attitude controller. A model based controller that
can deal with nonlinear systems is nonlinear dynamic inversion (NDI), which involves modeling all
of the MAV’s forces and dynamics. Theoretically, this method can remove all nonlinearities from the
system and create a linearizing control law. However, NDI is very sensitive to model inaccuracies
[3]. Obtaining an accurate model is often expensive or impossible with the constraints of the sensors
that are carried onboard a small MAV.
The incremental form of NDI, Incremental NDI or INDI, is less model dependent and more
robust. It has been described in the literature since the late nineties [4, 5], sometimes referred to as
simplified [6] or enhanced [7] NDI. Compared to NDI, instead of modeling the angular acceleration
based on the state and inverting the actuator model to get the control input, the angular acceleration
is measured and an increment of the control input is calculated based on a desired increment in
angular acceleration. This way, any unmodeled dynamics, including wind gust disturbances, are
measured and compensated. Since INDI makes use of a sensor measurement to replace a large part
of the model, it is considered a sensor based approach.
INDI faces two major challenges. Firstly, the measurement of angular acceleration is often
noisy and requires filtering. This filtering introduces a delay in the measurement, which should be
compensated for. Secondly, the method relies on inverting and therefore modeling the controls. To
achieve a more flexible controller, the control effectiveness should be determined adaptively.
Delay in the angular acceleration measurement has been a prime topic in INDI research.
A proposed method to deal with these measurement delays is predictive filtering [8]. However, the
prediction of angular acceleration requires additional modeling. Moreover, disturbances cannot be
predicted. Initially, a setup with multiple accelerometers was proposed by Ostroff and Bacon [5] to
measure the angular acceleration. This setup has some drawbacks, because it is complex and the
accelerometers are sensitive to structural vibrations. Later, they discussed the derivation of angular
acceleration from gyroscope measurements by using a second order filter [9]. To compensate for the
delay introduced by the filter, Ostroff and Bacon use a lag filter on the applied input to the system.
We show in this paper that perfect synchronization of input and measured output can be achieved
by applying the filter used for the gyroscope differentiation on the incremented input as well.
3
Other research focused on compensating delays in the inputs by using a Lyapunov based con-
troller design [10]. In this paper, we show that delayed inputs (actuator dynamics) are naturally
handled by the INDI controller.
The control effectiveness is the sole model still required by INDI. The parameters can be
obtained by careful modeling of the actuators and the moment of inertia, or by analyzing the
input output data from flight logs. However, even if such a tedious process is followed, the control
effectiveness can change during flight. For instance, this can occur due to changes in flight conditions
[11] or actuator damage [12]. In order to cope with this, we propose a method to adaptively
determine the control effectiveness matrices.
In this paper, we present three main contributions: (1) a mathematically sound way of dealing
with the delays originating from filtering of the gyroscope measurements, (2) the introduction of
an adaptive INDI scheme, which can estimate the control effectiveness online and (3) incorporation
of propeller momentum in the controller design. These contributions are implemented and demon-
strated on a Parrot Bebop quadrotor running the Paparazzi open source autopilot software. This
is a commercially available quadrotor and the code is publicly available on Github[17].
The presented theory and results generalize to other vehicles in a straightforward manner. We
have applied this control approach successfully to a variety of quadrotors. Some of these MAVs
were able to measure the rotational rate of the rotors (actuator feedback), but some did not have
this ability. The INDI controller is believed to scale well to different types of MAVs like helicopter,
multirotor, fixedwing or hybrid.
The outline of this paper is as follows. First, a model of the MAV will be discussed in Section
II. Second, Section III will deal with INDI and the analysis for this controller for a quadrotor.
Section IV is about the adaptive extension of INDI. Finally, in Section V, the experimental setup
is explained, followed by the results of the experiments in Section VI.
II. MAV Model
The Bebop quadrotor is shown in Figure 1 along with axis definitions. The actuators drive
the four rotors, whose angular velocity in the body frame is given by ωi= [ωix, ωiy, ωiz], where i
4
denotes the rotor number. The center of gravity is located in the origin of the axis system and the
distance to each of the rotors along the Xaxis is given by land along the Yaxis by b.
l
Z
X
Y
b
M
2
M
3
M
4
M
1
Fig. 1 The Bebop Quadcopter used in the experiments with axis definitions.
If the angular velocity vector of the vehicle is denoted by = [p, q, r]Tand its derivative by ˙
,
the rotational dynamics are given by Euler’s equation of motion [13], more specifically the one that
describes rotation. If we consider the body axis system as our coordinate system we get Eq. (1) for
the angular velocity of the vehicle.
Iv˙
+×Iv=M(1)
Where Mis the moment vector acting on the vehicle. If we consider the rotating propellers, still
in the body coordinate system, we obtain:
Ir˙ωi+×Irωi=Mri(2)
Where ωiis the angular rate vector of the ith propeller in the vehicle body axes and the angular
rotation of the coordinate system, equal to the vehicle body rates. The rotors are assumed to be flat
in the z axis, such that the inertia matrix Irhas elements that are zero: Irxz =Iry z = 0 . Because
the coordinate system is fixed to the vehicle, Irxx ,Irxy and Iryy are not constant in time. However,
as is shown later on, the terms containing these moments of inertia will disappear. Expanding Eq.
5
(2) into its three components gives:
Irxx ˙ωixIry y zωiyIrxy zωix+Irzz yωiz=Mrix
Iryy ˙ωiy+Irxx zωix+Irxy zωiyIrzz xωiz=Mriy
Irzz ˙ωizIrxx yωixIrxy yωiy+Iryy xωiy+Irxy xωix=Mriz
(3)
The propellers are light-weight and have a small moment of inertia compared to the vehicle. Relevant
precession terms are therefore those that contain the relatively large ωiz. Since the rotors spin around
the zaxis, it is safe to assume that ωixωizand ωiyωizand that ˙ωixand ˙ωiyare negligible.
Then, the moments exerted on the rotors due to their rotational dynamics are given by Eq. (4).
Note the presence of the term Irzz ˙ωiz, which is the moment necessary to change the angular velocity
of a rotor. In Section VI, it will be shown that this term is important.
Mri=
Mrix
Mriy
Mriz
=
Irzz yωiz
Irzz xωiz
Irzz ˙ωiz
(4)
This equation holds for each of the four rotors, so the moment acting on a rotor is given a
subscript ito indicate the rotor number. The total moment due to the rotational effects of the
rotors is shown in Eq. (5). Since motors 1 and 3 spin in the opposite direction of rotors 2 and 4, a
factor (1)iis introduced. As we are left with only the zcomponent for the angular velocity of each
rotor, we will omit this subscript and continue with the vector ω= [ω1z, ..., ω4z]T= [ω1, ..., ω4]T.
Mr=P4
i=1 Mri=P4
i=1(1)i+1
Irzz yωi
Irzz xωi
Irzz ˙ωi
=
0 0 0 0
0 0 0 0
Irzz Irzz Irzz Irzz
˙ω1
˙ω2
˙ω3
˙ω4
+
Irzz yIrzz yIrzz yIrzz y
Irzz xIrzz xIrzz xIrzz x
0000
ω1
ω2
ω3
ω4
(5)
Now consider the Euler Equation, Eq. (1), for the entire vehicle. The moments from the rotor
dynamics are subtracted from the other moments yielding:
6
Iv˙
+×Iv=Mc(ω) + Ma(,v)Mr(ω,˙ω,)(6)
Here, Ivis the moment of inertia matrix of the vehicle, Mr(ω,˙ω,)is the gyroscopic effect of the
rotors, Mc(ω)is the control moment vector generated by the rotors and Ma(,v)is the moment
vector generated by aerodynamic effects, which depends on the angular rates and the MAV velocity
vector v. The control moment Mc(ω)is elaborated in Eq. (7), where k1is the force constant of
the rotors, k2is the moment constant of the rotors and band lare defined in Figure 1.
Mc=
bk1(ω2
1+ω2
2+ω2
3ω2
4)
lk1(ω2
1+ω2
2ω2
3ω2
4)
k2(ω2
1ω2
2+ω2
3ω2
4)
=
bk1bk1bk1bk1
lk1lk1lk1lk1
k2k2k2k2
ω2(7)
If we now take Eq. (6), insert Eqs. (4) and (7) and solve for the angular acceleration ˙
, we arrive
at the following
˙
=I1
v(Ma(,v)×Iv) + I1
v(McMr)
=F(,v) + 1
2G1ω2TsG2˙ωC()G3ω
(8)
where F(,v) = I1
v(Ma(,v)×Iv)are the forces independent of the actuators and G1,
G2,G3and C()are given by Eqs. (9), (10), (11) and (12) respectively. Note that the sample
time Tsof the quadrotor is introduced to ease future calculations.
G1= 2I1
v
bk1bk1bk1bk1
lk1lk1lk1lk1
k2k2k2k2
(9)
G2=I1
vT1
s
0 0 0 0
0 0 0 0
Irzz Irzz Irzz Irzz
(10)
G3=I1
v
Irzz Irzz Irzz Irzz
Irzz Irzz Irzz Irzz
0 0 0 0
(11)
7
C() =
y0 0
0x0
0 0 0
(12)
Note that traditionally in the literature, the system solved by INDI has the form of ˙x=f(x) +
g(x, u)where xis the state of the system and uthe input to the system. However, as becomes clear
from Eq. (8), the quadrotor is actually a system of the form ˙x=f(x) + g(x, u, ˙u). In Section III, a
solution to this type of problem will be shown.
III. Incremental Nonlinear Dynamic Inversion
Consider Eq. (8) from the previous section. This equation has some extra terms compared to
previous work [8], because the gyroscopic and angular momentum effects of the rotors are included.
We can apply a Taylor expansion to Eq. (8) and if we neglect higher order terms this results in Eq.
(13):
˙
=F(0,v0) + 1
2G1ω2
0+TsG2˙ω0C(0)G3ω0
+
(F(,v0) + C()G3ω0)|=0(0)
+
v(F(0,v))|v=v0(vv0)
+
ω(1
2G1ω2C(0)G3ω)|ω=ω0(ωω0)
+
˙ω(TsG2˙ω)|˙ω=˙ω0(˙ω˙ω0)
(13)
This equation predicts the angular acceleration after an infinitesimal timestep ahead in time based
on a change in angular rates of the vehicle and a change in rotational rate of the rotors. Now
observe that the first terms give the angular acceleration based on the current rates and inputs:
F(0,v0) + 1
2G1ω2
0+TsG2˙ω0C(0)G3ω0=˙
0. This angular acceleration can be obtained by
deriving it from the angular rates, which are measured with the gyroscope. In other words, these
terms are replaced by a sensor measurement, which is why INDI is also referred to as sensor based
control.
The second and third term, partial to and v, are assumed to be much smaller than the fourth
and fifth term, partial to ωand ˙ω. This is commonly referred to as the principle of time scale
8
separation [14]. This assumption only holds when the actuators are sufficiently fast and have more
effect compared to the change in aerodynamic and precession moments due to changes in angular
rates and body speeds. These assumptions and calculation of the partial derivatives gives Eq. (14):
˙
=˙
0+G1diag(ω0)(ωω0) + TsG2(˙ω˙ω0)C(0)G3(ωω0)(14)
Above it is stated that the angular acceleration is measured by deriving it from the angular rates.
In most cases, the gyroscope measurements from a MAV are noisy due to vibrations of the vehicle
due to the propellers and motors. Since differentiation of a noisy signal amplifies the noise, some
filtering is required. The use of a second order filter is adopted from the literature [9], of which a
transfer function in the Laplace domain is given by Eq. (15). Satisfactory results were obtained with
ωn= 50 rad/s and ζ= 0.55. Other low pass filters are also possible, for instance the Butterworth
filter.
H(s) = ω2
n
s2+ 2ζωns+ω2
n
(15)
The result is that instead of the current angular acceleration, a filtered and therefore delayed angular
acceleration ˙
fis measured. Since all the terms with the zero subscript in the Taylor expansion
should be at the same point in time, they are all replaced with the subscript f, yielding Eq. (16).
This indicates that these signals are also filtered and are therefore synchronous with the angular
acceleration.
˙
=˙
f+G1diag(ωf)(ωωf) + TsG2(˙ω˙ωf)C(f)G3(ωωf)(16)
This equation is not yet ready to be inverted, because it contains the derivative of the angular rate
of the propellers. Since we are dealing with discrete signals, consider the discrete approximation of
the derivative in the zdomain: ˙ω= (ωωz1)T1
s, where Tsis the sample time. This is shown in
Eq. (17):
˙
=˙
f+G1diag(ωf)(ωωf) + G2(ωωz1ωf+ωfz1)C(f)G3(ωωf)(17)
Collecting all terms with (ωωf)yields Eq. (18):
˙
=˙
f+ (G1diag(ωf) + G2C(f)G3)(ωωf)G2z1(ωωf)(18)
9
Inversion of this equation for ωyields Eq. (19), where +denotes the Moore-Penrose pseudoinverse:
ωc=ωf+ (G1diag(ωf) + G2C(f)G3)+(ν˙
f+G2z1(ωcωf)) (19)
Note that the predicted angular acceleration ˙
is now instead a virtual control, denoted by ν. The
virtual control is the desired angular acceleration, and with Eq. (19), the required inputs ωccan be
calculated. The subscript cis added to ωto indicate that this is the command sent to the motors.
This input is given with respect to a previous input ωf. If we define the increment in the motor
commands as e
ω=ωcωf, it is clearly an incremental control law.
A. Parameter Estimation
Equation (19) shows the general quadrotor INDI control law. The parameters of this equation
are the three matrices G1,G2and G3which need to be identified for the specific quadrotor. This
can be done through measurement of each of the components that make up these matrices, including
the moments of inertia of the vehicle and the propellers as well as the thrust and drag coefficients
of the rotors. Identifying the parameters in this way requires a significant amount of effort.
A more effective method is to use test flight data to determine the model coefficients. Of course,
to do this the MAV needs to be flying. This can be achieved by initially tuning the parameters.
Alternatively, a different controller can be used at first to gather the test flight data, such as PID
control. Once a test flight has been logged, Eq. (18) is used for parameter estimation and is written
as Eq. (20). From this equation, a least squares solution is found for the matrices G1,G2and G3.
˙
f=G1G2C(f)G3
diag(ωf)∆ωf
(∆ωfz1ωf)
ωf
(20)
Here, denotes the finite difference between two subsequent samples. From the data, we can also
investigate the importance of some of the terms by comparing the least squares error with and
without the terms. It turns out that on a typical dataset, leaving out the matrix G3only results
in an estimation squared error increase of 0.2%. Furthermore, modeling the rotor as linear with
the rotational speed of the rotor instead of quadratic gives an estimation squared error increase of
10
0.9%. Therefore, we can simplify the INDI control law of Eq. (19) to Eq. (21):
ωc=ωf+ (G1+G2)+(ν˙
f+G2z1(ωcωf)) (21)
B. Implementation
With the simplifications described in subsection III A, the final INDI control scheme is shown
in Figure 2. The input to the system is the virtual control νand the output is the angular acceler-
ation of the system ˙
. The angular velocity measurement from the gyroscope is fed back through
the differentiating second order filter and subtracted from the virtual control to give the angular
acceleration error ˙
err.
Since the matrices G1and G2are not square, we take the pseudo inverse to solve the problem of
control allocation, denoted by +. The contents of the block ’MAV’ are shown in Figure 3, because
it allows the closed loop analysis in Section I II C. In this diagram, dis a disturbance term that
bundles disturbances and unmodeled dynamics.
+
+(G1+G2)++
H(z)
A(z)
1
z
MAV
Tsz
z1
1
z
G21
z
H(z)
z1
Tsz
ν˙
err
e
ωωc
ωfω
d
0
f
˙
f
˙
System
Fig. 2 INDI control scheme. A(z)denotes the actuator dynamics and H(z)is the second order
filter.
1z1G1+
z1
zG2
1
1z1+
ωω
d
˙
˙
Fig. 3 The contents of the block named ’MAV’ in Figure 2.
Note that Eq. (21) provides a desired angular velocity of the rotors. However, the actuators
11
do not have an instantaneous response. Instead, it is assumed they have first order dynamics A(z).
The reference sent to the motors is denoted by ωcand e
ω=ωcωf. In Figure 2, it is assumed
that actuator feedback is available. However, if this is not the case, the actuator state ω0has to be
estimated with a model of the actuator dynamics as is shown in Figure 4. Here A(z)is a model of
the actuator dynamics.
+
H(z)
A(z)
1
zA(z)
e
ωωc
ω
ωf
ω
ω0
Fig. 4 Block diagram for estimation of actuator state if actuator feedback is not available.
C. Closed Loop Analysis
Consider the control diagram shown in Figure 2. We can verify that this is a stable controller by
doing a closed loop analysis. First, the transfer function of each of the two small loops is calculated,
shown by Eq. (22) and (23). Here TFxydenotes the transfer function from point x to y in the
control diagram.
e
ω= (G1+G2)+˙
err + (G1+G2)+G2z1e
ω
(G1+G2)e
ω=˙
err +G2z1e
ω
(G1+G2G2z1)e
ω=˙
err
TF ˙
erre
ω(z) = (G1+G2G2z1)+
(22)
We define H(z) = IH(z)and assume that all actuators have the same dynamics, so A(z) = IA(z).
This means that each matrix in TFe
ωω(z)is a diagonal matrix and therefore TFe
ωω(z)is a
diagonal matrix function.
TFe
ωω(z) = (IA(z)H(z)z1)1A(z)
= (IIA(z)IH(z)z1)1IA(z)
= (I(1 A(z)H(z)z1))1IA(z)
=I(1 A(z)H(z)z1)1A(z)
(23)
12
Then, the last part of the open loop is from ωto ˙
, as shown by Figure 3. Using this figure, the
transfer function is calculated in Eq. (24). Note that for this analysis, disturbances are not taken
into account.
TFω˙
(z) = G1+z1
zG2=G1+G2G2z1(24)
Using these intermediate results, the open loop transfer function of the entire system is shown in
Eq. (25):
TF ˙
err˙
(z) = TFω˙
(z)TFe
ωω(z)TF ˙
erre
ω(z)
= (G1+G2G2z1)I(1 A(z)H(z)z1)1A(z)(G1+G2G2z1)+
=I(1 A(z)H(z)z1)1A(z)
(25)
Using Eq. (25) and Figure 2, we can calculate the closed loop transfer function of the entire system
in Eq. (26):
TFν˙
(z) = (I+TF ˙
err˙
(z)IH(z)z1)1TF ˙
err˙
(z)
= (I+I(1 A(z)H(z)z1)1A(z)IH(z)z1)1I(1 A(z)H(z)z1)1A(z)
=I(1A(z)H(z)z1)1A(z)
1+(1A(z)H(z)z1)1A(z)H(z)z1
=IA(z)
1A(z)H(z)z1+A(z)H(z)z1
=IA(z)
(26)
From this equation, it appears that the closed loop transfer function from the virtual input to the
angular acceleration is in fact the actuator dynamics A(z). In most cases, the actuator dynamics can
be represented by first or second order dynamics. Note that this shows the importance of applying
the H(z)filter on the input as well. By doing this, a lot of terms cancel and all that remains is the
actuator dynamics.
Now, consider the transfer function from disturbances d(see Figure 2) to the angular accelera-
tion. The derivation is given in Eq. (27) in which use is made of Eq. (25).
TFd˙
(z) = (ITF ˙
err˙
(z)(1)H(z)z1)1I
= (I+I(1 A(z)H(z)z1)1A(z)IH(z)z1)1I
=I1
1+(1A(z)H(z)z1)1A(z)H(z)z1
=I1A(z)H(z)z1
1A(z)H(z)z1+A(z)H(z)z1
=I(1 A(z)H(z)z1)
(27)
13
With Eq. (27) we show that disturbances in the angular acceleration are rejected as long as the
actuator dynamics and the designed filter are stable. The term A(z)H(z)z1will go to 1 over time,
with a response determined by the actuator dynamics, filter dynamics and a unit delay. This means
that the faster the angular acceleration is measured, the faster the drone can respond and the faster
the actuators can react, the faster the disturbance is neutralized.
D. Attitude Control
The angular acceleration of the MAV is accurately controlled by the system shown in Figure 2.
To control the attitude of the MAV, a stabilizing angular acceleration reference needs to be passed
to the INDI controller. This outer loop controller can be as simple as a Proportional Derivative
(PD) controller (a gain on the rate error and a gain on the angle error), as shown in Figure 5. Here,
ηrepresents the attitude of the quadcopter. The benefit of the INDI inner loop controller is that
the outer PD controller commands a reference, independent of the effectiveness of the actuators
(including the inertia of the quadrotor).
This means that the design of this controller depends only on the speed of the actuator dynamics
A(z). In case the actuator dynamics are known (through analysis of logged test flights for instance),
a value of Kηand Kcan be determined that give a stable response.
This outer loop controller does not involve inversion of the attitude kinematics as has been done
in other work [3]. However, the attitude angles for a quadrotor are generally small, in which case
the inversion of the attitude kinematics can be replaced with simple angle feedback.
+
Kη+
KA(z)Tsz
z1
Tsz
z1
ηref ref ˙
η
INDI
Fig. 5 The design of the attitude controller based on the closed loop response of the INDI
controller.
14
E. Altitude Control
The INDI controller derived in the beginning of this section controls the angular acceleration
around the axes x,yand z, which corresponds to roll, pitch and yaw. However, there is a fourth
degree of freedom that is controlled with the rotors, which is the acceleration along the z-axis.
Control of this fourth axis is handled by a separate controller. This controller scales the average
input to the motors to a value commanded by the pilot, after the input has been incremented by
the INDI controller.
IV. Adaptive INDI
The INDI approach only relies on modeling of the actuators. The control effectiveness depends
on the moment of inertia of the vehicle, the type of motors and propellers. A change in any of these
will require re-estimation of the control effectiveness. Moreover, the control effectiveness can even
change during flight, due to a change in flight velocity, battery voltage or actuator failure.
To counteract these problems and obtain a controller that requires no manual parameter es-
timation, the controller was extended with onboard adaptive parameter estimation using a Least
Mean Squares (LMS) [15] adaptive filter. This filter is often used in adaptive signal filtering and
adaptive neural networks.
The LMS implementation is shown in Eq. (28), where µ1is a diagonal matrix whose elements
are the adaptation constant for each input and µ2is a diagonal matrix to adjust the adaptation
constants per axis. This is necessary as not all axes have the same signal to noise ratio.
The LMS formula calculates the difference between the expected acceleration based on the
inputs and the measured acceleration. Then it increments the control effectiveness based on the
error. The control effectiveness includes both G1as well as G2, as is shown in Eq. (29). Clearly,
when there is no change in input, the control effectiveness is not changed. The reverse is also
true: more excitation of the system will result in a faster adaptation. This is a benefit of the LMS
algorithm over, for instance, recursive least squares with a finite horizon because recursive least
15
squares will ’forget’ everything outside the horizon.
G(k) = G(k1) µ2
G(k1)
ωf
˙
ωf
˙
f
ωf
˙
ωf
T
µ1(28)
G=G1G2(29)
Note that the filtering can be different for the online parameter estimation than for the actual
control. Equation (28) makes use of ˙
f, which is the finite difference of ˙
fin the control Eq.
(21). Since differentiating amplifies high frequencies, a filter that provides more attenuation of these
high frequencies is necessary. We still use the second order filter described by Eq. (15), but with
ωn= 25 rad/s and ζ= 0.55.
When an approximate control effectiveness is given before takeoff, the adaptive system will
estimate the actual values online, and thereby tune itself. The only knowledge provided to the
controller is an initial guess of the control effectiveness. It is generally not possible to take off
without any estimate of the control effectiveness, because the UAV might crash before the adaptive
system has converged.
The choice of the adaptation constants µ1and µ2determines the stability and the rate of
adaptation. By making these constants larger, a faster convergence is achieved. By making them
too large, the adaptation will no longer be stable. The theoretical limit has been discussed in the
literature [15] and it depends on the autocorrelation matrix of the input to the filter. In practice,
the filter stability deteriorates before the theoretical limit, so in order to find a good adaptation
constant some tuning is required.
V. Experimental Setup
To validate the performance of the INDI controller developed in Section III and the adaptive
parameter estimation from Section IV, several experiments were conducted. These experiments were
performed using the Bebop quadcopter from Parrot shown in Figure 1. The Bebop weighs 396.2
grams and can be equipped with bumpers, which are 12 grams per bumper. For these experiments,
the bumpers where not equipped unless explicitly stated. The quadcopter was running the Paparazzi
16
open source autopilot software, which contains all the code for wireless communication, reading
sensor measurements etc. The accelerometer, gyroscope and control loops were running at 512 Hz.
Four experiments test the key properties of the controller:
• Performance
• Disturbance rejection
• Adaptation
During these experiments, the reference attitude and average thrust level were controlled by
a pilot and sent to the drone over WiFi. All other computations were done on the drone itself,
including the online adaptation.
A. Performance
In order to put the responsiveness of the system to the test and make sure that the angular
acceleration reference is tracked by the INDI controller, a doublet input was applied on the attitude
roll angle. The amplitude of the doublet is 30 degrees and the period is half a second (0.25 seconds
positive and 0.25 seconds negative). This test is only done for the roll and not for the pitch,
because there is no fundamental difference between these axes. The yaw axis is covered separately
in experiment V D. Note that this experiment is performed without the adaptation.
The performance is compared to a manually tuned PID controller. The INDI controller is not
expected to be faster or slower than a traditional PID controller, because the result of Eq. (26)
shows that the response of the INDI inner loop is simply the actuator dynamics. Considering that
the outer loop is a PD controller, the rise time and overshoot should be similar.
Finally, this test will also be performed with an INDI controller that does not contain the filter
delay compensation, so by using ω0in the controller increment instead of ωf. It is expected that
this will not fly well, because in Section III C we showed that with this compensation all terms
cancel and the closed loop transfer function reduces to IA(z).
By inspection of Figure 2, we can get a feel for what will happen if we omit this filter compen-
sation. When there is an angular acceleration error, a control increment e
ωwill be the result, which
17
is added to ω0to produce ωc.ωcgoes through the actuator dynamics to produce the new ω. The
next time step, the result of this new ωdoes not yet appear in ˙
f, because it is filtered and therefore
delayed. Therefore, e
ωwill be the same. However, ω0did update, so ωcwill be incremented even
more, while we are still waiting to see the result of the first increment in ˙
f.
B. Disturbance Rejection
The disturbance rejection property is validated by adding a disturbance to the system. One
possibility would be to apply aerodynamic disturbances by flying in the wake of a big fan. The
disturbances occuring would be realistic, but not very repeatable. Moreover, the magnitude of the
disturbance would be unknown.
Instead, it is possible to apply a disturbance in the form of a step function to the system. This
is done by adding a weight of 42.5 grams to a container located in an off-centered position on the
quadrotor while it is flying, as shown in Figure 6. The container is located on the front of the drone
and has a distance of about 11 cm to the center of gravity, so any weight added will shift the center
of gravity forward. This will cause a misalignment of the thrust vector with respect to the center of
gravity and therefore a pitch moment. This moment will be persistent and therefore have the form
of a step disturbance. This is indicated with din Figure 2. Although this moment is created with a
center of gravity shift, the situation is the same as in the case of a persistent gust or an unmodeled
aerodynamic moment.
Fig. 6 The container attached to the nose of the quadrotor with one weight inside.
A normal PID controller would respond to such a disturbance very slowly, because it takes time
for the integrator to accumulate. But the introduction of the INDI inner loop leads to a cascaded
control structure, which is much more resistant to disturbances than a single loop design [16].
18
Fig. 7 The Bebop quadrotor with bumpers.
Because of this, the reference pitch angle is expected to be tracked shortly after the disturbance.
C. Adaptation
The Bebop quadcopter has the possibility to fly with bumpers, as is shown in Figure 7. Though
these bumpers only weigh 12 grams a piece, they are located far from the center of gravity and
therefore increase the moment of inertia. Furthermore, they can influence the airflow around the
propellers. These system changes affect the G1and G2matrices. Therefore, the adaptive algorithm
from Section IV should deal with adding or removing the bumpers.
First, two flights are performed to show the effect of adding or removing the bumpers when
the adaptive algorithm is not active. For the first flight, the bumpers are added, while the G1and
G2matrices correspond to the quadrotor without bumpers. For the second flight, the bumpers are
removed and the Gmatrices from the quadrotor with bumpers are used. In both flights, doublets
are performed like in Section V A. The performance is expected to degrade compared to the previous
results for both cases, as the Gmatrices do not correspond to what they should be.
Second, the ability of the quadrotor to adapt its G1and G2matrices is tested. In this ex-
periment, the drone starts with bumpers equipped, but with system matrices that represent the
configuration without bumpers. The pilot flies the drone in a confined area while performing some
pitch, roll and yaw maneuvers to excite the system. While flying, the correct matrices should be
estimated. Then, the Bebop is landed and the bumpers are removed. After take off, the matrices
should converge to their original state.
Finally, doublets are performed with and without the bumpers equipped, while the adaptation
algorithm is active. We expect the same performance as in Section V A.
19
D. Yaw Control
The purpose of this experiment is to show the improvement in yaw performance due to the
incorporation of the rotor spin-up torque in the controller design. This is done by applying a
doublet input on the yaw setpoint. The amplitude of the doublet is 5 degrees and the period is one
second (0.5 seconds positive and 0.5 seconds negative). As a comparison, the same experiment is
performed with a traditional PID controller. This PID controller is manually tuned to give a fast
rise time with minimal overshoot.
Additionally, the same test is performed with a zero G2matrix. Here we expect an oscillation,
because the persistent effect of a change in rotor angular velocity on the yaw axis is small. We take
the pseudoinverse in Eq. 21, so the resulting gain will be very large. Because there is the angular
momentum effect of the propellers, the initial angular acceleration will be larger than expected, and
the controller will start to oscillate.
VI. Results
This section deals with the results of the experiments described in Section V. The angular
acceleration shown in the plots in this section is not the onboard estimate of the angular acceleration,
because it is delayed through filtering. Instead, it is computed after the experiment from the finite
difference of the gyroscope data. The signal is filtered with a fourth order Butterworth filter with
a cutoff frequency of 15 Hz. It is filtered twice, forward and reverse, resulting in a zero phase
(non-causal) filter. For the actual control, the onboard filtered (and delayed) angular acceleration
was used.
A. Performance
Figure 8 shows the angular acceleration around the xaxis denoted by ˙pand the reference angular
acceleration denoted by ˙pref . Additionally, the reference is filtered with the actuator dynamics,
resulting in ˙pref A. This signal is the angular acceleration that is expected based on the calculations
in Section III C, specifically Eq. (26). It might seem that the controller does not track the reference
well because it lags behind the reference, but this was expected based on the model of the actuator
dynamics. The angular acceleration is actually very close to the expected angular acceleration ˙pref A.
20
Finally, we also show the angular acceleration as calculated on board the quadrotor using the second
order filter. The filtered angular acceleration on board the quadrotor is significantly delayed with
respect to the actual angular acceleration, which is why we will run into problems if we don’t take
this delay into account in the INDI controller.
Time [s]
˙
[ deg.s2]
˙pref
˙p
˙prefA
˙ponboard
8.2 8.4 8.6 8.8 9 9.2
-500
-400
-300
-200
-100
0
100
200
300
Fig. 8 Angular acceleration in the roll axis during doublet input.
The outer loop controller, which generates the angular acceleration reference to track, was
designed such that the resultant accelerations give a desired response of the roll angle, shown in
Figure 9. From this figure, it can be seen that the quadcopter reaches its reference roll angle within
0.2 seconds with a very small overshoot.
Time [s]
Roll angle [deg]
φref
φ
8.2 8.4 8.6 8.8 9 9.2
-40
-30
-20
-10
0
10
20
30
40
Fig. 9 The roll angle during the doublet for the INDI controller.
The roll angle response of the PID controller is shown in Figure 10. As expected, the PID
controller performs very similar to the INDI controller in terms of rise time and overshoot. The
21
integral gain included in the PID controller, which needs to eliminate steady state offsets, degrades
the dynamic performance of the closed loop system. This shows that the INDI controller marginally
improves the performance of a traditional PID controller in terms of responsiveness for the roll.
Time [s]
Roll angle [deg]
φref
φ
10.4 10.6 10.8 11 11.2 11.4
-40
-30
-20
-10
0
10
20
30
40
Fig. 10 The roll angle during the doublet for the PID controller.
As discussed above, the onboard filtered measurement of the angular acceleration is significantly
delayed. If we remove the filter delay compensation from the INDI controller, the quadrotor was
severely oscillating, as can be seen in Figure 11. The doublet was not performed as this did not
seem safe. The oscillation might be reduced by lowering Kηand K, but this will make the response
slower as well. From this figure, we can conclude that the filter delay compensation is an important
part of the INDI controller and is crucial in obtaining good performance with an INDI controller.
Time [s]
Roll angle [deg]
φref
φ
13 13.5 14 14.5 15 15.5 16
-20
-15
-10
-5
0
5
10
15
20
Fig. 11 The roll angle for the INDI controller without filter compensation.
22
B. Disturbance Rejection
The weight, shown in Figure 6, was placed in the container attached to the nose of the quadrotor
by hand. The weight was placed in the container gently, but it probably arrived in the container
with some small velocity. The disturbance in the angular acceleration is therefore a combination of
a step and a delta pulse.
Figure 12 shows the angular acceleration that is the result of the disturbance. From the figure,
it is clear that the disturbance happened just after 13 seconds. As the angular acceleration increases
in the negative direction, the reference angular acceleration starts to go the opposite way, because
now an angular rate and a pitch angle error start to arise. About 0.1 seconds after losing track
of the reference, the angular acceleration again coincides with the expected angular acceleration,
having overcome the disturbance in the angular acceleration.
Time [s]
˙
[ deg.s2]
˙qref
˙q
˙qrefA
12.6 12.8 13 13.2 13.4 13.6 13.8
-60
-40
-20
0
20
40
60
80
100
Fig. 12 The angular acceleration during the disturbance.
This results in a pitch angle with no steady state error as can be seen from Figure 13. After
0.3 seconds, the pitch angle is back at zero. To show that the weight in the container really is
a step disturbance, which can be compared to a constant aerodynamic moment, consider Figure
14. It shows the difference of the rotational rate of the front and rear motors divided by four:
(ω1+ω2ω3ω4)/4. This indicates the average magnitude in Rounds Per Minute (RPM) that
each motor contributes to the pitch control (see Eq. (7)). Clearly, there is a difference before and
after the disturbance which can be quantified as an average change of 578 RPM over the interval
[12.6 13.0] versus [13.4 13.8]. This demonstrates that the disturbance was really a step and that the
23
Time [s]
Pitch angle [deg]
θref
θ
12.6 12.8 13 13.2 13.4 13.6 13.8
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
Fig. 13 The pitch angle during the disturbance.
INDI controller can rapidly cope with such a disturbance.
Time [s]
(ω1+ω2ω3ω4)/4[RPM]
12.6 12.8 13 13.2 13.4 13.6 13.8
-500
0
500
1000
1500
2000
Fig. 14 The difference between the rotational rate of the front motors and the rear motors.
Figure 15 shows the same experiment performed with a PID controller. Of course, the weight
was not dropped in exactly the same manner and with the same velocity, so the initial disturbance
was probably different. However, the persisting disturbance is the same, because the weight has
exactly the same mass. It takes about 1.5 seconds before the pitch angle is back at zero again,
which is approximately 5 times longer than for the INDI controller. One might say that the integral
gain of the PID controller should be larger, but this will deteriorate the performance in the previous
experiment.
24
Time [s]
Pitch angle [deg]
θref
θ
15 15.5 16 16.5 17 17.5
-6
-5
-4
-3
-2
-1
0
1
Fig. 15 The pitch angle during the disturbance for the PID controller.
C. Adaptation
Figures 16 and 17 show the response to a roll doublet without adaptation if there is a mismatch
in the control effectiveness. Even though the bumpers are lightweight, their effect is significant
because they are located far from the center of gravity. In Figure 16, we see what happens if the
actuators are less effective than in the model, because the inertia is higher. Additional increments
of the input are needed to reach a desired angular acceleration. The oscillation occurs because this
takes more time. The oscillation can be reduced by reducing the Kηand Kωgains, at the cost of
having a slower response.
Time [s]
Roll angle [deg]
φref
φ
27.4 27.6 27.8 28 28.2 28.4 28.6
-60
-40
-20
0
20
40
Fig. 16 Flight without adaptation, with bumpers equipped, while the control effectiveness has
been determined without bumpers
In Figure 17, we see the opposite: the control effectiveness is higher than what was modeled.
This results in a fast oscillation, which cannot be removed by reducing the attitude gains. This is
25
because the cause of the oscillation is different: now too much input is applied to reach a certain
angular acceleration. This will happen regardless of what angular acceleration is requested by the
attitude controller.
Time [s]
Roll angle [deg]
φref
φ
18.4 18.6 18.8 19 19.2 19.4 19.6
-40
-30
-20
-10
0
10
20
30
40
Fig. 17 Flight without adaptation, without bumpers equipped, while the control effectiveness
has been determined with bumpers
We can conclude that the performance degrades when the modeled control effectiveness does not
closely correspond to the actual control effectiveness. When the adaptation algorithm is enabled,
Figures 18 through 20 show how each row of the G1matrix evolves over time as a result of the
second experiment described in section V C. The same is shown in Figure 21 for the third row of
the G2matrix. Each line represents one of the elements of that row, indicating the effectiveness of
that motor on the specified axis.
Note that the drone is flying in the interval of [8 54] seconds and again in [66 125] seconds; in
between these times, the drone is landed and the bumpers are removed. This is indicated by vertical
lines in the figures. A large change in effectiveness due to the addition and removal of the bumpers
can be seen in the third row of the G1matrix, shown in Figure 20, which corresponds to the yaw.
Also in Figure 18 a change in effectiveness can be seen between the flights with and without
bumpers. Once converged, the effectiveness values are stable with little noise. Upon take-off and
landing the effectiveness seems to diverge for a short period of time. This is not a failure of the
adaptation algorithm, but merely the result of the interaction with the floor.
The controller is engaged once the pilot gives a thrust command that exceeds idle thrust. At
26
Time [s]
G1
M1
M2
M3
M4
0 50 100 150
-30
-20
-10
0
10
20
30
Fig. 18 The first row of the G1matrix corresponding to the roll.
Time [s]
G1
M1
M2
M3
M4
0 50 100 150
-20
-15
-10
-5
0
5
10
15
20
Fig. 19 The second row of the G1matrix corresponding to the pitch.
that point, the quadrotor does not produce enough lift to take off, so it is still standing on the
floor. When the INDI controller tries to attain certain angular accelerations, the quadrotor does
not rotate and the adaptation algorithm will adapt to this. When landing, these interactions with
the floor can also occur.
Notice the large difference in effectiveness between the actuators in the second part of the flight
in Figure 20. This illustrates the added value of adaptive INDI, as often the actuators are assumed to
perform equal to each other, while in this case they do not. These differences between the actuators
are also observed with the estimation metho d describ ed in subsection III A for multiple flights. The
differences may be caused by small imperfections that are not clearly visible on some of the rotors.
Finally, we can observe how the online parameter estimation affects the response to a roll doublet
in Figures 22 and 23. Regardless of whether the bumpers are equipped or not or with what control
27
Time [s]
G1
M1
M2
M3
M4
0 50 100 150
-1.5
-1
-0.5
0
0.5
1
1.5
2
Fig. 20 The third row of the G1matrix corresponding to the yaw.
Time [s]
G2
M1
M2
M3
M4
0 50 100 150
-100
-50
0
50
100
Fig. 21 The third row of the G2matrix corresponding to the yaw.
effectiveness model the quadrotor starts flying, the same performance is achieved as in Section V A.
This shows the robustness of the adaptive algorithm against control effectiveness changes.
D. Yaw control
Finally, consider Figure 24. It shows for each timestep the change in angular acceleration in
the yaw axis, ∆ ˙r, during the large control inputs discussed above. A careful reader up until this
point may wonder: ’Is the rotor spin-up torque really significant? Can we not omit the G2matrix?’.
The figure shows the predicted change in angular acceleration based on the change in motor speeds
according to Eq. (21), which is a close match. In green, the figure shows the predicted change in
angular acceleration if we neglect G2, denoted by ∆ ˙rsimple . Clearly, the motor spin-up torque is
very significant.
28
Time [s]
Roll angle [deg]
φref
φ
24.2 24.4 24.6 24.8 25 25.2 25.4
-40
-30
-20
-10
0
10
20
30
40
Fig. 22 Flight with adaptation, with bumpers equipped, while the control effectiveness has
been determined without bumpers
Time [s]
Roll angle [deg]
φref
φ
24.2 24.4 24.6 24.8 25 25.2 25.4
-40
-30
-20
-10
0
10
20
30
40
Fig. 23 Flight with adaptation, without bumpers equipped, while the control effectiveness has
been determined with bumpers
Time [s]
˙
[ deg.s2]
∆ ˙r
∆ ˙rest
∆ ˙rsimple
24 24.5 25 25.5 26
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Fig. 24 The change in angular acceleration in the yaw axis along with the predicted change.
29
Moreover, if we try to fly with a zero G2matrix, the resulting oscillation is so strong that a
takeoff is not possible. In order to fly without this matrix, we cannot use the estimated values for
the control effectiveness in the yaw axis. Instead, we can take a higher effectiveness for the model
parameters than in reality in order to avoid overshooting the reference angular acceleration due to
the rotor spin-up torque that is now not taken into account. Figure 25 shows that it is possible to
fly with a zero G2matrix, at the cost of a severe performance penalty.
Time [s]
Yaw angle [deg]
ψref
ψ
23.5 24 24.5 25 25.5
115
120
125
130
Fig. 25 The yaw angle during the doublet for the INDI controller without G2matrix.
If we do take the rotor angular momentum into account, Figure 26 shows the resultant doublet
response of the yaw angle. Compare this with Figure 27, which shows the doublet response for the
PID controller. The INDI controller clearly has a faster rise time and less overshoot.
Time [s]
Yaw angle [deg]
ψref
ψ
24 24.5 25 25.5 26
86
88
90
92
94
96
98
Fig. 26 The yaw angle during the doublet for the INDI controller.
30
Time [s]
Yaw angle [deg]
ψref
ψ
12.5 13 13.5 14 14.5 15
118
120
122
124
126
128
130
132
Fig. 27 The yaw angle during the doublet for the PID controller.
VII. Conclusion
Adaptive Incremental Nonlinear Dynamic Inversion is a very promising technique for control
of Micro Aerial Vehicles (MAV). Due to incorporation of the spin-up torque, fast yaw control is
possible, which is typically very slow on a quadrotor. The disturbance rejection capabilities are
vital when flying in windy conditions or with MAVs that have complex aerodynamics. Because
unmodeled aerodynamic moments are measured with the angular acceleration, no complex aerody-
namic modeling is needed. Even the control effectiveness matrices are shown to be adapted online,
resulting in a controller that can handle changes in the MAV configuration and needs little effort to
set up on a new platform. Only when a high performance outer loop is required is some knowledge
of the actuator dynamics needed. These properties result in a very flexible and powerful controller.
Acknowledgments
This work was financed by the Delphi Consortium. The authors would like to thank Bart Remes
and the MAVLab for their support.
[1] Mahony, R., Kumar, V., and Corke, P., “Multirotor Aerial Vehicles: Modeling, Estimation and Control
of Quadrotor,” IEEE Robotics &Automation Magazine, Vol. 19, 2012, pp. 20–32,
doi:10.1109/MRA.2012.2206474.
[2] Fresk, E. and Nikolakopoulos, G., “Full Quaternion Based Attitude Control for a Quadrotor,” in “Eu-
ropean Control Conference,” IEEE, 2013, pp. 3864–3869.
[3] da Costa, R., Chu, Q., and Mulder, J., “ Reentry Flight Controller Design Using Nonlinear Dynamic
31
Inversion,” Journal of Spacecraft and Rockets, Vol. 40, No. 1, 2003, pp. 64–71,
doi:10.2514/2.3916.
[4] Smith, P. R., “A Simplified Approach To Nonlinear Dynamic Inversion Based Flight Control,” in “At-
mospheric Flight Mechanics Conference and Exhibit,” AIAA Paper 1998-4461, pp. 762–770,
doi:10.2514/6.1998-4461.
[5] Bacon, B. J. and Ostroff, A. J., Reconfigurable Flight Control Using Nonlinear Dynamic Special
Accelerometer Implementation,” AIAA Paper 2000-4565,
doi:10.2514/6.2000-4565.
[6] Cox, T. H. and Cotting, M. C., “ A Generic Inner-Loop Control Law Structure for Six-Degree-of-Freedom
Conceptual Aircraft Design,” AIAA Paper 2005-31,
doi:10.2514/6.2005-31.
[7] Ostroff, A. J. and Bacon, B. J., Enhanced NDI Strategies For Reconfigurable Flight Control,” in
“Proceedings of the American Control Conference,” , 2002, pp. 3631–3636,
doi:10.1109/ACC.2002.1024492.
[8] Sieberling, S., Chu, Q. P., and Mulder, J. A., “ Robust Flight Control Using Incremental Nonlinear
Dynamic Inversion and Angular Acceleration Prediction,” Journal of Guidance Control and Dynamics,
Vol. 33, No. 6, 2010, pp. 1732–1742,
doi:10.2514/1.49978.
[9] Bacon, B. J., Ostroff, A. J., and Joshi, S. M., Reconfigurable NDI Controller Using Inertial Sensor
Failure Detection & Isolation,” IEEE Transactions On Aerospace And Electronic Systems, Vol. 37,
No. 4, 2001, pp. 1373–1383,
doi:10.1109/7.976972.
[10] Koschorke, J., Falkena, W., van Kampen, E.-J., and Chu, Q. P., “ Time Delayed Incremental Nonlinear
Control,” AIAA Paper 2013-4929,
doi:10.2514/6.2013-4929.
[11] B. Theys, G. D., Andrianne, T., Hendrick, P., and Schutter, J. D., “Wind Tunnel Testing of a VTOL
MAV Propeller in Tilted Operating Mode,” in “International Conference on Unmanned Aircraft Sys-
tems,” IEEE, 2014, pp. 1064–1072,
doi:10.1109/ICUAS.2014.6842358.
[12] Chowdhary, G., Johnson, E. N., Chandramohan, R., Kimbrell, M. S., and Calise, A., “Guidance and
Control of Airplanes Under Actuator Failures and Severe Structural Damage,” Journal of Guidance
Control and Dynamics, Vol. 36, No. 4, 2013, pp. 1093–1104,
32
doi:10.2514/1.58028.
[13] Bedford, A. and Fowler, W., Engineering Mechanics Dynamics, Prentice Hall, Pearson Education South
Asia Pte Ltd, ISBN 981-06-7940-8, pp. 507–515, 2008.
[14] Simplicio, P., Pavel, M., van Kampen, E., and Chu, Q., “An acceleration measurements-based approach
for helicopter nonlinear flight control using Incremental Nonlinear Dynamic Inversion,” Control Engi-
neering Practice, Vol. 21, No. 8, 2013, pp. 1065–1077,
doi:10.1016/j.conengprac.2013.03.009.
[15] Haykin, S. and Widrow, B., Least-Mean-Square Adaptive Filters, Wiley, ISBN: 978-0-471-21570-7, pp.
1–12, 2003.
[16] Love, J., Process Automation Handbook, Springer-Verlag London, pp. 173–178, 2007,
doi:10.1007/978-1-84628-282-9.
[17] Reader can download the code at https://github.com/EwoudSmeur/paparazzi in the branch
bebop_indi_experiment
33
... and sensor-based features [1]. By exploiting sensor measurements, nonlinear incremental control can passively tolerant various uncertainties, actuator faults, external disturbances, and even structural damage without requiring an accurate model of the controlled vehicle [5], [6]. This property is promising for aerospace systems that are subjected to nonlinearities, uncertainties, and various sources of disturbances. ...
... Therefore, it is important to energize nonlinear incremental control with active online perturbation compensation ability. In the literature, there are mainly three effective approaches for achieving this goal: adaptive augmentation [6], [11], observer augmentation [7], [12], and sliding-mode compensation [5]. ...
... Incremental nonlinear dynamic inversion (INDI) is the most notable nonlinear incremental control method, as proposed in [5], [6], [10] (6) whereB 0 (x) denotes the estimate of CEM B 0 (x);ŷ [10] The measurement/estimation error of y (ρ) 0 is bounded; i.e., ∥ỹ (ρ) 0 ∥ ≤δ y . REMARK 1. ...
Article
This paper exposes that although some sensor-based nonlinear fault-tolerant control frameworks including incremental nonlinear dynamic inversion control can passively resist a wide range of actuator faults and structural damage without requiring an accurate model of the dynamic system, their stability heavily relies on a sufficient condition, which is unfortunately violated if the control direction is unknown. Consequently, it is proved in this paper that no matter which perturbation compensation technique (adaptive, disturbance observer, sliding-mode) is implemented, none of the existing nonlinear incremental control methods can guarantee closed-loop stability. Therefore, this paper proposes a Nussbaum function-based adaptive incremental control framework for nonlinear dynamic systems with partially known (control direction is unknown) or even completely unknown control effectiveness. Its effectiveness is proved in the Lyapunov sense and is also verified via numerical simulations of an aircraft attitude tracking problem in the presence of sensing errors, parametric model uncertainties, structural damage, actuator faults, as well as inversed and unknown control effectiveness.
... In addition, this study also highlights the importance of implementing an inner-loop controller for robustification. Specifically, we select the incremental nonlinear dynamic inversion (INDI) method as the inner-loop angular controller, thanks to its simplicity in implementation and demonstrated robustness in various real-world experiments [15,16] including a combination with DFBC [13]. As for NMPC, differently from the state-of-the-art using a PID as the low-level control [4], we propose a method to hybridize NMPC with INDI that considers the real input limits of the quadrotor instead of constraints on virtual inputs. ...
... As for the DFBC method, we improve the state-of-the-art such that these factors are also addressed, which ensures a fair comparison with NMPC. Finally, both methods are augmented with an INDI controller [15] to convert the single rotor thrust commands to rotor-speed commands, while improving the robustness against model uncertainties and disturbances on the rotational dynamics. The control diagrams of both methods are illustrated in Fig. 4 and Fig. 3. ...
... Therefore, we resort to incremental nonlinear dynamic inversion (INDI), a sensor-based controller that uses instantaneous sensor measurement, instead of an explicit model, to represent system dynamics, thus being robust against model uncertainties and external disturbances. The performance and robustness of INDI have been demonstrated in previous research (see, e.g., [15,13,16]) with proven stability [43]. ...
Article
Full-text available
Accurate trajectory-tracking control for quadrotors is essential for safe navigation in cluttered environments. However, this is challenging in agile flights due to nonlinear dynamics, complex aerodynamic effects, and actuation constraints. In this article, we empirically compare two state-of-the-art control frameworks: the nonlinear-model-predictive controller (NMPC) and the differential-flatness-based controller (DFBC), by tracking a wide variety of agile trajectories at speeds up to 20 m/s (i.e.,72 km/h). The comparisons are performed in both simulation and real-world environments to systematically evaluate both methods from the aspect of tracking accuracy, robustness, and computational efficiency. We show the superiority of NMPC in tracking dynamically infeasible trajectories, at the cost of higher computation time and risk of numerical convergence issues. For both methods, we also quantitatively study the effect of adding an inner-loop controller using the incremental nonlinear dynamic inversion (INDI) method, and the effect of adding an aerodynamic drag model. Our real-world experiments, performed in one of the world’s largest motion capture systems, demonstrate more than 78% tracking error reduction of both NMPC and DFBC, indicating the necessity of using an inner-loop controller and aerodynamic drag model for agile trajectory tracking.
... On the other hand, classical nonlinear dynamic inversion (NDI) based controllers are highly dependent on the aircraft model [80]. ...
... In this thesis, an emerging and promising dynamic inversion based control method [80,74]. Therefore, modeling dependency reduce significantly compared to the classical NDI approach [80,74]. ...
... In this thesis, an emerging and promising dynamic inversion based control method [80,74]. Therefore, modeling dependency reduce significantly compared to the classical NDI approach [80,74]. ...
Thesis
Full-text available
On-demand urban air mobility (UAM) has become very popular in recent years with the introduction of the electric vertical take-off and landing (eVTOL) aircraft concept. Thanks to the key advantages of electric propulsion (e.g., very low noise and zero carbon-emission), short/medium range eVTOL "air-taxi" concept emerged as a feasible solution considering the requirements of the on-demand UAM. With this motivation, flight control problems of a novel eVTOL air-taxi are discussed and a unified flight controller is designed considering the full flight envelope. The air-taxi has a fixed-wing surface to have aerodynamically efficient forward flight, and uses only tilting electric propulsion units (i.e. the pure thrust vector control) to achieve full envelope flight control. The aircraft does not have any conventional control and stability surfaces such as aileron, elevator, rudder, horizontal/vertical tail. Therefore, the unified controller design becomes more challenging compared to the conventional aircraft configuration. The flight dynamics model of the air-taxi does not exist in literature since the air-taxi has a novel configuration. First, a preliminary flight dynamics model is generated using the component build-up approach for hover and high speed forward flight. Then, the hover and forward flight models are merged to simulate the transition dynamics. Two main challenges regarding the flight control are the severe nonlinearities in the flight dynamics during the transition flight and deterioration of the controller's performance in specific flight conditions due to the limited control authority (i.e., the actuator saturation). The first challenge is resolved via designing a sensor-based nonlinear controller for the entire flight envelope using the Incremental Nonlinear Dynamic Inversion (INDI) method. The INDI approach has improved robustness to modeling errors compared to the classical nonlinear dynamic inversion (NDI) methods. Therefore, the INDI based controller design fits very well to the problem considering the severe nonlinearities in the flight dynamics model. The INDI controller is formulated specifically considering the highly coupled pure thrust vector control approach. For the second problem, an online optimization-based Control Allocation (CA) algorithm is designed and integrated into the INDI controller. Resolving the actuator saturation related problems requires special attention due to the thrust vector control's coupled nature. The CA prioritizes the rotational channels over the translational channels to adequately allocate the limited control authority in case of actuator saturation. Various nonlinear simulation tests are performed considering the full envelope flight control, disturbance rejection characteristics at limited control authority and criticality of the CA design, robustness to model parameters, etc. Simulation results show that the controller has satisfactory performance, disturbance rejection characteristics, and significant robustness to the modeling errors. Moreover, it is observed that the CA plays a vital role in guaranteeing stable flight in case of severe actuator saturation.
... This method has the advantages of low dependence on model accuracy, good anti-disturbance, and good nonlinear control characteristics [17]. In recent years, the INDI method has been widely used in UAVs [18][19][20][21][22][23][24][25][26][27]. In Refs. ...
... In Refs. [23][24][25][26], stable INDI controllers were designed based on the time scale separation method. The robustness of INDI to aerodynamic uncertainty and external disturbance was verified through flight tests. ...
... Refs. [19,[22][23][24][25][26] adopted the active delay method to make the time between the control variable and its increment consistent to avoid system divergence. Lu et al. [29] proposed a method to improve the delay stability of a single input single output (SISO) system using incremental gain and proved this method in detail under the assumption of the continuous system. ...
Preprint
In this paper, the incremental nonlinear dynamic inversion (INDI) method is applied to the control system design of coaxial rotor UAVs. The aerodynamic uncertainty and anti-disturbance problems are solved in the control system design. The designed controller gives the UAV excellent flight performance and control robustness. An incremental gain method (IGM) is proposed for the delay problem of the state derivative. This method has the advantages of less calculation load and simple parameter adjustment, which provides excellent convenience for applying INDI controllers to coaxial rotor UAVs. The principle of IGM is demonstrated by the stability analysis method of the discrete system, and the parameter selection strategy of the IGM is analyzed in detail by simulation. The advantages of the controller design method are verified by comparative flight tests of nonlinear dynamic inversion (NDI) and INDI. The experimental results show that the average trajectory tracking error of INDI is only 58.3% of that of NDI under the same wind speed. When the angular acceleration delay is less than 0.06 s, IGM can easily keep the system stable. In addition, INDI has better robustness under obvious model errors and strong input disturbance.
... Incremental Nonlinear Dynamic Inversion (INDI) is a control method that uses a local linearization of the model to derive a control law to control the defined output and its derivatives, by computation of an increment in the control input, neglecting any state-dependent terms [6]. Through the feedback of derivatives of the system output, such as angular acceleration in the case of inner loop control of an aircraft, unmodeled effects and disturbances are directly measured, and compensated for in the next control increment, which led to an increased popularity of the concept in flight control applications [7][8][9][10][11][12][13]. The controller responds under specific simplifications to the system to disturbances or unmodeled dynamics with the combined dynamics of the actuators and any filtering that is done on the output, and this has been observed in practical experiments as well [14]. ...
... Smeur et al. [14] showed that when actuator dynamics are present, ( ) follows with the dynamics of the actuator, in the case that the Δ term and the higher order terms can be neglected in (19), and in the case that all actuators have the same bandwidth i.e. Ω = × , such that: ...
... Choosing the same error dynamics like in the NDI control law, given by (14) with Ω = × , solving for ( +1) according to (15), and inserting into the INDI control law given by (21), results in the control law ...
Preprint
Full-text available
In this paper, we derive a Nonlinear Dynamic Inversion (NDI) control law for a non-linear system with first order linear actuators, and compare it to Incremental Nonlinear Dynamic Inversion (INDI), which has gained popularity in recent years. It is shown that for first order actuator dynamics, INDI approximates the corresponding NDI control law arbitrarily well under the condition of sufficiently fast actuators. If the actuator bandwidth is low compared to changes in the states, the derived NDI control law has the following advantages compared to INDI: 1) compensation of state derivative terms 2) well defined error dynamics and 3) exact tracking of a reference model, independent of error controller gains in nominal conditions. The comparison of the INDI control law with the well established control design method NDI adds to the understanding of incremental control. It is additionally shown how to quantify the deficiency of the INDI control law with respect to the exact NDI law for actuators with finite bandwidth. The results are confirmed through simulation results of the rolling motion of a fixed wing aircraft.
... Here, an algebraic model is partially replaced by sensor data -in particular, measured accelerations -and these measurements inform a first-order approximation of the nonlinear dynamics. INDI has since been demonstrated in various flight experiments [9][10][11][12]. ...
... The use of an inexact feedback linearization at the core of INDI is often explained by the assumption that the dynamics of the controls are significantly faster than the change of the states (timescale separation). Hitherto, stability and robustness of INDI is usually analyzed under this paradigm [8,[12][13][14]. A notable exception is the work of [15], in which the error term introduced by the first-order approximation is described and investigated. ...
Conference Paper
Full-text available
Sensor-based feedback laws such as incremental nonlinear dynamic inversion (INDI) applied to flight control tasks have been successfully evaluated in experiments. When deriving sensor-based feedback laws by INDI, it is assumed that a state-dependent error term introduced by Taylor approximation of the exact feedback linearization is neglectable. In reality, this assumption does not hold over the full state-space and closed-loop stability is a local property. When written in the co-space of internal and external dynamics obtained by feedback linearization, we a local characterization for the state-dependent error term by a finite-horizon output gain is proposed. Thus, an inner estimate of the closed-loop region of attraction is derived by application of the small-gain theorem to the interconnection of internal and external dynamics as well as the over-approximated error term.
... Specifically, INDI approximates τ ext in (1) by instantaneous sensor measurements instead of finding an accurate model that can be difficult to obtain. There are different derivations of INDI for quadrotors (see, e.g., [31], [32]). Here we adopt the version from [32]. ...
... It is proved in the experiments that the control design is able to robustly track the trajectory tracking with respect to various system uncertainties. A similar design approach is also applied to a ducted-fan UAV with solid experimental results [62]. ...
Article
Among small rotorcraft, the use of multiple compact rotors in a mechanically simple design leads to impressive agility and maneuverability but inevitably results in high energetic demand and acutely restricted endurance. Small spinning propellers used in these vehicles contrast with large lifting surfaces of winged seeds, which spontaneously gyrate into stable autorotation upon falling. The pronounced aerodynamic surfaces and delayed stalls are believed key to efficient unpowered flight. Here, the bioinspired principles are adopted to notably reduce the power consumption of small aerial vehicles by means of a samara-inspired robot. We report a dual-wing 35.1-gram aircraft capable of hovering flight via powered gyration. Equipped with two rotors, the underactuated robot with oversized revolving wings, designed to leverage unsteady aerodynamics, was optimized for boosted flight efficiency. Through the analysis of flight dynamics and stability, the vehicle was designed for passive attitude stability, eliminating the need for fast feedback to stay upright. To this end, the drone demonstrates flight with a twofold decrease in power consumption when compared with benchmark multirotor robots. Exhibiting the power loading of 8.0 grams per watt, the vehicle recorded a flight time of 14.9 minutes and up to 24.5 minutes when equipped with a larger battery. Taking advantage of the fast revolving motion to overcome the severe underactuation, we also realized position-controlled flight and illustrated examples of mapping and surveillance applications with a 21.5-gram payload.
Thesis
In this thesis, the design, validation and implementation of nonlinear control strategies for aerial manipulators –i.e. aerial robots equipped with manipulators– is studied, with special emphasis on the internal coupling of the system and its resilience against external disturbances. For the first, different decentralised control strategies –i.e. using different control typologies for each one of the subsystems– that indirectly take into account this coupling have been analysed. As a result, a nonlinear strategy composed of two controllers is proposed. A higher priority is given to the manipulation accuracy, relaxing the platform tracking, and hence obtaining a solution improving the manipulation capabilities with the surrounding environment. To validate these results, thorough stability and robustness analyses are provided, both theoretically and in simulation. On the other hand, a significant effort has been devoted to improving the response and applicability of robot manipulators used in flight via control. In particular, the design of controllers for lightweight flexible manipulators –that reduce the consequences of incidents involving unforeseen contacts– is analysed. Although their inherent nature perfectly fits for aerial manipulation applications, the added flexibility produces unwanted behaviours, such as second-order modes and uncertainties. To cope with them, an adaptable position nonlinear control strategy is proposed. To validate this contribution, the stability of the approach is studied in theory and its capabili- ties are proven in several experimental scenarios. In these, the robustness of the solution against unforeseen impacts and contact with uncharacterised interfaces is demonstrated. Subsequently, this strategy has been enriched with –multiaxis– force control capabilities thanks to the inclusion of an outer control loop modifying the manipulator reference. Accordingly, this additional application-focused capability is added to the controlled system without loosing the modulated response of the inner-loop position strategy. It is also worth noting that, thanks to the cascade-like nature of the modification, the transition between position and force control modes is inherently smooth and automatic. The stability of this expanded strategy has been theoretically analysed and the results validated in a set of experimental scenarios. To validate the first nonlinear approach with realistic outdoor simulations before its implementation, a computational fluid dynamics analysis has been performed to obtain an explicit model of the aerodynamic forces and torques applied to the blunt-body of the aerial platform in flight. The results of this study have been compared to the most common alternative nowadays, being highlighted that the proposed model significantly surpasses this option in terms of accuracy. Moreover, it is worth underscoring that this characterisation could be also employed in the future to develop control solutions with enhanced rejection capabilities against wind conditions. Finally, as the focus of this thesis is on the use of novel control strategies on real aerial manipulation outdoors to improve their accuracy while performing complex tasks, a modular autopilot solution to be able to implement them has been also developed. This general-purpose autopilot al- lows the implementation of new algorithms, and facilitates their theory-to-experimentation transition. Taking into account this perspective, the proposed tool employs the simple and widely-known Simulink® interface and the highly reliable PX4 autopilot as backup, thus providing a redundant approach to handle unexpected incidents in flight.
Conference Paper
Full-text available
This paper presents experimental results of the full 3-axis force vector and 3-axis moment vector acting on a propeller, commonly used for a Vertical Take Off and Landing Micro Aerial Vehicle (VTOL MAV). Measurements were carried out in a wind tunnel using a high resolution 6-axis force/moment sensor embedded in a customized test rig at several wind speeds, propeller rotational speeds and angles of the propeller shaft with respect to the air stream. Results show strong moments acting on the propeller in forward flight and unstable conditions in descending flight. Power calculations reveal a decrease in power consumption during slow forward flight and how motor efficiency can be maximized.
Conference Paper
Full-text available
A sensor-based approach of Incremental Nonlinear Control is applied to flight control law design in this paper. It allows the usage of the same control law on different types of aircraft without the need for redesign. The derivation of this set of sensor-based control laws assumes fast control action. Due to actuator lags and delays, the implementation of control commands cannot necessarily be considered fast. This mitigates the stability guarantee provided by Lyapunov theory. Therefore, a novel technique to estimate the time delay margins of the incremental Lyapunov-based controlled systems is proposed in this paper. It provides an important stability measure for possible certification, aids in choosing appropriate controller gains and widens the application range of Incremental Nonlinear Control. The outcome is a simple, yet effective, control design methodology that gives control laws showing positive robustness properties with respect to model uncertainties, unknown parameters, external disturbances and time delay effects. In an example, it is applied to a DA 42 aircraft model as a (pilot-in-the-loop) rate controller. The implementation requires measurements of the aircrafts angular accelerations and control surface deflections but shows very positive results.
Article
Full-text available
This paper presents control algorithms for guidance and control of airplanes under actuator failures and severe structural damage. The presented control and guidance algorithms are validated through experimentation on the Georgia Institute of Technology Twinstar twin engine, fixed-wing, unmanned aerial system. Damage scenarios executed include sudden loss of all aerodynamic actuators resulting in propulsion-only flight, 25% of the left wing missing, sudden loss of 50% of the right wing and aileron in-flight, and injected actuator time delay. A state-dependent guidance logic is described that ensures the aircraft tracks feasible commands in the presence of faults. The commands are used by an outer-loop linear controller to generate feasible attitude commands. The inner-loop attitude control can be achieved by using either a linear attitude controller or a neural network-based model reference adaptive controller. The results indicate the possibility of using control methods to ensure safe autonomous flight of transport aircraft through validation on a scaled model that has characteristics of a typical transport category aircraft.
Book
To be effective as an engineer practicing in the field of process automation requires a breadth of knowledge across a wide range of disciplines: chemical engineering, instrumentation, electrical engineering, control theory, mathematics, computing and management. Previously published books exist in these areas but most are generic and, of those that are applied in nature, few are oriented towards the actual needs of the chemical and process industry. It is impractical for engineers and unreasonable for students to have to cope with this spectrum of material and lack of emphasis. The objective of Process Automation Handbook has been to distil into a single coherent handbook all the essentials of process automation at a depth sufficient for most practical purposes. The handbook focuses on the knowledge needed to cope with the vast majority of process control and automation situations. In doing so, a number of sensible balances have been carefully struck between breadth and depth, theory and practice, classical and modern, technology and technique, information and understanding. A thorough grounding is provided for every topic. If more detailed information is required, the reader is referred to more specialised texts in the knowledge that he or she has been provided with a sound platform to ask the right questions and understand the answers. Process Automation Handbook will be of value to any engineer actively concerned with process control and automation in the chemical and process industries and final-year undergraduate and postgraduate students studying process control.
Conference Paper
This paper describes the theoretical development of a simplified form of Non-linear Dynamic Inversion (NDI). The approach is based upon manipulations of the basic equations describing flight mechanics, and requires minimal a priori knowledge of the vehicle aerodynamic characteristics, with the exception of control powers, and inertias. The method deals implicitly with vehicle non-linearities, and appears to offer excellent properties of robustness to uncertainties in the mathematical model. The behaviour of a longitudinal control law is illustrated using a nonlinear aircraft model.
Conference Paper
This paper presents an approach to on-line control design for aircraft that have suffered either actuator failure, missing effector surfaces, surface damage, or any combination. The approach is based on a modified version of nonlinear dynamic inversion. The approach does not require a model of the baseline vehicle (effectors at zero deflection), but does require feedback of accelerations and effector positions. Implementation issues are addressed and the method is demonstrated on an advanced tailless aircraft. An experimental simulation analysis tool is used to directly evaluate the nonlinear system's stability robustness.
Conference Paper
The aim of this article is to present a novel quaternion based control scheme for the attitude control problem of a quadrotor. A quaternion is a hyper complex number of rank 4 that can be utilized to avoid the inherent geometrical singularity when representing rigid body dynamics with Euler angles or the complexity of having coupled differential equations with the Direction Cosine Matrix (DCM). In the presented approach both the quadrotor's attitude model and the proposed non-linear Proportional squared (P2) control algorithm have been implemented in the quaternion space, without any transformations and calculations in the Euler's angle space or DCM. Throughout the article, the merits of the proposed novel approach are being analyzed and discussed, while the efficacy of the suggested novel quaternion based controller are being evaluated by extended simulation results.
Article
Due to the inherent instabilities and nonlinearities of rotorcraft dynamics, its changing properties during flight and the engineering difficulties to predict its aerodynamics with high levels of fidelity, helicopter flight control requires the application of special strategies. These strategies must allow to cope with the nonlinearities of the system and assure robustness in the presence of inaccuracies and changes in configuration.In this paper, a novel approach based on an Incremental Nonlinear Dynamic Inversion is applied to simplify the design of helicopter flight controllers. With this strategy, by employing the feedback of acceleration measurements to avoid the need for information relative to any aerodynamic change, the control system does not need any model data that depends exclusively on its states, thus enhancing its robustness to model uncertainties.The overall control system is tested by simulating two tasks with distinct agility levels as described in the ADS-33 helicopter handling qualities standard. The analysis shows that the controller provides an efficient tracking of the commanded references. Furthermore, with the robustness properties verified within the range of inaccuracies expected to be found in reality, this novel method seems to be eligible for a potential practical implementation to helicopter vehicles.