Content uploaded by Erik-Jan Van Kampen
Author content
All content in this area was uploaded by Erik-Jan Van Kampen on Feb 02, 2017
Content may be subject to copyright.
Robust Nonlinear Spacecraft Attitude Control using
Incremental Nonlinear Dynamic Inversion
Paul Acquatella B. ∗
, Wouter Falkena †
, Erik-Jan van Kampen‡and Qi Ping Chu§
Delft University of Technology, P.O. Box 5058, 2600 GB Delft, The Netherlands
This paper presents the attitude tracking and disturbance rejection problem of rigid
spacecraft in presence of model and parametric uncertainty using nonlinear dynamic in-
version. The feedback of actuator output and angular acceleration measurements allows
the design of incremental control action which, in combination with nonlinear dynamic
inversion, stabilizes the partly-linearized nonlinear system incrementally, accounting for
undesired factors such as external perturbations, time-delays, and uncertainties. With
this result, the so-called incremental nonlinear dynamic inversion, dependency on exact
knowledge of the system dynamics is greatly reduced, overcoming this major robustness
flaw from conventional nonlinear dynamic inversion. Moreover, this methodology implies a
trade-off between accurate knowledge of the spacecraft dynamic model and accurate knowl-
edge of the spacecraft sensors and actuators, and hence more suitable than identification
or model-based adaptive control architectures. Simulation results demonstrate the track-
ing and external disturbances rejection capabilities of the proposed controller in front of
current existing methods. Under the combined effect of external disturbances, time-delay,
and parametric uncertainty, incremental nonlinear dynamic inversion performs better than
regular NDI and PI-control without compromising nominal performance and stability.
I. Introduction
Several nonlinear control methodologies have arisen in the past decades to overcome shortcomings of
conventional linearization approaches that approximates a nonlinear system dynamics only over a small
domain of interest around equilibria, i.e., Jacobian linearization. One of the most popular of these control
methodologies is known as Feedback Linearization (FBL), treated extensively in1,2,3and initially based on
early papers of Krener and Brockett in the seventies.4,5Feedback linearization uses an accurate model of the
system to entirely or partly cancel its nonlinearities by means of feedback and exact state transformations.
This transforms the nonlinear system dynamics into a linear one over a desired region of interest. For the
obtained system, conventional linear control techniques can be applied successfully for achieving desired
closed-loop dynamics.
The application of FBL in the aerospace field is commonly referred to as Nonlinear Dynamic Inversion
(NDI). Although initially intended for flight control, NDI for aerospace applications have also found its way
for spacecraft control and re-entry vehicles, see6,7,8and the references therein. The motivations behind
the application of NDI for flight control originate from difficulties with ensuring stability and performance
in between operational points of widely-used gain-scheduled controllers. With gain-scheduling, the flight
envelope is divided into many smaller operating regimes and conventional controllers can be designed over
∗Graduate Student, Control and Simulation Division, Faculty of Aerospace Engineering, paul@acquatella.com, AIAA mem-
ber.
†Scientific Researcher, Control and Simulation Division, Faculty of Aerospace Engineering, W.Falkena@tudelft.nl, AIAA
member.
‡Assistant Professor, Control and Simulation Division, Faculty of Aerospace Engineering, E.vanKampen@tudelft.nl, AIAA
member.
§Associate Professor, Control and Simulation Division, Faculty of Aerospace Engineering, Q.P.Chu@tudelft.nl, AIAA mem-
ber.
1 of 20
American Institute of Aeronautics and Astronautics
each of them. Hence, scheduling the controller gains allows to obtain satisfactory performance and desired
handling qualities over the entire flight envelope. In contrast, the NDI approach intends to eliminate the
nonlinearities in the model by canceling them out with state feedback. In this case, a single classical linear
controller can be used to close the outer loop of the system under NDI control, hence eliminating the need
of linearizing and designing different controllers for several operational points as in gain-scheduling. This
all is done under the assumption of a correct onboard dynamic model. NDI can be seen as a special case of
FBL, where only one differentiation of each control variable is required to enable inversion (hence a relative
degree of one). Moreover, NDI may be only applied in combination with physical insight.9
A disadvantage for the construction of NDI-based control laws is that accurate knowledge of the nonlin-
ear system dynamics is required for such an explicit cancellation. For space applications, this means that
in order to apply NDI successfully, both the model of the system must match the onboard model of the
spacecraft, and all system nonlinearities must be accurately known. Such assumption is hardly met in re-
ality and in practice, which is the rationale behind further development on the robustness of this methodology.
For this reason, NDI is considered an explicit control method where the desired dynamics of the closed-
loop system reside in some explicit model to be followed. Therefore, this explicit aspect of NDI-based control
laws is considered to be a disadvantage upfront its abilities to linearize and decouple certain classes of nonlin-
ear MIMO systems when full knowledge of the nonlinearities is available. Moreover, this model-based aspect
is also strongly influenced by modeling uncertainties. In reality, the model mismatch in the implementation
of NDI control laws, together with all sensor aspects, delays and biases, can compromise tremendously the
performance of the controlled system. The high dependency of the inner loop of the control system on the
onboard model is critical, i.e., it can compromise the stability and performance of the system when perform-
ing under actuator failures or with model uncertainties.
Many successful attempts have been carried to identify and reduce these aforementioned flaws of NDI-
based control laws with regards to robustness. These attempts are focused in improving the robustness of
the overall control architecture by means of applying linear robust control in the outer loop of the system.
The works10,7combine NDI with the structured singular value (µ-analysis) and H∞synthesis for reentry
flight clearance, and significant benefits were found over conventional NDI. However, not all uncertainties
were taken into account or they were covered by lumped uncertainties hence introducing conservatism.
In this paper, the issue of dealing with uncertainties with the NDI approach is presented by means a
modification to the NDI framework that reduces its dependency on the onboard model or baseline spacecraft
while making use of actuator output and angular acceleration measurement feedback, the so-called Incre-
mental Nonlinear Dynamic Inversion (INDI) method. In contrast to regular NDI, this method is inherently
implicit in the sense that desired closed-loop dynamics do not reside in some explicit model to be followed
but result when the feedback loops are closed.
The theoretical development of INDI date back from the late nineties and started with the work from
Smith11 for NDI-based flight control. The INDI control methodology is also referred in the literature as
Modified NDI and Simplified NDI (especially during its origins), but the designation ‘Incremental NDI’ is
considered to describe the methodology and nature of these type of control laws better.12,13 INDI has been
elaborated and applied theoretically in the past decade for flight control applications.13,14,15,16,17
The remainder of the paper is organized as follows. Section II presents a brief recapitulation of attitude
kinematics and dynamics, and the modeling of external disturbances considered. In Sections III and IV we
present the theory behind NDI and INDI, respectively. Section Villustrates the design of the spacecraft
attitude controllers considered in this paper, and Section VI presents the simulations of these controllers in
a rest-to-rest benchmark maneuver. Conclusions are discussed in Section VII.
2 of 20
American Institute of Aeronautics and Astronautics
II. Modeling
A. Attitude kinematics
Typically, the Euler angles and quaternions are used to parameterize the attitude kinematics of rigid bodies,
and most attitude controllers are based on these parameterizations. In general, the best parameterization is
problem dependent.18
In this paper we will be interested in the Modified Rodrigues Parameters (MRPs), despite of their un-
popularity for attitude control, as they represent suitable kinematic parameterizations for the particular
application of spacecraft attitude control. They address the problem of singular orientations while using
a minimal set of three rigid body attitude coordinates.19,20 Being derived from the quaternion through
stereographic projection, they result in a well-defined parameterization for all Eigen-axis rotations in the
range of 0 ≤θ < 360◦and hence their potential advantages in attitude stabilization and control problems.19
With ω∈R3representing the angular velocity vector, and defining the vector σ=hσ1σ2σ3i⊤
∈
R3, the kinematics equations take the form:
˙
σ=N(σ)ω,σ(0) = σ0(1)
where :
N(σ) = 1
2I3×3−S(σ) + σσ⊤−1
21 + σ⊤σI3×3(2)
and S(σ) denotes the 3 ×3 antisymmetric matrix:
S(σ) =
0σ3−σ2
−σ30σ1
σ2−σ10
(3)
The vector σof the Modified Rodrigues Parameters is related to the Euler-axis and the principal angle
through:
σ=λtan θ
4(4)
B. Attitude dynamics
Along with the rotational kinematics which describes the orientation of a rigid body that is in rotational
motion without involving any associated forces, the full description of the orientation of a rigid body is
described with the dynamics of this rotational motion involving the influence of external forces. Consider
Euler’s rotational equation of motion in vector form:21
M=J˙
ω+ω×Jω(5)
where ω∈R3is the angular velocity vector, M∈R3is the external moment vector, and Jthe inertia
matrix of the rigid body. We will be interested in the time history of the angular velocity vector, hence
the dynamics of the rotational motion of a rigid body in Eq. (5) can be rewritten as the following set of
differential equations:
˙
ω=J−1S(ω)Jω+J−1M,ω(0) = ω0(6)
where:
ω=
ω1
ω2
ω3
J=
J11 J12 J13
J21 J22 J23
J31 J32 J33
M=
M1
M2
M3
and S(ω) denotes the 3 ×3 antisymmetric matrix:
S(ω) =
0ω3−ω2
−ω30ω1
ω2−ω10
(7)
3 of 20
American Institute of Aeronautics and Astronautics
C. External disturbances
A spacecraft in orbit will experience external disturbance torques. The total moment acting on the rigid
body can be decomposed in several terms depending on their nature or on the modeling of the problem
considered. Here we will decompose the total moment, M≡u, in two terms: the control torque uc, and the
disturbance torque ud:
M≡u=uc+ud(8)
The idea is to model udas an external disturbance and test the disturbance rejection capabilities of the
controllers proposed in this paper. Such case is known in the literature as the disturbance rejection problem.
The magnitudes from these external disturbance torques differ greatly, but compared with the attitude
control torques from the spacecraft they result to be very small. The most important disturbances for
a satellite in orbit are the gravity field of the Earth due to its non radial symmetric mass distribution,
atmospheric drag, third body perturbations, solar radiation pressure, and electromagnetic forces. In general,
these space environmental external disturbance torques can be modeled as a bias plus cyclic terms in the
body-fixed control axes,21 and in this paper a sinusoidal disturbance torque is assumed as:22
udi=
4 + 0.2 sin 0.01πt
5 + 0.5 sin 0.01πt
4 + 0.2 sin 0.01πt
×10−3N·m (9)
In this sense, the problem in consideration can be formulated as Eq. (6) finally expressed as:
˙
ω=f(ω) + Gu,ω(0) = ω0(10)
with:
f(ω) = J−1S(ω)Jω,G=J−1
III. Nonlinear Dynamic Inversion
The idea of Nonlinear Dynamic Inversion (NDI) consists on canceling the nonlinearities in a nonlinear
system so that the closed-loop dynamics is in a linear form. In other words, a nonlinear system is inverted
by means of state feedback into a linear structure, and hence conventional linear controllers can be applied.
A fundamental assumption is that the model of the system is exactly known, which gives NDI a great
disadvantage from the point of view of uncertainties. Formally:
(i) It is assumed that the model of the system is accurately known. This is known as the nominal model
for which the NDI control laws are derived. Furthermore, this assumption implies that the original
system will behave according to this nominal model.
(ii) It is assumed to have complete and accurate knowledge about the state of the system.
This will be referred as to the full knowledge assumption.
Without loss of generality, consider a general MIMO system whose number of inputs are equal to the
number of outputs in order to avoid control allocation problems. The dynamics of this system can be
expressed as:
˙
x=f(x) + G(x)u(11a)
y=h(x) (11b)
where x∈Rnis the state vector, u∈Rmis the control input vector (of components uj), y∈Rmis the
system output vector (of components yj), fand hare smooth vector fields on Rn, and G∈Rn×mis a matrix
whose columns are smooth vector fields gj. Note that this general dynamic model of a MIMO nonlinear
system is considered affine in the control input u. As a result there is no need of nonlinear solvers for u
when applying NDI.
The elements of the output vector yare often selected as the parameters to be controlled, which are
commonly directly related to the physical states of the system. For all the outputs yi,i={1,...,m}the
4 of 20
American Institute of Aeronautics and Astronautics
number of differentiation needed for the input to appear, i.e., {r1,...,rm}is called the relative degree of the
system.1In this sense, consider the output of the system to be the state:
y=x(12)
Furthermore, if the matrix G(x) is non-singular (i.e., invertible) in the domain of interest for all x, the NDI
control consists in the following input transformation:
u=G−1(x)hν−f(x)i(13)
which cancels all the nonlinearities, and a simple input-output linear relationship is obtained between the
output yand the new input ν:
˙
y=ν(14)
Apart from being linear, an interesting result from this relationship is that it is also decoupled since the
input νionly affects the output yi. From this fact, the input transformation (13) is called a decoupling
control law, and the resulting linear system (14) is called the single-integrator form.
This single-integrator form (14) can be rendered exponentially stable by means of linear feedback control.
In general, the introduced virtual input νcan be designed to solve the problem of stabilization or output
tracking, depending on control requirements. For both cases, given the obtained linear and decoupled
relationship, linear controllers can be synthesized to guarantee time- or frequency-domain requirements. For
example, the control law for the tracking of a smooth desired output yref(t) can be based upon the tracking
error e=yref(t)−y(t) as follows:
ν=˙
yref +K(e, ˙e,...) (15)
where ˙
yref is the feedforward term for tracking tasks, and K(e, ˙e,...) represents a linear controller to ex-
ponentially stabilize the tracking dynamics with proper gain tuning, so that e(t)→0. From this typical
tracking problem, and as illustrated in Figure 1, it can be seen that the entire control system will have
two control loops: the inner linearization loop based on Equation (13), and the outer control loop based on
Equation (15).
˙
x=f(x) + G(x)u
y=h(x) = x
f(x)
G−1(x)hν−f(x)i
K(e, ˙e, . . .)
ν
˙
x,x,y
yref e
˙
yref
desired-dynamics dependent part plant dependent part
outer control loop
inner linearization loop
u
y
+
++ +
−−
Figure 1. Tracking of a MIMO system with Nonlinear Dynamic Inversion. The inner linearization loop is
based on Equation (13), whereas each channel yi−νiof the outer control loop is based on linear control.
IV. Incremental Nonlinear Dynamic Inversion
The concept of Incremental Nonlinear Dynamic Inversion (INDI) amounts to the application of NDI to
a system expressed in an incremental form in order to improve the robustness of the closed-loop system as
compared with conventional NDI-based control by reducing its dependency on the model and exact knowl-
edge on the plant dynamics. Unlike NDI, this control design technique is implicit in the sense that desired
closed-loop dynamics do not reside in some explicit model to be followed but result when the feedback loops
5 of 20
American Institute of Aeronautics and Astronautics
are closed.15 The incremental form considers the influence of increments of control commands in the dy-
namics. INDI provides these increments of control commands as a function of the error of control variables,
in contrast to NDI which provides a complete command control input instead.
For INDI-based control laws, and without loosing generality, we will consider a general MIMO system
as in Eq. (11) which represent the dynamics to be inverted, and whose number of inputs are equal to the
number of outputs, otherwise a control allocation problem would arise. Moreover, the output of the system,
or the control variables vector, is considered to be the state, hence:
y=x(16)
where y∈Rm(of components yj=xj, here m=n) and x∈Rnis the state vector of the system. The
dynamics of this system can be expressed as:
˙
y=˙
x(17a)
=f(x) + G(x)u(17b)
where u∈Rmis the control command vector (of components uj), fis a smooth vector field on Rn, and
G∈Rn×mis a matrix whose columns are smooth vector fields gj. This system represents the dynam-
ics to be inverted with INDI-based control. Notice that this system has a relative degree of msince each
of the controlled variables yihas a relative degree ri= 1, i={1,...,m}, and possesses no internal dy-
namics. Also note that this general dynamic model of a MIMO nonlinear system is considered affine in the
control command u, as a result there is no need of nonlinear solvers for uwhen applying INDI to such system.
The approximated rotational dynamics of a rigid body in its incremental form15,16,23,13 is presented as
follows. A standard Taylor series expansion provides the following first-order approximation of ˙
x, for xand
uin the neighborhood of [x0,u0]:
f(x) + G(x)u∼
=f(x0) + G(x0)u0+∂
∂xhf(x) + G(x)uix=x0
u=u0
(x−x0) + ∂
∂uhG(x)uix=x0
u=u0
(u−u0) + H.O.T
∼
=f(x0) + G(x0)u0+∂
∂xhf(x) + G(x)uix=x0
u=u0
(x−x0) + G(x0) (u−u0)
(18)
where the current state and control, x0and u0respectively, represent for each time instance the reference
an incremental instance in time before xand ufor the construction of the first-order approximation of ˙
x,
and H.O.T the higher order terms that can be neglected further on. By definition, the corresponding state
rate ˙
x0satisfies:
˙
x0≡f(x0) + G(x0)u0(19)
Using this expression and the standard linear definition,
A0=∂
∂x[f(x) + G(x)u]x=x0
u=u0
(20a)
B0=∂
∂u[G(x)u]x=x0
u=u0
=G(x0) (20b)
with A0and B0the partials evaluated at the current (reference) point [x0,u0] on the state/control trajectory;
Equation (18), i.e., the approximation of ˙
xfor xand uin the neighborhood of [x0,u0], can be expressed as:
˙
x∼
=˙
x0+A0(x−x0) + B0δu(21)
where δu= (u−u0) represents the incremental control command. This suggests that in a small neighbor-
hood of the reference state we can approximate the nonlinear system (17) by its linearization about that
reference state.
For the obtained approximation, input-output linearization is applied to obtain a relation between the
incremental control command and the output of the system. Since each of the controlled variables yihas a
6 of 20
American Institute of Aeronautics and Astronautics
relative degree ri= 1, i={1, . . . , m}, the first order derivative of the output function represents an explicit
relation between the output yand the input δu:
˙
y=˙
x∼
=˙
x0+A0(x−x0) + B0δu(22)
Inversion of this equation results in the linearizing input transformation:
δu=B−1
0ν−˙
x0+A0(x−x0)(23)
that can be applied to obtain the decoupled single-integrator linear relation ˙
y=ν. For small time increments
and a sufficiently high control update rate, xapproaches x0which means that A0(x−x0)<< B0δuand
hence negligible. As a result, the linearizing control becomes:
δu=B−1
ohν−˙
x0i=G(x0)−1hν−˙
x0i(24)
and the linearized system:
˙
y=ν(25)
Note that this control law results in increments of control commands; these changes must be added to the
current (reference) command to obtain the full new control command input. Also, note that ˙
x0is based on
the reference command u0and that δuis the commanded change that reference in order to generate ν, i.e.,
the desired first order derivatives of the controlled variables. Hence, the total control command is obtained
as:
u=u0+δu(26)
Note that the existing u0that corresponds to ˙
x0is taken from the output of the actuators, and it has been
assumed that a commanded control is achieved instantaneously. The total control command (26) along with
the obtained linearizing control δucan be rewritten as:
u=u0+G(x0)−1hν−˙
x0i(27)
INDI, as the application of NDI to a system expressed in an incremental form, results in a control law that
is not depending on the exact knowledge of the plant dynamics f(x). The dependency of the closed-loop
system on the model is largely decreased, improving the system robustness against model mismatch and
model uncertainties. Moreover, changes in f(x) are reflected in ˙
x0, and the control does require measure-
ments of ˙
x0and u0, making this control strategy more dependent on the sensor measurements (the angular
acceleration measurements in the case of attitude control). It is important to notice that this implicit control
law design is not entirely independent on the model since changes in f(x) are reflected in measurements of
˙
x0. However, this control law design is expected to be more dependent of sensor aspects (such as noise, bias,
misalignments, etc.) than regular NDI.
The implementation of INDI-based control considers the following assumptions:
(i) It is assumed to have complete and accurate knowledge about the state of the system. In practice
however, state measurements may contain noise, biases, and delays. Moreover, angular acceleration
sensors may exist but they are expensive and not common. As an alternative, angular acceleration may
be derived from inertial measurement unit (IMU) gyro measurements;
(ii) For small time increments, angular accelerations evolve faster than angular velocities upon control
action, which directly influences the moment of the rigid body. In other words, the angular velocities
only change by integrating angular accelerations, hence making the difference (ω−ω0) negligible for
for small time increments as compared to ˙
ω;
(iii) Fast control action is assumed. This assumption complements the previous one in the sense that
the dynamics of the actuators are considered to evolve much faster than the angular velocities. This
assumption can be explained with singular perturbation theory or with time-scale separation, in which
introducing the following slow and fast dynamics,
˙
ω=f1(ω) + g1(ω)u(28)
ǫ¨
u=f2(ω) + g2(ω,u) + g3(ω,u,˙
u) (29)
7 of 20
American Institute of Aeronautics and Astronautics
˙
x=f(x) + G(x)u
y=x
G(x0)−1hν−˙
x0i
K(e, ˙e, . . .)
ν
˙
x,x,y
yref e
˙
yref
desired-dynamics dependent part plant dependent part
outer control loop
inner linearization loop
u
u0
δu
˙
x0
x0
y
+
+
++
+−
sensor
measurements
Figure 2. Tracking of a MIMO system with Incremental Nonlinear Dynamic Inversion. The inner linearization
loop is based on Equation (27), whereas each channel yi−νiof the outer control loop is based on linear control.
making the constant ǫ > 0 sufficiently small will make the controller state uevolve much faster than
the slower state of the slow system, the angular velocities ω. Without loss of generality, a linear second
order dynamics for the actuators can be assumed,24 and making ǫsufficiently small in this context
means making the actuator undamped natural frequency ωncsufficiently high to guarantee the fast
actuator requirement of incremental control.
In the case where actuator output measurements are not readily available, i.e. Fig.3-(a), a high-fidelity
model of actuator dynamics can be included in the controller side as to supply the required control input
reference u0, Fig.3-(b). Its mismatch with regards to reality must be studied in order to avoid a wind-
up effect. Moreover, actuator output measurements may contain noise, biases, and delays. Of course,
physical limitations exists and the attitude control system will depend on appropriate choice of sensors and
actuators. Fig.3-(a) denotes a sensor-dependency configuration, where the actuator output measurements are
readily available (e.g. reaction wheels, with a proper current-to-torque relation), and Fig.3-(b) denotes the
model-dependent approach, where a high-fidelity model of the actuator dynamics accompanies the control
architecture (e.g. a high-fidelity model of reaction thrusters). In some cases, a combination of these two
approaches may be necessary.
actuators
actuators INDI
INDI
x0,˙
x0
x0,˙
x0ucmd
ucmd u
u
u0
u0
δu
δu
(a) (b)
+
+
+
+
model
actuator
sensor
measurements
Figure 3. Actuator output block diagrams for Incremental Nonlinear Dynamic Inversion: (a) sensor-dependent.
(b) model-dependent.
V. Attitude control design
The interest is to find NDI-based feedback controllers to track an attitude motion reference of a rigid
body. In this sense, we apply the results shown in the past sections to the attitude tracking problem. First,
we demonstrate the Modified Rodrigues Parameters attitude tracking with NDI-control, followed by the
8 of 20
American Institute of Aeronautics and Astronautics
proposed method using INDI-control.
A. Rate (inner) control loop
The design objective of the rate (inner) control loop consists in the tracking of a desired angular velocity
signal ωdes, obtained by the attitude (outer) control loop, with ω(t), or similarly, the regulation of ωe(t):
ωe(t)→0 as t→ ∞ for all ωe(0) with ωe(t) = (ωdes −ω), which must remain bounded. It should be clear
that this loop involves the rotational dynamics of the rigid body, hence the controlled variables consist on
the angular velocity vector:
yin =ω(30)
Differentiation of this equation for NDI-control design results in the dynamics as in Eq. (6), system that can
be expressed as:
˙
yin =˙
ω=f(ω) + Gu,ω(0) = ω0(31)
with:
f(ω) = J−1S(ω)Jω,G=J−1
Recall f(ω) to be the onboard model of the spacecraft which is necessary for dynamic inversion. Also yin
represents the control variables which hold a physical interpretation required for dynamic inversion. We can
achieve this objective with NDI as follows. Recall the single integrator relation between the control torque
and the angular velocities. Hence, the NDI control command is obtained as:
u=G−1hνin −f(ω)i=Jnhνin −J−1
nS(ω)Jnωi(32)
From this controller the following is expected:
˙
yin =˙
ω=f(ω) + Gu (33)
=f(ω) + G G−1hνin −f(ω)i!(34)
=νin (35)
However, since in reality uncertainties are present, the system in Eq. (31) can be modeled as:
˙
ω=f(ω) + ∆f(ω) + hG+ ∆Giu(36)
where ∆Gmay also capture control input uncertainty besides parametric uncertainty, and application of
the linearizing control results in:
˙
yin =˙
ω=f(ω) + ∆f(ω) + hG+ ∆GihG−1[νin −f(ω)] i(37)
= ∆f(ω) + νin + ∆GG−1νin −∆GG−1f(ω) (38)
=h∆f(ω)−∆GG−1f(ω)i+hI + ∆GG−1iνin (39)
Clearly the new system is not necessarily a linear system anymore because of the presence of uncertainties.
To overcome this situation INDI-control is now proposed. This method involves the use of (direct or
estimated) angular acceleration and actuator output measurements to reduce the dependency on the onboard
model of the spacecraft. The INDI control command is obtained as:
u=u0+δu(40)
Note that the existing u0that corresponds to ˙
ω0is considered in this case to be obtained from the actuator
output measurements. The total control command (40) is hence obtained incrementally with the linearizing
incremental δuwhich can be obtained by dynamic inversion as:
δu=G−1νin −˙
ω0=Jnνin −˙
ω0(41)
9 of 20
American Institute of Aeronautics and Astronautics
In this case, since the on-board model is replaced by angular acceleration measurements, the are only
parametric uncertainties and the system in Eq. (31) can be modeled as:
˙
ω=˙
ω0+hG+ ∆Giδu(42)
The internal unknown dynamics and model uncertainties are captured by the angular acceleration measure-
ments, then the application of the linearizing control results in:
˙
yin =˙
ω=˙
ω0+hG+ ∆GihG−1(νin −˙
ω0)i(43)
=νin + ∆GG−1νin −∆GG−1˙
ω0(44)
=−∆GG−1˙
ω0+hI + ∆GG−1iνin (45)
and using the notation C= ∆GG−1:
˙
ω=−C˙
ω0+hI + Ciνin (46)
which is a relation affine in the virtual control.
Using INDI for spacecraft attitude control only requires knowledge on inertia parameters since model and
parametric uncertainty are captured by angular acceleration measurements or estimations. The resulting
performance of these type of controllers is hence expected to be strongly dependent on the accuracy of these
measurements.
Finally, in the nominal sense and for tuning and gain design purposes, the system:
˙
yin =˙
ω=νin (47)
can be designed to behave accordingly as desired. Without loss of generality, we use a simple P(I)-control
structure for the virtual control law for the NDI as follows:
νin =Kpin ωe+Kiin Zωedt=Kpin (ωdes −ω) + Kiin Z(ωdes −ω)dt(48)
where ωdes is obtained from the outer loop, and denoted NDI/P(I) control. For INDI, only the proportional
gain is required as integral control action is implicit, hence denoted as INDI/P control.
To demonstrate the advantage of using INDI/P for rate control versus regular NDI/P(I) (or even linear
P(I)-control), consider now the angular velocity tracking of a rigid spacecraft with inertia matrix
Jn=
10 0 0
0 6.3 0
0 0 8.5
Kg ·m (49)
in presence of external disturbances (9), time-delay of 100 ms, and parametric uncertainties considered as
follows: ∆1represent a 10% decrease (20% increase) in the (off-) diagonal terms, ∆2represent a 10% decrease
(10% increase) in the (off-) diagonal terms, ∆3represent a 10% (10%) increase in the (off-) diagonal terms,
and ∆4represent a 20% (20%) increase in the (off-) diagonal terms. For fair comparisons, the controller
gains were obtained by minimizing the following quadratic performance index,
Jπ=
k=tf
X
k=0 3
X
i=1
kωei(k)k2+kui(k)k2!(50)
which penalizes the angular velocity error and the control effort.
The results of the simulations for PI-control, NDI/P, NDI/PI, and INDI/P, for the rate loop tracking of
a ramp smooth-command are presented in Figures 4,5,6, and 7, respectively. The results indicates that
PI-control is not suitable for the combined effects considered (and leads to higher costs), NDI/P-control leads
to steady state error, NDI/PI-control leads to higher costs and overshoot, and INDI/P rejects disturbances
well and is insensitive to parametric uncertainty (without increasing too much the cost, however leading to
chattering).
10 of 20
American Institute of Aeronautics and Astronautics
∆4
∆3
∆2
∆1
nomref
u3[N ·m]
time [s]
ω3[rad/s]
u2[N ·m]
time [s]
ω2[rad/s]
u1[N ·m]
time [s]
ω1[rad/s]
0 50 100 150
050 100 150
0 50 100 150
0 50 100 150
0 50 100 150
0 50 100 150
−0.01
0
0.01
−5×10−3
0
5×10−3
−0.01
0
0.01
0
0.035
−0.01
0
0.01
0
0.035
Figure 4. PI-control for rate (inner) control loop. Kp= 5.9, Ki= 0.26.
B. Attitude (outer) loop
The design objective of the attitude (outer) control loop is twofold. It generates the desired angular velocity
reference ωdes for the inner loop, and tracks a desired attitude reference σdes with σ(t). It should be clear
that this loop involves the rotational kinematics of the rigid body, for this, consider the control variables:
yout =σ(51)
and the derivation of this equation for NDI design results in the kinematics:
˙
yout =˙
σ=N(σ)ω,σ(0) = σ0(52)
where:
N(σ) = 1
2I3×3−S(σ) + σσ⊤−1
21 + σ⊤σI3×3(53)
and the S(·) denotes the 3 ×3 antisymmetric matrix as in (3).
Since this kinematic equation is a given geometrical representation, it does not involves the presence of
any uncertainty. Hence, NDI-control is sufficient and this command is obtained as:
ωdes =N(σ)−1hνouti(54)
and
νout =Kpout (σe) + Kiout Zσedt(55)
where σeis the Modified Rodrigues Parameter error. The complete attitude control diagram is presented in
Figure 8.
11 of 20
American Institute of Aeronautics and Astronautics
∆4
∆3
∆2
∆1
nomref
u3[N ·m]
time [s]
ω3[rad/s]
u2[N ·m]
time [s]
ω2[rad/s]
u1[N ·m]
time [s]
ω1[rad/s]
0 50 100 150
0 50 100 150
0 50 100 150
0 50 100 150
050 100 150
0 50 100 150
−0.01
0
0.01
−5×10−3
0
5×10−3
−0.01
0
0.01
0
0.035
−0.01
0
0.01
0
0.035
Figure 5. NDI P-control for rate (inner) loop. Kp= 0.6.
VI. Simulation
The theoretical results presented and the controllers derived are now demonstrated by a numerical simu-
lation performed in Matlab&Simulink. The simulation compares a complete attitude control using NDI/P
and INDI/P, Eqs. (32) and (40), for the rate control loop (using NDI/PI for the rate loop in combination
with the outer loop leads to instabilities), together with NDI/P(I) control for the outer loop. In this sense,
the controllers will be referred as NDI/P-P, NDI/PI-P (NDI/P for the inner loop plus NDI/PI for the outer
loop), and INDI/P-P respectively. The dynamic inversion controllers will be applied for the attitude tracking
of the Modified Rodrigues Parameters of a rigid spacecraft with inertia matrix (49). The effect of noise,
external disturbances, measurement time-delays, and model and parametric uncertainties will be considered
together for the controllers proposed as to an idea of the performance under these situations.
For this particular application, the reference attitude will be given by σcas a doublet rest-to-rest two-
axis re-orientation maneuver. The maneuver consist of an Eigen-axis rotation of θ=π/12 rad at t= 50 s.
Zero-mean Gaussian white-noise is added to the closed-loop system and considered with standard deviations
sdσ= 1 ×10−3for σ, and sdω= 1 ×10−6rad/s for ω. The attitude measurements are sampled at 1 Hz, and
the angular velocities at 100 Hz. The angular accelerations are estimated as:
˙
ω[k] = ω[k]−ω[k−1]
dt(56)
and filtered appropriately. Moreover, in practical applications model uncertainties and discrepancies exist;
the mass properties of the spacecraft may be uncertain or may change due to motion of onboard payload,
rotation of solar arrays, liquid sloshing, etc. In this paper however, the focus is given to constant but
uncertain inertia matrix. To this end, consider the inertia matrix represented by:
J=Jn+ ∆J(57)
12 of 20
American Institute of Aeronautics and Astronautics
∆4
∆3
∆2
∆1
nomref
u3[N ·m]
time [s]
ω3[rad/s]
u2[N ·m]
time [s]
ω2[rad/s]
u1[N ·m]
time [s]
ω1[rad/s]
0 50 100 150
0 50 100 150
0 50 100 150
0 50 100 150
050 100 150
0 50 100 150
−0.01
0
0.01
−5×10−3
0
5×10−3
−0.01
0
0.01
0
0.035
−0.01
0
0.01
0
0.035
Figure 6. NDI PI-control for rate (inner) loop. Kp= 0.53, Ki= 0.05.
where Jnand ∆Jare the nominal part and the uncertain part of J, respectively.
The uncertain part of the inertia matrix will be modeled as:
∆J=
∆1∆4∆5
∆4∆2∆6
∆5∆6∆3
=
0.2J11 0.2J11 0.2J22
0.2J11 0.2J22 0.2J33
0.2J22 0.2J33 0.2J33
(58)
The results of the simulation are shown in Figures 9,10,11,12, and 13. The solid green lines represent the
trajectories with NDI/P-P control, the dashed red lines represent the trajectories with NDI/PI-P control,
the dashed blue lines represent the trajectories with INDI/P-P control, and the dashed black lines represent
the reference for this particular maneuver. Figure 9depicts the nominal behavior of the Modified Rodrigues
Parameter vector, the angular velocities, and the associated control effort. Figure 10 depicts the behavior
in the presence of external disturbance modeled as in Eq. (9). Figure 11 depicts the behavior in the pres-
ence of a measurement time-delay of 100 ms. Figure 12 depicts the behavior in the presence of parametric
uncertainty modeled as in Eq. (58). Finally, Figure 12 combines all these situations together. Namely, the
presence of external disturbance, measurement time-delays, and parametric uncertainty.
Notice that:
(i) In the nominal sense, NDI/P-P and INDI/P-P performs identically as expected;
(ii) The presence of external disturbance is not fully rejected with NDI/P-P but with NDI/PI-P, at the
expense of a higher overshoot. However, INDI/P-P performs better at this task fully rejecting the
disturbance without compromising severely nominal performance;
(iii) Parametric uncertainty degrades nominal performance in general, but less so for the INDI/P-P control.
This is due to the feedback of angular accelerations which captures the mismatch with the model;
13 of 20
American Institute of Aeronautics and Astronautics
∆4
∆3
∆2
∆1
nomref
u3[N ·m]
time [s]
ω3[rad/s]
u2[N ·m]
time [s]
ω2[rad/s]
u1[N ·m]
time [s]
ω1[rad/s]
0 50 100 150
0 50 100 150
0 50 100 150
0 50 100 150
050 100 150
0 50 100 150
−0.01
0
0.01
−5×10−3
0
5×10−3
−0.01
0
0.01
0
0.035
−0.01
0
0.01
0
0.035
Figure 7. INDI P-control for rate (inner loop). Kp= 0.59.
+
-
+
-
+
-
Kout N−1Kin JnDyn. 1
sN1
s
Sensors and
Estimation
Guidance
ωref
ω0
ωeνin
˙
ω0
δu
u0
u˙
ω ω ˙
σσ
σ0
ω
σ
σref
actuators
attitude control (outer loop) with NDI
rate control (inner loop) with INDI
ucmd
Figure 8. Complete attitude control block diagram. The rate control (inner loop) is based on INDI with
P-control, whereas the attitude control (outer loop) is based on NDI with P(I)-control.
(iv) Combining the effect of external disturbance, measurement time-delays, and parametric uncertainty
demonstrates the full capabilities of INDI control. It is shown that INDI/P-P performs well under these
considerations, and the performance and trajectories are not so degraded as for the other controllers.
This demonstrates the robustness capabilities of such controllers.
VII. Conclusion
This paper presented an application of the Incremental Nonlinear Dynamic Inversion (INDI) control
methodology to the attitude tracking and disturbance rejection problem of rigid spacecraft in presence of
model and parametric uncertainties. As a modification of the NDI methodology, the INDI approach enhances
its robustness capabilities by reducing feedback control dependency on accurate knowledge of the system
14 of 20
American Institute of Aeronautics and Astronautics
dynamics. The use of incremental control action, which requires information of actuator output and angular
accelerations, make these sensor-based type of controllers efficient for external disturbance rejection and
robust in terms of handling uncertainties. Unlike NDI, this control design technique is implicit in the sense
that desired closed-loop dynamics do not reside in some explicit model to be followed but result when
the feedback loops are closed. Under the influence of external disturbances, time-delay, and parametric
uncertainty, it was shown that incremental nonlinear dynamic inversion performs better than regular NDI
and PI-control without compromising nominal performance and stability. However, in practice, INDI-based
control rely on accurate actuator output and angular acceleration measurements which may not be readily
available or which may contain noise, biases and delays, hence their effect need to be further studied.
References
1Slotine, J. J. and Li, W., Applied Nonlinear Control, Prentice Hall Inc, 1990.
2Isidori, A., Nonlinear Control Systems, Springer, 3rd ed., 1985.
3Nijmeijer, H. and van der Schaft, A., Nonlinear Dynamical Control Systems, Springer, 1990.
4Krener, A. J., “A Decomposition Theory for Differentiable Systems,” SIAM Journal on Control and Optimization,
Vol. 15, No. 5, 1977, pp. 813–829.
5Brockett, R. W., “Feedback Invariants for Nonlinear Systems,” IFAC Congress, Helsinki, 1978.
6da Costa, R. R., Chu, Q. P., and Mulder, J. A., “Reentry Flight Controller Design Using Nonlinear Dynamic Inversion,”
Journal of Spacecraft and Rockets, Vol. 40, 2003, pp. 64–71.
7Juliana, S., Re-entry Flight Clearance, PhD thesis, Delft University of Technology, Faculty of Aerospace Engineering,
2006.
8Looye, G., “Design of Robust Autopilot Control Laws with Nonlinear Dynamic Inversion,” Automatisierungstechnik ,
Vol. 49, No. 12, 2001, pp. 523–531.
9Looye, G. H., An Integrated Approach to Aircraft Modelling and Flight Control Law Design, PhD thesis, Delft University
of Technology, Faculty of Aerospace Engineering, 2008.
10Reiner, J., Balas, G. J., and Garrard, W. L., “Flight Control Design Using Robust Dynamic Inversion and Time-scale
Separation Automatica,” Automatica, Vol. 32, No. 11, 1996, pp. 1493–1504.
11Smith, P. R., “A Simplified Approach to Nonlinear Dynamic Inversion Based Flight Control,” AIAA Atmospheric Flight
Mechanics Conference, American Institute of Aeronautics and Astronautics, Inc. (AIAA-98-4461), 1998, pp. 762–770.
12Chu, Q. P., Advanced Flight Control, Lecture notes, Delft University of Technology, Faculty of Aerospace Engineering,
2010.
13Sieberling, 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.
14Smith, P. R. and Berry, A., “Flight Test Experience of a Nonlinear Dynamic Inversion Control Law on the VAAC Harrier,”
AIAA Atmospheric Flight Mechanics Conference , American Institute of Aeronautics and Astronautics, Inc. (AIAA-2000-3914),
2000, pp. 132–142.
15Bacon, B. J. and Ostroff, A. J., “Reconfigurable Flight Control using Nonlinear Dynamic Inversion with a Special
Accelerometer Implementation,” AIAA Guidance, Navigation, and Control Conference and Exhibit , American Institute of
Aeronautics and Astronautics, Inc. (AIAA-2000-4565), 2000.
16Bacon, B. J., Ostroff, A. J., and Joshi, S. M., “Nonlinear Dynamic Inversion Reconfigurable Controller utilizing a Fault-
tolerant Accelerometer Approach,” Tech. rep., NASA Langley Research Center, 2000.
17Bacon, 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, 2001, pp. 1373–1383.
18Phillips, W. F., Hailey, C. E., and Gebert, G. A., “Review of Attitude Representations Used for Aircraft Kinematics,”
Journal of Aircraft, Vol. 38, No. 4, 2001, pp. 718–737.
19Tsiotras, P., “Stabilization and Optimality Results for the Attitude Control Problem,” Journal of Guidance, Control
and Dynamics, Vol. 19, No. 4, 1996, pp. 772–779.
20Shuster, M. D., “A Survey of Attitude Representations,” The Journal of the Astronautical Sciences , Vol. 41, No. 4, 1993,
pp. 439–517.
21Wie, B., Space Vehicle Dynamics and Control, AIAA, 2nd ed., 1998.
22Wu, S., Radice, G., Gao, Y., and Sun, Z., “Quaternion-based Finite Time Control for Spacecraft Attitude Tracking,”
Acta Astronautica, Vol. 69, 2011, pp. 48–58.
23Bacon, B., Ostroff, A., and Joshi, S., “Reconfigurable NDI Controller using Inertial Sensor Failure Detection and Isola-
tion,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 37, No. 4, 2001, pp. 1373–1383.
24Wie, B., Bailey, D., and Heiberg, C., “Rapid Multitarget Acquisition and Pointing Control of Agile Spacecraft,” Journal
of Guidance, Control and Dynamics, Vol. 25, No. 1, 2002, pp. 96–104.
15 of 20
American Institute of Aeronautics and Astronautics
INDI/P-PNDI/PI-PNDI/P-P
reference
u3[N ·m]
time [s]
ω3[rad/s] σ3
u2[N ·m]
time [s]
ω2[rad/s] σ2
u1[N ·m]
time [s]
ω1[rad/s] σ1
0 100 200
0 100 200
0100 200
0100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
Figure 9. Comparison of the nominal attitude tracking of the Modified Rodrigues Parameters (σ), the angular
velocities (ω), and the control effort (u), respectively, for three different controllers: the NDI/P-P control, the
NDI/PI-P control, and the INDI/P-P control.
16 of 20
American Institute of Aeronautics and Astronautics
INDI/P-PNDI/PI-PNDI/P-P
reference
u3[N ·m]
time [s]
ω3[rad/s] σ3
u2[N ·m]
time [s]
ω2[rad/s] σ2
u1[N ·m]
time [s]
ω1[rad/s] σ1
0 100 200
0 100 200
0100 200
0100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
Figure 10. Comparison of the attitude tracking of the Modified Rodrigues Parameters (σ), the angular
velocities (ω), and the control effort (u), respectively, in the presence of external disturbance for three different
controllers: the NDI/P-P control, the NDI/PI-P control, and the INDI/P-P control.
17 of 20
American Institute of Aeronautics and Astronautics
INDI/P-PNDI/PI-PNDI/P-P
reference
u3[N ·m]
time [s]
ω3[rad/s] σ3
u2[N ·m]
time [s]
ω2[rad/s] σ2
u1[N ·m]
time [s]
ω1[rad/s] σ1
0 100 200
0 100 200
0100 200
0100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
Figure 11. Comparison of the attitude tracking of the Modified Rodrigues Parameters (σ), the angular
velocities (ω), and the control effort (u), respectively, in the presence of measurement time-delay of 100 ms
for three different controllers: the NDI/P-P control, the NDI/PI-P control, and the INDI/P-P control.
18 of 20
American Institute of Aeronautics and Astronautics
INDI/P-PNDI/PI-PNDI/P-P
reference
u3[N ·m]
time [s]
ω3[rad/s] σ3
u2[N ·m]
time [s]
ω2[rad/s] σ2
u1[N ·m]
time [s]
ω1[rad/s] σ1
0 100 200
0 100 200
0100 200
0100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
Figure 12. Comparison of the attitude tracking of the Modified Rodrigues Parameters (σ), the angular
velocities (ω), and the control effort (u), respectively, in the presence of parametric uncertainty for three
different controllers: the NDI/P-P control, the NDI/PI-P control, and the INDI/P-P control.
19 of 20
American Institute of Aeronautics and Astronautics
INDI/P-PNDI/PI-PNDI/P-P
reference
u3[N ·m]
time [s]
ω3[rad/s] σ3
u2[N ·m]
time [s]
ω2[rad/s] σ2
u1[N ·m]
time [s]
ω1[rad/s] σ1
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
0 100 200
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
−0.1
0
0.1
−0.04
0
0.04
−0.05
0
0.05
0.1
Figure 13. Comparison of the attitude tracking of the Modified Rodrigues Parameters (σ), the angular
velocities (ω), and the control effort (u), respectively, in the presence of external disturbance, measurement
time-delay of 100 ms, and parametric uncertainty for three different controllers: the NDI/P-P control, the
NDI/PI-P control, and the INDI/P-P control.
20 of 20
American Institute of Aeronautics and Astronautics