0% found this document useful (0 votes)
220 views

Advances in Aerospace Guidance, Navigation and Control: Editors

Uploaded by

zx l
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
220 views

Advances in Aerospace Guidance, Navigation and Control: Editors

Uploaded by

zx l
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 735

Bogusław Dołęga

Robert Głębocki
Damian Kordos
Marcin Żugaj
Editors
Advances
in Aerospace
Guidance,
Navigation
and Control
Selected Papers of the Fourth CEAS
Specialist Conference on Guidance,
Navigation and Control Held in Warsaw,
Poland, in April 2017
Advances in Aerospace Guidance, Navigation
and Control
Bogusław Dołęga Robert Głębocki

Damian Kordos Marcin Żugaj


Editors

Advances in Aerospace
Guidance, Navigation
and Control
Selected Papers of the Fourth CEAS Specialist
Conference on Guidance, Navigation
and Control Held in Warsaw, Poland,
in April 2017

123
Editors
Bogusław Dołęga Damian Kordos
Avionics and Control Systems Department Avionics and Control Systems Department
Rzeszów University of Technology Rzeszów University of Technology
Rzeszów Rzeszów
Poland Poland

Robert Głębocki Marcin Żugaj


The Institute of Aeronautics and Applied The Institute of Aeronautics and Applied
Mechanics Mechanics
Warsaw University of Technology Warsaw University of Technology
Warsaw Warsaw
Poland Poland

ISBN 978-3-319-65282-5 ISBN 978-3-319-65283-2 (eBook)


https://doi.org/10.1007/978-3-319-65283-2
Library of Congress Control Number: 2017949119

© Springer International Publishing AG 2018


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are exempt from
the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, express or implied, with respect to the material contained herein or
for any errors or omissions that may have been made. The publisher remains neutral with regard to
jurisdictional claims in published maps and institutional affiliations.

Printed on acid-free paper

This Springer imprint is published by Springer Nature


The registered company is Springer International Publishing AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

The 2017 CEAS (Council of European Aerospace Societies) Specialist Conference


on Guidance, Navigation and Control (CEAS EuroGNC) was organized together by
Warsaw University of Technology (WUT), the largest technical university in Poland
and the Rzeszów University of Technology University of Technology (RzUT), an
important centre in aviation. The EuroGNC Conference was held on 25–27 April
2017. It was chaired by Robert Głębocki, from the Faculty of Power and
Aeronautical Engineering (WUT), Faculty which has a long history in aerospace
engineering and providing important contribution to the aviation development in
Poland. The EuroGNC Conference was co-chaired by the Bogusław Dołęga, On
behalf of the RzUT, from faculty of Mechanical Engineering and Aeronautics
(RzUT), faculty which achieved the status of an Advanced Technology Centre
within the AERONET Aviation Valley. The International Program Committee, that
gathered over 40 finest scientists and researchers form all over the world, put an
effort and commitment leading the preparation of the Conference to the success.
The CEAS EuroGNC 2017 Conference aims to promote scientific and technical
excellence in the fields of Guidance, Navigation and Control (GNC) in aerospace
and other fields of technology. The Conference joins together the industry with the
academia research. It creates an opportunity for better understanding the incoming
challenges in the development of novel GNC methods, applications and tech-
nologies. Submitted papers were carefully reviewed, and the best 40 were selected
to be published in this monograph. The book covers four main topics: Guidance and
Control, Control Theory Application, Navigation, UAV Control and Dynamic. The
papers included focus on the most advanced and actual topics in guidance, navi-
gation and control research areas.
In aviation, the mission diversity constantly changes that consequently extorts
new problems in terms of control and dynamics. As an alternative to satellites, the
High Altitude Long Endurance (HALE) aircraft needs to cope with set of specific
problems. A new flight path control laws for a multi-body aircraft was implemented
to perform a one-year mission. A new design method and structure for the inner-loop
was applied; the H∞ loop shaping in the frequency domain was successfully used.

v
vi Preface

Development of optimization and control laws design methods resulted in a new


workflow for the clearance of flight control laws with continuous control or dis-
turbance inputs using Optimal Control Theory and Post-optimal Sensitivity
Analysis.
The sensors integration and the data fusion is still a challenge in navigation. The
optimal performance of the conventional Kalman filters is deteriorated if there is
uncertainty in the process and measurement noise covariance. To reduce this effect,
a Fuzzy Adaptive Iterated Extended Kalman Filter (FAIEKF) and Fuzzy Adaptive
Unscented Kalman Filter (FAUKF) were developed to overcome this issue.
The UAV domain is growing extremely fast, and many challenges that already
solved in aviation become still a challenge due to the complexity and variety of the
platforms. The increasing availability and affordability of the UAVs platforms
allowed to perform a new set of various missions that demand new control laws,
techniques and have to cope with different navigation problems. One of the
emerging challenges is to manage number of UAVs performing common mission in
an efficient and safe manner. The modified sequential greedy algorithm was pro-
posed to enhance the efficiency of task allocation for cooperative parcel delivery
problem of multiple unmanned aerial vehicles (UAVs). The other significant UAV
aspect is safety which has an important role in aviation in general. Generally, UAVs
have not reached sufficient level of integrity to be implemented in the civil airspace.
The reconfigurable method for UAV platform was developed to obtain perfor-
mances of a damaged aircraft as close as possible to an undamaged one using
advanced algorithms.
The CAES EuroGNC 2017 Conference would not be a success if not a strong
support of many people. On behalf of National Organizing Committee, we would
like to thank to all contributors to the conference, especially to the Warsaw
University of Technology, Faculty of Power and Aeronautical Engineering, the
Institute of Aeronautics and Applied Mechanics, International Committee,
American Institute of Aeronautics and Astronautics (AIAA), and to the all
reviewers of technical papers.
We hope that this book will help the reader to understand the most advanced and
emerging challenges in Guidance, Navigation and Control domain.

Warsaw, Poland Robert Głębocki


April 2017 Bogusław Dołęga
About the Book

For the 4th CEAS Specialist Conference on Guidance, Navigation and Control, the
International Technical Committee established a formal review process. Each paper
was reviewed in compliance with good journal practices by independent and
anonymous reviewers. At the end of the review process, papers were selected for
publication in this book.
The members of the International Technical Committee are:
Daniel Alazard ISAE, France
Mark Balas University of Wyoming, USA
Samir Bennani ESA/ESTEC, The Netherlands
Daniel Choukroun Ben-Gurion University of the Negev, Israel
John Crassidis University at Buffalo, USA
François Defay ONERA, France
Jörg Dittrich DLR, Germany
Bogusław Dołęga Rzeszów University of Technology, Poland
Chris Edwards University of Leicester, UK
Alexej Efremov Moscow Aviation Institute, Russia
Pierre Fabre Airbus, France
Patrick Fabiani ONERA, France
Walter Fichter Universität Stuttgart, Germany
Chris Fielding BAE Systems, UK
Benoit Frapard EADS Astrium, France
Robert Głębocki Warsaw University of Technology, Poland
Luisella Giulicchi ESA/ESTEC, The Netherlands
Martin Hagström Swedish Defense Research Agency, Sweden
Florian Holzapfel Technische Universität München, Germany
Eric Johnson Georgia Institute of Technology, USA
Erik-Jan van Kampen TU Delft, The Netherlands
Karl-Heinz Kienitz ITA, Brasil
Youdan Kim Seoul National University, South Korea
Philipp Kraemer Eurocopter, Germany

vii
viii About the Book

Gertjan Looye DLR, Germany


Marco Lovera Politecnico di Milano, Italy
Mark Lowenberg Bristol University, UK
Robert Luckner Berlin Technical University, Germany
Felix Mora-Camino ENAC, France
Bob Mulder TU Delft, The Netherlands
Janusz Narkiewicz Warsaw University of Technology, Poland
Guillermo Ortega ESA, The Netherlands
Henry de Plinval ONERA, France
Charles Pussot-Vassal ONERA, France
Arthur Richards Bristol University, UK
Stephan Theil DLR, Germany
Frank Thielecke TU Hamburg, Germany
Andrzej Tomczyk Rzeszów University of Technology, Poland
C.C.deVisser TU Delft, The Netherlands
Ali Zolghadri IMS Bordeaux, France
Contents

Part I Guidance and Control


Reconfiguration Control Method for Faulty Actuator on UAV . . . . . . . 3
Adèle Boche, Henry De Plinval and Jean-Loup Farges
Flight Control Law Testing Using Optimal Control and Postoptimal
Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Johannes Diepolder, Saurabh Saboo, Venkata Sravan Akkinapalli,
Stefan Raab, Jiannan Zhang, Pranav Bhardwaj, Michael Krenmayr,
Benedikt Grüter and Florian Holzapfel
An Unusual Structure for a Feedforward Gust Load Alleviation
Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Nicolas Fezans
Aspects of a Consistent Modeling Environment for DO-331 Design
Model Development of Flight Control Algorithms . . . . . . . . . . . . . . . . . 69
Markus Hochstrasser, Simon P. Schatz, Kajetan Nürnberger,
Markus Hornauer, Stephan Myschik and Florian Holzapfel
Robust Incremental Nonlinear Dynamic Inversion Controller of
Hexapod Flight Simulator Motion System . . . . . . . . . . . . . . . . . . . . . . . 87
Yingzhi Huang, D.M. Pool, O. Stroosma and Qiping Chu
Limit Cycle Oscillation Amplitude Tailorng Based on Describing
Functions and l Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Andrea Iannelli, Andrés Marcos and Mark Lowenberg

ix
x Contents

Development of an Automatic Flight Path Controller for a DA42


General Aviation Aircraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Erik Karlsson, Simon P. Schatz, Thaddäus Baier, Christoph Dörhöfer,
Agnes Gabrys, Markus Hochstrasser, Christoph Krause, Patrick J. Lauffs,
Nils C. Mumm, Kajetan Nürnberger, Lars Peter, Volker Schneider,
Philip Spiegel, Lukas Steinert, Alexander W. Zollitsch
and Florian Holzapfel
Active Control Objective Prioritization for High-Bandwidth
Automatic Flight Path Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Erik Karlsson, Thaddäus Baier, Christoph Dörhöfer, Agnes Gabrys,
Markus Hochstrasser, Christoph Krause, Patrick J. Lauffs, Nils C. Mumm,
Kajetan Nürnberger, Lars Peter, Simon P. Schatz, Volker Schneider,
Philip Spiegel, Lukas Steinert, Alexander W. Zollitsch
and Florian Holzapfel
Nonlinear Modular 3D Trajectory Control of a General Aviation
Aircraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Simon P. Schatz and Florian Holzapfel
Modular Trajectory Generation Test Platform for
Real Flight Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Volker Schneider and Florian Holzapfel
nxControl: Ground Mode for Manual Flight Control Laws with
Longitudinal Load Factor Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
K. Schreiter, S. Müller, R. Luckner and D. Manzey
Helicopter Pilot Model for Pitch Attitude Tracking Task . . . . . . . . . . . . 225
Milan Vrdoljak, Franz Viertler, Manfred Hajek and Matthias Heller
UAV Control System Reconfiguration Under Physical Constrains . . . . . 241
Marcin Żugaj

Part II Estimation and Navigation


Identification of a Cessna Citation II Model Based on
Flight Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
M.A. van den Hoek, C.C. de Visser and D.M. Pool
Characterising Angular Accelerometer Calibration Setup Disturbance
Using Box–Jenkins Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
D. Jatiningrum, C.C. de Visser, M.M. van Paassen, E. van Kampen
and M. Mulder
Improved Hybrid Navigation for Space Transportation . . . . . . . . . . . . . 295
Guilherme F. Trigo and Stephan Theil
Contents xi

Multi Sensor Fusion Based on Adaptive Kalman Filtering . . . . . . . . . . . 317


Setareh Yazdkhasti and Jurek Z. Sasiadek
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients
and Fuzzy Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Y. Zhang, C.C. de Visser, Q.P. Chu and E.J. van Kampen

Part III Atmospheric Applications


Ground Effect Analysis for a Quadrotor Platform . . . . . . . . . . . . . . . . . 351
Davide Del Cont Bernard, Mattia Giurato, Fabio Riccardi
and Marco Lovera
Nonlinear Model Predictive Flight Path Control for an Unmanned
Powered Paraglider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Fabian Binz, Philipp Hartmann and Dieter Moormann
Multiple-Phase Trajectory Optimization for Formation Flight
in Civil Aviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Sander Hartjes, Marco E.G. van Hellenberg Hubar
and Hendrikus G. Visser
Optimal Scheduling Algorithm for Air Traffic Point Merge System
Using MILP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Youkyung Hong, Somang Lee, Keumjin Lee and Youdan Kim
Flight Path Control for a Multi-body HALE Aircraft . . . . . . . . . . . . . . 421
Alexander Köthe and Robert Luckner
Task Allocation of Multiple UAVs for Cooperative
Parcel Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Gyeongtaek Oh, Youdan Kim, Jaemyung Ahn and Han-Lim Choi
Circumnavigation with Side-Bearing Angle . . . . . . . . . . . . . . . . . . . . . . 455
Sanghyuk Park
Mission Control Concept for Parcel Delivery Operations Based
on a Tiltwing Aircraft System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
M. Schütt, P. Hartmann, J. Holsten and D. Moormann

Part IV Space Applications


Attainable Landing Area Computation of a Lunar Lander with
Uncertainty by Reachability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Yunus Emre Arslantas and Stephan Theil
Analysis of Optimization Strategies for Solving Space Manoeuvre
Vehicle Trajectory Optimization Problem . . . . . . . . . . . . . . . . . . . . . . . 515
Runqi Chai, Al Savvaris and Antonios Tsourdos
xii Contents

A Space-Borne GNSS Receiver for Evaluation of the LEO Navigation


Based on Real-Time Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Hung-Yuan Chang, Wen-Lung Chiang and Kuo-Liang Wu
Trajectory Shaping Guidance Law Based on Downrange-to-Go
Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Namhoon Cho, Youdan Kim, Hyo-Sang Shin and Antonios Tsourdos
MIMO Attitude Control for a Spinning Rocket . . . . . . . . . . . . . . . . . . . 571
W.C. Leite Filho, J. Guimaraes and L. Galembeck
Comparison of Multiple Spacecraft Configuration Designs for
Coordinated Flight Missions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Federico Fumenti and Stephan Theil
Generalized Image Navigation and Registration Method Based on
Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Ahmed A. Kamel, Handol Kim, Dochul Yang, Chulmin Park and Jin Woo
Exoatmospheric DACS Type Missile Controller Based on Sliding
Mode Control Considering the Seeker’s Field-of-View Limit . . . . . . . . . 631
Jaeho Lee and Youdan Kim
Mechanical/Control Integrated Design of a Flexible Planar Rotatory
Spacecraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
J.A. Perez, D. Alazard, T. Loquen and C. Pittet
SPARTAN: A Novel Pseudospectral Algorithm for Entry, Descent,
and Landing Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Marco Sagliano, Stephan Theil, Vincenzo D’Onofrio and Michiel Bergsma
Maximum Null Motion Algorithm for Single Gimbal Control Moment
Gyroscopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
S.A.V. Schallig, Q.P. Chu, S.W. Rhee and E. van Kampen
Immersion and Invariance Adaptive Backstepping Spacecraft
Attitude Control with Modified Rodrigues Parameters . . . . . . . . . . . . . 709
Guilherme F. Trigo and Qi-Ping Chu
Terrain Relative Navigation for Planetary Landing Using Stereo
Vision Measurements Obtained from Hazard Mapping . . . . . . . . . . . . . 731
Svenja Woicke and Erwin Mooij
Part I
Guidance and Control
Reconfiguration Control Method for Faulty
Actuator on UAV

Adèle Boche, Henry De Plinval and Jean-Loup Farges

1 Introduction

Unmanned Aerial Vehicles (UAVs) are used in many areas, notably one can mention
search and rescue operations or photography. As a result, the number of UAVs has
dramatically increased with slower safety improvements, leading to a net growth
of the number of incidents. Consequently, the safety of UAVs is more and more
important. Studies have identified the hazards that can impact on the flight safety.
On the one hand, the faults that can arise in flight have been considered in several
works [8], and on the other hand, the impacts of operating risks on UAVs have also
been studied [3]. These studies indicate that UAVs resiliency and their capability to
be reconfigured in face of hazards shall be developed.
Many control systems are subject to component failure. Thus, several works focus
on reconfiguring systems to improve their safety. There are two types of reconfigu-
ration methods, the passive one and the active one. In the case of passive reconfig-
uration, the system is made robust against faults without an explicit detection and
identification of those faults [2]. Active reconfiguration consists in detecting and
identifying faults, and then changing consequently the control. For large aircraft,
hardware redundancy ensures safety, for instance by tripling key components. The
analytical redundancy seems to be more adapted for UAVs because of the cost, price,
mass, and consumption of component triplication. Analytical redundancy uses sig-
nals generated from a mathematical model. In the last decades, many works have been

A. Boche (B) · H. De Plinval · J.-L. Farges


ONERA - The French Aerospace Lab, 2 Avenue Edouard Belin, 31000 Toulouse, France
e-mail: Adele.Boche@onera.fr
H. De Plinval
e-mail: Henry.de_Plinval@onera.fr
J.-L. Farges
e-mail: Jean-Loup.Farges@onera.fr

© Springer International Publishing AG 2018 3


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_1
4 A. Boche et al.

done on this subject [4, 7, 9]. Recently, an active control reconfiguration framework,
based on continuous and discrete models of faults, has been proposed [1].
The purpose of the work presented here is to investigate the applicability of
this reconfiguration framework to UAVs fault tolerance problems. This investiga-
tion begins with the use of the framework for the simplified longitudinal dynamics
of Altimum 4 model in a landing scenario. This article is organized as follow. In
Sect. 2, the problem is described and an overview of the reconfiguration framework
is provided. Then, in Sect. 3, the system is modelled following the continuous and
discrete framework, and the controllers used are developed. In Sect. 4, the reconfig-
uration method is adapted in order to take into account specificities of the problem.
Finally, Sect. 5 shows simulation results for actuator faults.

2 Objective

2.1 Problem

In this article, the hazards considered are the faults of an actuator. The locking and
the loss of effectiveness case are studied. In order to consider a dramatic case of
failure, the scenario is based on UAV autopilot landing procedure.
The UAV used here is an Altimum 4 built by the company “L’Avion Jaune” and
adapted by ONERA for research purposes. It is a fixed-wing UAV with back thermal
engine. This UAV has the design of a flying wing of 4 m wingspan, as shown in Fig. 1.
The pitch and roll of the UAV are controlled using a set of elevons which have the
function of either elevators or ailerons.
The Altimum 4 behaviour in flight has been modelled [5]. Based on this model,
it is assumed that the longitudinal and the vertical models can be decoupled.
The problem addressed is then to control the longitudinal motion of the UAV to
continue to follow the landing glide slope despite the possible fault of the actuator.

Fig. 1 The Altimum 4


Reconfiguration Control Method for Faulty Actuator on UAV 5

2.2 Overview of the Framework

The control reconfiguration framework considers a coupling between a continuous


model and a discrete model.

2.2.1 Continuous Model

Several aspects of the system behaviour and its controllers are represented by con-
tinuous dynamics. The continuous model includes:
• A continuous state equation which includes the traditional states together with
several fault parameters.
• A set of controllers designed for nominal and faulty modes. The framework con-
siders only single faults, a nominal mode and a mode for each fault and a controller
designed for each mode.
• An indicator of performance which is calculated from the error between a reference
trajectory and the actual one.
• An estimation scheme based on the continuous state equation.

2.2.2 Discrete State Model

Some aspects of the system and controller behaviour are modelled with discrete state
dynamics. The discrete state model includes:
• System modes -nominal, locking, loss of effectiveness-.
• Transition probabilities between these modes.
• A decision making framework to chose the best suitable controller for the contin-
uous model.
• A reward associated to each couple -mode, controller-, which is computed from
the indicator of performance of the continuous model.
• Constraints on fault parameters for each mode.
This discrete model is formally a specific case of a non stationary Partially
Observable Markov Decision Process (POMDP) [1]. It is defined by the 7-tuple
{E, S, A, T, R, Ω, O} with:
• E = {0, 1, ..., N } is a set of time steps.
• S = M × K is the set of states, with M the set of modes and K the set of controllers.
Note that |M| = |K | because one controller is developed for each mode. A state
is defined by the current mode m i and the current controller k j ; si, j = (m i , k j ).
• A is the set of actions. Note that |A| = |K | because an action is the choice of the
controller for next time step.
• T = S × A × S → [0, 1] = TM .TK where TM : M × M → [0; 1] is a set of con-
ditional transition probabilities between modes, and TK : A × K → {0, 1} indi-
cates the deterministic selection of a controller by an action.
6 A. Boche et al.

• R : S × A × E → R is the time dependant cost function,


• Ω = {ω} is the observation, and
• O : M × Ω → [0; 1] is a set of conditional observation probabilities.

2.3 Overview of the Reconfiguration Method

The proposed reconfiguration method can be described with its off-line and on-line
parts. Off-line, once the modes defined, one computes associated controllers, aimed
at maximizing the performance indicator. Then, for each couple -mode, controller-,
the expected performance indicator is computed. On-line, the reconfiguration method
performs at each sampling period the following steps:
1. Use of the selected controller to control the system,
2. Estimation of state and fault parameters using the continuous state equation,
3. Update of mode probabilities from estimated fault parameters,
4. Decision making step to select the controller minimizing the future expected cost.

3 Modelling of the Problem

3.1 Modelling of the Continuous Behaviour

The UAV longitudinal model linearised for a typical landing, with a given air speed
and a given slope can be described as:

ẋ(t) = Ac x(t) + Bc e(t) + w(t)


z(t) = x(t) + v(t) (1)
 T  
where x = u w q x z θ , e = δx δl δr , w correspond to modelling errors, and v
correspond to the measurement noise. The states are: horizontal velocity u, vertical
velocity w, pitch rate q, horizontal position x, vertical position z and pitch angle θ ;
the control inputs are: thrust command δx , left elevator command δl and right elevator
command δr ; the outputs correspond to the states.
Physically, asymmetric control of δl and δr induces a roll motion in the lateral
model. It is assumed that this induction is compensated by the action of the lateral
controller on left and right ailerons.
The system is linearised, thus the inputs, the states and the outputs are the differ-
ences between the actual state and the trim state. Figure 2 depicts the general structure
of the system with possible actuator faults in the discrete domain.
In the Fig. 2, k is the time index, uk ∈ Rl is the desired control input, ek ∈ Rl is
the effective control, xk ∈ Rn is the system state, yk ∈ Rm corresponds to the system
Reconfiguration Control Method for Faulty Actuator on UAV 7

wxk vk

uk ek + 1
xk + zk
F1 B +
+ z
+

Fig. 2 Discrete time model of the continuous state dynamics with possible actuator faults

ith control signal F1 (ui ) = System


k linearized
ui bi0k + (1 − bi1k )uik − bi1k ui0 eik
k arround ui0

Fig. 3 Modelling of the ith actuator faults for a trimmed system

outputs, zk ∈ Rm corresponds to the measurement, wkx is a zero-mean white Gaussian


noise sequence with covariance Q kx representing the modelling errors, vk is a zero-
mean white Gaussian measurement noise sequence with covariance Rk , A and B are
known matrices, and F1 is a function which models the actuator faults.
The function F1 is different from the one of the original framework. Indeed, the
model of the system used here is linearised. Thus, considering U i (t) the ith desired
input for the non linear model and E i (t) the ith effective input for the non linear
model, the function F1 of the original framework is applicable to E i (t) and U i (t)
and ei (t) and u i (t) are delta:

E i (t) = b0 i (t) + (1 − b1 i (t))U i (t)


u i (t) = U i (t) − u i0
ei (t) = E i (t) − e0i (2)

where u i0 and e0i are respectively the trim desired and effective inputs.
Because the system is linearised for a trim without fault, e0i = u i0 . And thus, the
function F1 is as follows:

eki = F1 (u ik ) = b0k
i
+ (1 − b1k
i
)u ik − b1k
i
u i0 (3)

Because, the inputs are the differences between actual inputs and trim inputs, the
function linking the effective control to the desired control presents an additional
term, −b1k i
u i0 , with respect to the same function for a genuine linear system. Phys-
ically, this additional term corresponds to the fact that the aircraft is trimmed for a
non faulty state. The fault model is presented in its context on Fig. 3.
The output ek corresponds to the delta physical motion performed by the actuator,
that is limited in its amplitude. ek , and uk are bounded in [−u − u0 , u − u0 ], where
u is the maximum value for the absolute value of the actual input.
8 A. Boche et al.

Starting from Fig. 2 and the modelling of F1 (3), the discretised equations of the
continuous system are:

xk+1 = Axk + Buk + Bb0k + D(uk )b1k + wkx


zk = x k + v k (4)
⎡ ⎤
−u 1k − u 10 · · · 0
⎢ .. .. .. ⎥
with D(uk ) = B ⎣ . . . ⎦
0 ... −u lk − u l0

The values of the parameters b0 and b1 change in the case of faults. From the esti-
mation viewpoint, these values and their behaviour are unknown. In the continuous
part of the model their behaviours are supposed to be random walks:

b0k+1 = b0k + wbk 0


b1k+1 = b1k + wbk 1 . (5)

3.2 Modes and Controllers

There is one controller k for each mode m. Each controller sends different control
signal, uk , for the effective control ek to be like:

ek = −K

xk (6)

Because xk is not available, the state estimate

xk is used in the control law.


The controller for faulty mode should be adaptive, based on the estimation of the
fault parameters b
0k and b
1k . Without fault, an adaptive controller is not required
because b0 and b1 are null. Besides, b
0 and b
1 are noisy because they are estimates.
So, in the nominal mode, a controller not taking into account the estimated parameters
seem to be more suited than an adaptive controller which is sensitive to noise.

3.2.1 Linear Quadratic Regulator for Nominal Mode

The gain K is calculated using the Linear Quadratic Regulator (LQR) method [6].
This method permits to take explicitly the performance objective into account.
For a discrete linear system, with a performance index defined as J0∞ , with:

k =k 

Jkk = (xk  T Q L Q xk  + uk  T R L Q uk  ) (7)
k  =k
Reconfiguration Control Method for Faulty Actuator on UAV 9

the optimal control feedback minimizing the performance index is given by:

uk = −K xk
K = (R L Q + B T P B)−1 (B T P A) (8)

where P is the unique positive definite solution to the discrete time algebraic Riccati
equation P = A T P A − (A T P B)(R L Q + B T P B)−1 (B T P A) + Q L Q .
In the nominal case, ek = uk and so the nominal controller is the following:

uk = −K

xk . (9)

3.2.2 Controllers for Faulty Modes

The definition of the faults to be considered is a part of the modelling. In the


original framework, two faults of the jth actuator are considered separately; lock-
ing when b0 j ∈ [−u, u] and b1 j = 1 and loss of effectiveness when b0 j = 0 and
b1 j ∈]0, 1], and two different controllers are developed. However with the fault
model for trimmed aircraft of Eq. 3, the loss of effectiveness case have a common
feature with the blocking case: a non controlled term to be compensated. For this
reason, the framework is adapted in order to consider a single fault corresponding to
b0 j = 0 or b1 j = 0. The controller for faulty mode is designed as follows.
By definition, in the faulty case, one actuator, e.g. the jth one, has the following
j j
form: δ + (1 − γ )u k − γ u 0 , while the others are in nominal mode, i.e.:

∀i = j i
b0k =0 i
b1k =0 (10)

and, j j j j
b0 k = δ ∈ [−u, u] b1 k = γ ∈ [0, 1] b0 k = 0 ∨ b1 k = 0 (11)
T
Thus, ek = u 1k · · · u kj−1 δ + (1 − γ )u kj − γ u 0j u kj+1 · · · u lk .
To be able to compensate for the faulty actuator, it is assumed that the action of this
actuator is a linear combination of the actions of other actuators, i.e. the jth
column of
B is a linear combination of the other columns of this matrix, i.e. B. j = i= j λi B.i ,
with B = [B.1 · · · B.i · · · B.l ].
On the one hand, having the same feedback than in absence of fault implies:

Bek = −B K
xk = − B.i K i.

xk − B. j K j.

xk (12)
i= j

=− B.i (K i. + λi K j. )

xk (13)
i= j

with K T = [K 1.T · · · K i.T · · · K l.T ].


10 A. Boche et al.

On the other hand, the control implies:


j j
Bek = (B.i u ik ) + B. j δ + B. j (1 − γ )u k − B. j γ u 0
i= j
j j
= B.i (u ik + λi δ − λi γ u 0 ) + B. j (1 − γ )u k (14)
i= j
j j j
= B.i (u ik + λi δ − λi γ u 0 − λi γ u k ) + B. j u k (15)
i= j
j j
= B.i (u ik + λi δ − λi γ u 0 + λi (1 − γ )u k ) (16)
i= j

There are many possibilities for identifying terms related to the feedback with
terms related to the control.
Identifying the terms in B.i and in B. j in Eqs. 12 and 15 gives:
⎡ j⎤
−(K 1. + λ1 γ K j. )
x k − λ1 δ + λ1 γ u 0
⎢ .. ⎥
⎢ . ⎥
⎢ ⎥

uk = ⎢ −K j.
xk ⎥ (17)

⎢ .. ⎥
⎣ . ⎦
j
−(K l. + λl γ K j. )
xk − λl δ + λl γ u 0

With this controller, even if the jth actuator is locked, a signal is still send. Thus,
if the actuator recover its performance, the estimator is able to detect it.
In the original framework, two different controllers are defined for locking and
loss of effectiveness. For locking, the controller is obtained by assuming γ = 1 and
j
by identifying the terms in B.i in Eqs. 13 and 16. There is no term in B. j thus u k is
arbitrary set to δ. For loss of effectiveness, the controller is obtained by assuming
δ = 0 and by identifying the terms in B.i and B. j in Eqs. 12 and 14.

3.3 Discrete Modelling

3.3.1 Time Step

In the original framework, the discrete time model of the continuous state dynamic
and the model of the discrete state dynamic have a common time step. The application
of the framework to UAVs indicates that the discretisation of Eq. 1 makes sense only
considering a sample time that is too small when compared to the time need for
performing the computations of step 4 in Sect. 2.3. For this reason, the time step of
the steps 3 and 4 is a multiple of the time step of steps 1 and 2. The ratio between
sampling times is an integer greater or equal to one, noted µ.
Reconfiguration Control Method for Faulty Actuator on UAV 11

Difference between the Faulty controller and


Cost for Locking case the Locking controller
200 0.5
Faulty controller
Locking Controller
0.4
150
0.3
Cost

100 0.2

0.1
50
0

0 -0.1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time t (s) Time t (s)

Difference between the Faulty controller and


Cost for Reduced case the Reduced controller
60 0.3
Faulty controller

50
Loss of effectiveness Controller
0.2

0.1
40
0
Cost

30
-0.1
20
-0.2
10 -0.3
0 -0.4
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time t (s) Time t (s)

Fig. 4 Performance Jk1000 of controllers: in the upper part, comparison in the locking case between
the controller taking into account both faults and the controller taking into account only locking; in
the lower part, comparison in loss of effectiveness case between the controller taking into account
both faults and the controller taking into account only loss of effectiveness

3.3.2 States, Actions and Transition Probabilities

For the first study, it is assumed that only one actuator can be faulty. The landing
trajectory for an airspeed of 20 m/s and a slope of −3◦ , is considered for 100 seconds
with a sampling time of 0.1 seconds. The average of the cost Jk1000 is computed by
performing 100 × 9 runs respectively for different values for noise sequences and
for variation of b0 or b1 . As shown in Fig. 4, results indicate that a single controller
taking into account the values of b0 j and b1 j together presents the same performance
than the controller considering only b0 j in case of locking and the same performance
that the controller considering only b1 j in case of loss of effectiveness.
Thus, only two modes are considered, the nominal mode m 0 and the faulty mode
m 1 , and two controllers are developed, k0 and k1 .
S has four states -two modes and two controllers- and A has two actions a0 ,
respectively a1 , which select the controller k0 , respectively k1 .
The conditional transition probabilities between modes are stationary and as
shown in Fig. 5.
12 A. Boche et al.

Fig. 5 Directed probabilistic p(m1 |m0 )


graph; m 0 the nominal mode, p(m0 |m0 ) p(m1 |m1 )
m 1 the faulty mode m0 m1
p(m0 |m1 )

The corresponding TM is:


 
p(m 0 |m 0 ) p(m 0 |m 1 )
TM = . (18)
p(m 1 |m 0 ) p(m 1 |m 1 )

3.3.3 Cost Function

In this article, the costs are calculated numerically with the state, i.e. the error between
the actual state and the trim. Penalties are added to avoid controller switching without
reason and add a conservatism reward. The cost function is as follows:

Rn ({m, k}, a) = E /xn.μ Inn + Pn (k, a) (19)

where
 
n .μ
Inn = Jn.μ

n = min{n + 1, N } (20)

where E /xn.μ indicates the expectation with respect to the continuous state.
For the nominal mode, the expectation is computed by performing 100 runs with
different values for noise sequences and averaging the cost values. For non nominal
mode, the 100 runs are repeated 18 times, varying the fault parameter. The average
is then computed considering the 9 × 100 runs for variation of b0 and 9 × 100 runs
for variation of b1 . Figure 6 shows the evolution of the cost E /xn.μ (InN ).
For the nominal case shown in the upper part of Fig. 6; the controllers k0 and k1
are very close. Indeed, b0 and b1 are null, thus k1 controls a fault close to zero, which
leads to a controller similar to k0 . The difference comes from the noise. Nevertheless
the performance of k0 is slightly better than the performance of k1 . For the faulty
case, in the lower part of Fig. 6; the controller k1 has better performance all along
the horizon since the faulty actuator is compensated by the other actuator.
Arbitrary penalties, P(k0 , a1 ) = 1 and P(k1 , a0 ) = 1, are added in order to avoid
changes of controller at the end of the simulation. Indeed, in Fig. 6, it is shown
that costs in nominal mode are similars. For more detailed models those penalties
allow to take into account that, for actuators and controllers with internal state, the
commutation is not instantaneous and not costless.
Reconfiguration Control Method for Faulty Actuator on UAV 13

Difference between the costs of the controllers


m0 Cost k0 and k1 for m0 case
30 0.2
Controller k0
Controller k1 0.1
25
0
20
-0.1
15 -0.2
-0.3
10
-0.4
5
-0.5
0 -0.6
0 10 20 30 40 50 60 70 80 90 100 0 20 40 60 80 100
Time t (s) Time t (s)

Difference between the costs of the controllers


m1 Cost k0 and k1 for m1 case
4000 4000
Controller k0
3500 Controller k1 3500

3000 3000

2500 2500

2000 2000

1500 1500

1000 1000

500 500

0 0
0 10 20 30 40 50 60 70 80 90 100 0 20 40 60 80 100
Time t (s) Time t (s)

Fig. 6 Cost E /xn.μ (In100 ); upper part nominal mode, lower part faulty mode

3.3.4 Observations

The classical POMDP framework requires observations taking values in a discrete


set; but, here, the observation is based on the information of the continuous processus
provided by an estimation scheme: ω = {b
0k , b
1k }.
As explained in [1], one needs to discretise the observation domain to recover a
discrete observation for the POMDP. This is done by forcing an a priori discretisation
on the observation space. Let {Ω 1 , ..., Ω |Ω| } be a partition of the continuous space in
which the ω parameters evolves. To avoid a long computational time, Ω is partitioned
in four areas as follows:
• b
0 ∈ [−0.1, 0.1] and b
1 ∈ [0, 0.1]
• b
0 ∈ [−0.1, 0.1] and b
1 ∈ [0.1, 0.9]
• b
0 ∈ [−0.1, 0.1] and b
1 ∈ [0.9, 1]
• b
0 ∈ [−u, −0.1[∪]0.1, u] and b
1 ∈ [0.9, 1].
14 A. Boche et al.

3.3.5 Conditional Observation Probabilities

The probability to have the parameters in a given set Ω i is given by:



p(Ω i |m) = p(ω|m)dω (21)
ω∈Ω i

Note that this is a double integral with dω standing for db


0 db
1 . Finally, to this
p(Ω i |m) corresponds a p(Ω i |s) because it is assumed that the current controller
does not change the estimation of fault parameters.
The conditional observation probabilities are calculated as in [1].

1 1
T
P −1

p(ω|m nominal ) = √ e− 2 b b
(22)
2π |P|
⎛⎡ ⎤ ⎞T ⎛⎡ ⎤ ⎞
 b0 ⎦
⎠ b0 ⎦

u − 21 ⎝⎣ −b P −1 ⎝⎣ −b
1 1 1
P(ω|m locking ) = √ e db0 (23)
4π u |P| −u

⎛⎡ ⎤ ⎞T ⎛⎡ ⎤ ⎞
 0 ⎦
⎠ 0 ⎦

1 − 21 ⎝⎣ −b P −1 ⎝⎣
−b
1 b1 b1
P(ω|m loss o f e f f ectiveness ) = √ e db1 (24)
2π |P| 0

where P is the 2 × 2 matrix at the lower right part of the covariance matrix associated
to state and parameter estimation, P(k + 1|k).
However, in this article, there is only one faulty mode which gather the locking
and the loss of effectiveness case. Assuming the same a priori probability for locking
and loss of effectiveness leads to:
1 1
p(ω|m f ault y ) = p(ω|m locking ) + p(ω|m loss o f e f f ectiveness ). (25)
2 2

4 Reconfiguration Method

4.1 Estimation Method

To estimate the state x and the parameters b0 and b1 , an augmented system is consid-
ered, which includes the system natural state -u, v, q, x, z and θ - with Eq. 4, together
with the fault parameters. Then a Kalman filter is applied to the resulting augmented
system, which may be described by:
Reconfiguration Control Method for Faulty Actuator on UAV 15

aug
Xk+1 = Aaug Xk + B aug uk + Wk
yk = C aug Xk + vk (26)
⎡ ⎤ ⎡ ⎤
A B.,2 D.,2 (uk ) B  
with Aaug = ⎣01,6 1 0 ⎦, B aug = ⎣01,3 ⎦, C aug = I6,6 06,1 06,1 , and
0 0 1 01,3
⎡ x ⎤ 1,6
wk
Wk = ⎣wbk 0 ⎦
aug

wbk 1
In the estimation algorithm, the covariance P(k + 1|k) is reopened when the
following test is not passed:
∀i ∈ [1, m],

(P(k + 1|k)ii + Rii )−1 (yk+1


i
− x(k + 1|k)i )2 ≤ ( pσ )2 (27)

where pσ correspond to the required accuracy. Thereafter, pσ = 5.


The covariance is reopened as follows:
⎡ ⎤
P(k + 1|k)6,6 06,1 06,1
P(k + 1|k)r eset =⎣ 01,6 u/( pσ )2 0 ⎦ (28)
01,6 0 1/( pσ )2

When the test of Eq. 27 is not passed, it suggest a sudden change of the parameters
-that is not taken into account in the model-, and thus a switching of mode.
The probabilities of modes are gathered in a vector b. At each step the vector b is
predicted:
bn+1|n = TM bn|n (29)

Then, the two mode probabilities are updated from the observation ω of the esti-
mated fault parameters defined at Sect. 3.3.4. The Bayes rule is used:

p(ω|m)
bn+1|n+1 (m) = bn+1|n (m)   
. (30)
m  n+1|n (m ) p(ω|m )
b

4.2 Switching Decision Optimization

In the previously defined framework, the goal is to construct a policy π : (E, Δ) → A


(Δ the set of belief state) which minimize a criteria. The objective is to minimize the
cost R. The following value function represents the problem to be solved:
16 A. Boche et al.

|Ω|

Ω i
Vn+l (bn+l|n , k) = min[r (bn+l|n , k, a) + γ p(Ω i |bn+l|n )Vn+l+1 (bn+l+1|n , a)]
a∈A
i=1
(31)
⎧ 

⎪ r (b, k, a) = m b(m)Rn ({m, k}, a)

⎨ 
p(Ω i |bn+l|n ) = m  p(Ω i |m  )bn+l+1|n (m  )
where γ ∈ [0, 1[ is a discount factor, and

⎪ p(Ω i |m)bn+l+1|n (m)
⎪ Ωi
⎩ bn+l+1|n (m) =
p(Ω |bn+l|n )
i

The action of the policy is the one ensuring the minimum in Eq. 31.
This problem can be solved with Dynamic Programming over a finite horizon from
time n + l to time n + l + H . The policy π specifies the action a which maximizes
the value function Vn+l (bn+l|n , k). To avoid a long computation time, the horizon is
H = 5.
Equation (31) is solved by:
1. expending from the current belief state the tree of possible b values in function
of all possible future actions and discrete observations and,
2. computing backwards the value of V .

In order to compensate for a small value for H , the quantity: nN =n+l+H +1
Rn ({m, k}, a) with a constant controller is used for initializing Vn+l+H +1 .

5 Simulations

5.1 Model

For an airspeed of 20 m/s and a slope of −3◦ , the continuous matrices Ac and Bc are
given as follows:
⎡ ⎤
−0.1817 0.6663 −1.2815 0 0 −9.8062
⎢−0.5734 −5.0995 11.2881 0 0 −0.2742 ⎥
⎢ ⎥
⎢ 0.4952 −5.4031 −5.0905 0 0 0 ⎥
Ac = ⎢⎢ 0.9996 0.0279

⎢ 0 0 0 1.0465 ⎥ ⎥
⎣−0.0279 0.9996 0 0 0 −19.9726⎦
0 0 1 00 0
⎡ ⎤
11.3028 −0.2944 −0.2944
⎢ 0 7.8851 7.8851 ⎥
⎢ ⎥
⎢−4.3890 34.2382 34.2382 ⎥
Bc = ⎢⎢


⎢ 0 0 0 ⎥
⎣ 0 0 0 ⎦
0 0 0
The system is discretised with a sampling period of 0.1s. The ratio between
sampling times μ = 10.
Reconfiguration Control Method for Faulty Actuator on UAV 17

Table 1 Fault scenario


Time 0s 10 s 20 s 50 s 70 s
Scenario Nominal Locked Locked Nominal Reduced
Fault b0 0 −0.2 −0.1 0 0
parameters
b1 0 1 1 0 0.5

Parameters used in the simulation are as follows.


Q kx = diag{0.012 , 0.012 , 0.012 , 0.012 , 0.012 , 0.012 }, Q bk = diag{0.0012 , 0.0012 },
and Rk = diag{0.12 , 0.12 , ( 0.05π
180
)2 , 0.12 , 0.12 , ( 0.05π
180
)2 }.
Note that the perturbation introduced here does not correspond to a realistic wind
model. However, an accurate wind model could be introduced by adding states and
considering a Gaussian white noise. The values of Rk are taken following the sensor
accuracy.
Only faults of the second actuator are considered:

ek1 = u 1k
ek2 = b0k + (1 − b1k )u 2k − b1k u 0
ek3 = u 3k (32)

The mode transition graph is the one of Fig. 5 with:


−5
• p(m 0 |m 0 ) = e−10
• p(m 1 |m 0 ) = 1 − p(m 0 |m 0 )
• p(m 0 |m 1 ) = 10−4
• p(m 1 |m 1 ) = 1 − p(m 0 |m 1 ).

5.2 Fault Scenario

To test the design, the scenario include loss of effectiveness case and locking case,
as shown in Table 1.

5.3 Results

5.3.1 Estimation of State and Fault Parameters

The dashed curves in lower parts of Figs. 7 and 8 presents the state estimation error.
These errors are small.
The value of b0 and b1 and their estimates are shown in Fig. 9.
18 A. Boche et al.

Horizontal position Reference


2000
1800
Horizontal position (m)

1600
1400
1200
1000
800
600
400
200
0
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Error
3
Δx
2.5 Error between x and xestimated

2
Error (m)

1.5

0.5

-0.5
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 7 Horizontal position

The estimator detects the fault in less than 10 s. For each event, the covariance
is reopened to detect the fault. For the locking event, it is reopened several times,
indicating an adaptation that it is more difficult than for the other events.

5.3.2 Probabilities

The probabilities of the modes are shown in Fig. 10.


The probability of the most likely mode is close to one, except for a short time
during the transition. The recovery is more difficult to detect because the covariance
is reopened at 52.4 s, indicating that the estimation is not sure.

5.3.3 Action

As shown in Fig. 11, the controller is changed as follow:


• When the locking case is detected, at 11 s, the controller is changed at the next
step, at 12 s. Indeed the effectiveness of the nominal controller k0 in the case of
fault is lower than the one of the associated controller k1 .
Reconfiguration Control Method for Faulty Actuator on UAV 19

Vertical position
20
Reference
0 Actual vertical position z
Vertical position (m)

-20

-40

-60

-80

-100

-120
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Error
25
Δz
Error between z and zestimated
20

15
Error (m)

10

-5
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 8 Vertical position

• When the effectiveness of the actuator is back at 50 s, the controller is not changed
from k1 to k0 because the expected reward is not large enough compared to the
penalty associated to any change of controller. Indeed, as indicated in the upper
part of Fig. 6, the difference of performance between k1 and k0 is too small.

5.3.4 Control

Figure 12 presents the control for the three actuators. Note that the curves represent
the differences between actual inputs and trim inputs.
Between 10 and 50 s, the actuator is locked, first at −0.2 rad and then at −0.1 rad.
Between 50 and 70 s, the actuator recovered its performance. After 70 s, the actuator
is reduced of 75%.The effective control e2 is well estimated. When the left elevator is
locked at −0.2 rad, the right elevator command is saturated. Thus, the effectiveness
of the left elevator can not be entirely compensated and the thrust control is changed.
20 A. Boche et al.

Fault parameter b0
1
b0
b0estimated

0.5
(rad)

-0.5

-1
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fault parameter b1
2
b1
b1estimated
1.5

0.5

-0.5

-1
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 9 b0 and b1

5.3.5 Tracking the Reference

The plain curves in the lower part of Figs. 7 and 8 present the tracking error for
respectively horizontal position and vertical position. The errors are most of the time
close to zero, indicating that despite the presence of faults the system state follows
the reference leading to an acceptable performance. When the left elevator is locked
at −0.2 rad, the tracking error is important. It induces a temporary reference tracking
error Δx of about 23 m for altitude and 2.8 m for horizontal position. Indeed, the
right elevator command is saturated and then cannot compensate for the faulty left
elevator. In this case, despite of a change on thrust control, it is not possible to recover
a good tracking.
Finally, with this FTC method, a gain of 25% on the sum of tracking errors is
obtained with respect to the use of only the nominal controller. However, for this
scenario, the difference between the new FTC method and a FTC based only on the
adaptive controller of Eq. 17 is not significant. This is due in part to the fact that for
the scenario the noise level on state dynamics and measurement is quite low inducing
accurate b0 and b1 estimations and in part to the fact that the first fault occurs quite
early. However, the mode management of the method allows to take into account
Reconfiguration Control Method for Faulty Actuator on UAV 21

Mode probability
1
Probability m0
Probability m1

0.9

0.8

0.7

0.6
Belief State

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 10 Probabilities of modes

Action
2

1.9

1.8

1.7

1.6

1.5

1.4

1.3

1.2

1.1

1
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 11 Action: 1 nominal controller, 2 faulty controller


22 A. Boche et al.

Thrust command
0.3
Δu1
0.2

0.1

-0.1

-0.2
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Left elevator command


0.4
Δu2
Δe2
0.2 Δe2estimated
(rad)

-0.2

-0.4
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Right elevator command


0.4
Δu3
0.3

0.2
(rad)

0.1

-0.1
0 10 20 30 40 50 60 70 80 90 100
Time t (s)

Fig. 12 Command for the three actuators: in the upper part, the thrust control input, in the middle
part, the desired and effective control inputs of the left elevator command, in the lower part, the
control input of the right elevator command

possible faults of different devices while it would be difficult to extend the adaptive
control in a similar way.

6 Conclusion

In this work, the continuous and discrete framework has been successfully applied to
fault tolerance for UAV control. For this, modes are defined and adaptive controllers
are developed and qualified in terms of performance for those modes. Simulation of
the FTC has been performed with a longitudinal model of Altimum 4 for one fault
scenario: a landing approach when an actuator become faulty. It indicates a consistent
and effective behaviour and has shown good results; in the event of component faults,
the performance is improved. In order to confirm these good results those simplified
Reconfiguration Control Method for Faulty Actuator on UAV 23

simulations should be completed by simulations using the non-linear model of the


UAV, an accurate wind model and a model of the dynamics of the actuators.
The analysis of the applicability of the continuous and discrete framework for
fault tolerant control to UAV induces some improvements to this framework. First,
the fault model is extended in order to consider correctly the impact of a fault on
a trimmed UAV. Secondly, an analysis is performed in order to define the fault
modes and thus, the method for developing adaptive controllers for fault modes is
generalized. Finally, different time steps are allowed for the discrete and continuous
parts of the fault tolerant control.
The framework used in this paper can be the basis for additional researches.
The framework could be applied to both longitudinal and lateral model of UAVs.
The addition of multiple actuators faults should be taken into account in future
work. Finally, a reconfiguration for sensors faults could be developed based on the
framework.

References

1. Boche A, Farges J-L, de Plinval H (2016) A continuous and discrete framework for reconfigura-
tion of control of faulty systems. Accepted at the 2016 IEEE symposium series on computational
intelligence (IEEE SSCI 2016)
2. Fang L, Wang JL, Yang G-H (2002). Reliable robust flight tracking control: an LMI approach.
IEEE Trans Control Syst Tech 10(1):76–89
3. Hayhurst KJ, Maddalon JM, Miner PS, Szatkowski GN, Ulrey ML, DeWalt MP, Spitzer CR
(2007) Preliminary considerations for classifying hazards of unmanned aircraft systems
4. Hwang Inseok, Kim Sungwan, Kim Youdan, Seah Chze Eng (2010) A survey of fault detection,
isolation, and reconfiguration methods. IEEE Trans Control Syst Tech 18(3):636–653
5. Lesprier J, Biannic J-M, Roos C (2015) Modeling and robust nonlinear control of a fixed-wing
UAV. In 2015 IEEE Conference on Control Applications (CCA), pp 1334–1339
6. Lewis FL, Syrmos VL. Optimal control. Wiley & Sons, Newyork 1995
7. Lunze J, Richter JH (2008). Reconfigurable fault-tolerant control: a tutorial introduction. Eur J
Control 14(5):359–386
8. Snooke NA (2015) Automated failure effect analysis for PHM of UAV. In Handbook of unmanned
aerial vehicles Springer, Berlin, pp 1027–1051
9. Zhang Youmin, Jiang Jin (2008) Bibliographical review on reconfigurable fault-tolerant control
systems. Annu Rev Control 32(2):229–252
Flight Control Law Testing Using Optimal
Control and Postoptimal Sensitivity Analysis

Johannes Diepolder, Saurabh Saboo, Venkata Sravan Akkinapalli, Stefan


Raab, Jiannan Zhang, Pranav Bhardwaj, Michael Krenmayr, Benedikt
Grüter and Florian Holzapfel

1 Introduction

For the clearance of flight control laws, it is required to show that the aircraft cannot
be driven to an unsafe states, especially considering inherent modeling uncertainties
and disturbances like wind gusts. Current industry practice is to use mostly gridding
or monte carlo methods for testing closed loop systems. These methods are straight-
forward to use, but often computationally expensive, due to the fact that numerous
simulations have to be performed to clear the flight control law. Additionally, they do
not refine the search space around worst cases, and may miss solutions in between
grid points. In essence, these methods evaluate multiple scenarios to show that for all
possible combinations of uncertain parameters or maneuvers, safe aircraft operation
is ensured. Contrary, optimization based clearance techniques try to find worst cases
by means of optimization algorithms. These methods do not investigate the whole
solution space for all possible scenarios, but try to find worst cases for which the
respective criteria is violated. In the past, considerable effort was made to develop
suitable optimization algorithms for this kind of task.
Reference [12] investigates the use of a novel global optimization technique based
on dividing rectangles for the nonlinear clearance criteria of a hypersonic re-entry
vehicle. The results showed that this approach has potential for significantly enhanc-
ing the confidence for the clearance task. In [6], the authors compare probabilistic

J. Diepolder (B) · S. Saboo · V.S. Akkinapalli · S. Raab · J. Zhang · P. Bhardwaj ·


M. Krenmayr · B. Grüter · F. Holzapfel
Institute for Flight System Dynamics, TU Munich, Boltzmannstraße 15, 80747 Garching bei
München, Germany
e-mail: johannes.diepolder@tum.de
S. Saboo
e-mail: ssaboo@live.de
F. Holzapfel
e-mail: florian.holzapfel@tum.de

© Springer International Publishing AG 2018 25


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_2
26 J. Diepolder et al.

monte carlo methods, and a non-dominated sorting genetic algorithm for multi-
criteria optimization for a nonlinear AIRBUS aircraft simulation model.
Reference [8] tests the functionality of a maneuver load limiter using the clonk
stability criterion. The authors used a genetic algorithm and adaptive simulated
annealing for the worst case parameter search. Reference [13] augments Differential
Evolution and genetic algorithms by a local optimization method for the clearance
task. This results in a hybrid optimization scheme with improved convergence and
computational efficiency. The method is illustrated using a six-degree of freedom
fighter aircraft model (ADMIRE). In [16] local and global optimization methods are
investigated to enhance current industry practice for the clearance task. Especially,
the class of evolutionary algorithms like genetic algorithms, evolutionary strategies
and Differential Evolution showed high potential in finding worst case pilot inputs
for criteria such as the maximum angle of attack exceeding (alpha protection) or high
velocity/Mach Number (high speed protection). One of the main outcomes from this
study is a workflow for the optimization based clearance, which complements exist-
ing techniques (Gridding/Monte Carlo) by global and local optimization methods and
sensitivity analysis. In this paper, we propose to enhance this workflow by the use of
Optimal Control Theory and Postoptimal Sensitivity Analysis. The paper is organized
as follows. First we present the novel methodology and the proposed workflow. Then
we give a short introduction to Differential Evolution, Optimal Control Theory and
Postoptimal Sensitivity Analysis. To illustrate the methodology, we investigate the
height loss for a preliminary control design of a tilt rotor vehicle, from hover-mode
to forward flight.

2 Optimal Control Based Clearance of Flight Control Laws

The workflow proposed in [16] for the optimization based clearance of flight control
laws consists of four steps. First, a monte carlo analysis is performed to find worst
cases for the respective criteria in the flight envelope. These worst cases are then
used in a second step to initialize global optimization runs, to explore the search
space surrounding those worst cases. The results of global optimization are then
refined by local optimization methods, such as the quasi-Newton method in combi-
nation with cyclic coordinate descent. The last step consists of performing sensitivity
analysis for these refined solutions e.g. by parameter perturbation and re-simulation.
Reference [5] motivates the use of optimal control theory for the determination of
worst case pilot inputs and wind gusts. The authors investigated an aircraft model,
linearized around a horizontal steady state flight condition in the longitudinal and
lateral plane. Using a direct collocation scheme implemented in the MATLAB soft-
ware FALCON.m, the authors were able to obtain meaningful results for different
criteria, such as the maximum angle of attack exceeding in the longitudinal plane and
the maximum angle of sideslip exceeding in the lateral plane. These results motivate
further investigation of using Optimal Control Theory for flight control law testing.
For the solution of optimal control problems using direct transcription methods (e.g.
Flight Control Law Testing Using Optimal Control … 27

Fig. 1 Novel workflow for optimal control based clearance of flight control laws

shooting or collocation) in combination with gradient based optimization, it is cru-


cial to provide good initial guesses. Therefore, we propose to enhance the workflow
from [16] by replacing the last two steps namely local optimization and sensitivity
analysis, by Optimal Control Methods and Postoptimal Sensitivity Analysis (Fig. 1).

3 Theoretical Background

3.1 Global Optimization: Differential Evolution

Differential Evolution (DE) is a global optimization algorithm, which has increas-


ingly gained attention due to its simple structure on one side, and its effectiveness
for a wide range of optimization problems on the other [14]. For the current appli-
cation, we use the classic DE implementation “DE/rand/1/bin”, for which the base
vector is selected randomly, one weighted difference vector is added to it and the
parameter crossover from the mutant vector follows a binomial distribution. The
basic algorithm is depicted in Algorithm 1. Here, we define the population of gener-
g g
ation g = 1...gmax as Pz . This population consists of N p parameter vectors zi with
g
i = 0, 1, ..., N p − 1. Each of the parameter vectors has Nz real valued elements z i, j
g
for j = 0, 1, ..., Nz − 1. Similarly, we define the mutant vector population Pm and
g
the trial vector population Pt :
 g g g g g
Pzg = zi , zi = [z i,0 , z i,1 , ..., z i,Nz −1 ]T (1)
i∈0,1,...,N p −1
28 J. Diepolder et al.

Fig. 2 Illustration of mutation and crossover for differential evolution in a two dimensional para-
meter space

 g g g g g
Pmg = mi , mi = [m i,0 , m i,1 , ..., m i,Nz −1 ]T (2)
i∈0,1,...,N p −1

g
 g g g g g
Pt = ti , ti = [ti,0 , ti,1 , ..., ti,Nz −1 ]T (3)
i∈0,1,...,N p −1

At first, the initial population is generated by randomly assigning values between the
upper bounds zub and lower bounds zlb :

z i,0 j = rand(0, 1) · (z ub, j − zlb, j ) (4)

g
To evolve the existing generation, we first create the mutant population Pm . For each
g g g
mutant vector, we randomly pick three parameter vectors zr 0 , zr 1 and zr 2 , and add the
g g
weighted difference vector of zr 1 and zr 2 with weight F ∈ [0, 1] to the base vector
g
zr 0 :
g g g g
mi = zr 0 + F · (zr 1 − zr 2 ) (5)
g g
From the mutant vector mi , the trial vector ti is constructed via crossover of the
elements, with crossover probability pc ∈ [0, 1]:

g
g m i, j i f (rand(0, 1) ≤ pc )
ti, j = g (6)
z i, j else

Figure 2 illustrates the generation of a trial vector in a two dimensional parameter


space. The grey lines in Fig. 2 represent the isolines of the cost function J .
Flight Control Law Testing Using Optimal Control … 29

g g
In the selection phase, the trial vectors ti compete against the target vectors zi
g
from the current population, by comparing their objective function values J (ti )
g
and J (zi ). The vectors with the lower cost values win and become part of the next
generation: 
g g g
g+1 t i f J (ti ) ≤ J (zi )
zi = ig (7)
zi else

Algorithm 1 Differential Evolution - DE/rand/1/bin


1: F ← [0, 1], pc ← [0, 1],g ← 0
2: for all i ∈ 0, 1, ..., N p − 1, j ∈ 0, 1, ..., N z − 1 do
3: z i,0 j = rand(0, 1) · (z ub, j − zlb, j )
4: end for
5: while g ≤ gmax do
6: g ← g+1
Mutation
7: for all i ∈ 0, 1, ..., N p − 1 do
g g g
8: Select zr 0 , zr 1 , zr 2
g g g g
9: mi = zr 0 + F · (zr 1 − zr 2 )
10: end for
Crossover
11: for all i ∈0, 1, ..., N p − 1, j ∈ 0, 1, ..., N z − 1 do
g
g m i f (rand(0, 1) ≤ pc )
12: ti, j = gi, j
z i, j else
13: end for
Selection
14: for all i ∈ 0,
1, ..., N p − 1 do
g g g
g+1 t i f J (ti ) ≤ J (zi )
15: zi = ig
zi else
16: end for
17: end while

Please note that for the workflow proposed in Sect. 2, we modify the steps 2–
4 in Algorithm 1, and use Latin Hypercube Sampling (LHS) to initialize the first
generation. By doing so, we ensure that the algorithm is “warmstarted” with the
worst cases found by LHS, and explore the region around these worst cases using
DE.
30 J. Diepolder et al.

3.2 Optimal Control Theory

3.2.1 General Problem Statement

Optimal Control Theory [1–3] seeks to solve the following problem: Find the optimal
control u∗ (t) which minimizes the Bolza cost function J
 tf
J = e(x(t f ), t f ) + L(x(t), u(t), t) dt. (8)
t0

subject to the dynamic equation

ẋ = f(x(t), u(t), t) (9)

the initial and final boundary conditions at the initial time t0 and the final time t f

ψ(x(t0 ), x(t f )) = 0 (10)

and the equality and inequality path constraints

C Peq (x(t), u(t)) = 0 (11)

C Pineq (x(t), u(t)) ≤ 0 (12)

which are defined on the time interval t ∈ [t0 , t f ]. The general case of the Bolza
cost function includes the Mayer cost e(x(t f ), t f ), which only depends on the state
values at the end of the time horizon and the Lagrange cost L(x(t), u(t), t), which
is integrated from the starting time t0 to the terminal time t f . Note, that the above
formulation also allows for the introduction of the parameter p by introducing an
additional state xn+1 with:
ẋn+1 = 0 (13)

and the initial condition


xn+1 (t0 ) = p (14)

3.2.2 Solution Strategies

Most of the solution strategies for optimal control problems can be classified into two
basic approaches. The first one is named the indirect approach and relies on deriv-
ing necessary conditions (Minimum Principle) and numerically solving a resulting
boundary value problem. To do so, it is useful to introduce the Hamiltonian H by
adjoining the right hand side of the dynamic equation (9), to the Lagrange cost
function L, using the costates λ (t) and the multiplier l0 :
Flight Control Law Testing Using Optimal Control … 31

H = λ (t) · f(x(t), u(t), t) + l0 · L(x(t), u(t), t) (15)

The Minimum Principle states that for the optimal control u ∗ , the Hamiltonian H
has to be stationary:

H (x∗ (t), λ (t), u∗ (t), t) = min H (x∗ (t), λ (t), u(t), t) (16)
u

and additionally the Euler Lagrange Equation:


T
λ (t) = −∇x H (x∗ (t), λ(t)
λ̇ λ(t), u∗ (t), t) (17)

as well as the transversality conditions

λ (t0 ) = −∇x0 [l0 · e(x∗ (t0 ), x∗ (t f )) + σ T · ψ(x∗ (t0 ), x∗ (t f ))]T (18)

λ (t f ) = −∇x f [l0 · e(x∗ (t0 ), x∗ (t f )) + σ T · ψ(x∗ (t0 ), x∗ (t f ))]T (19)

have to be satisfied for (l0 , λ T , σ T ) = 0. The solution of the necessary conditions


usually requires the knowledge of the switching structure of the problem, and in
most real world applications with complex dynamics or constraints, the solution
using indirect methods is very difficult and often only possible for heavily simplified
models.
The second approach for solving optimal control problems is called the direct
approach and transcribes the infinite dimensional optimal control problem into a
finite dimensional parameter optimization problem. There exist various methods for
the transcription e.g. single shooting, multiple shooting or collocation. All of these
methods discretize the dynamic equation in time, and introduce additional equality
constraints, which ensure that the dynamic equation is satisfied. The main difference
between these transcription schemes is how the dynamics are discretized on the time
grid t = [t0 , t1 ...t f ].
In case of single shooting using a Euler discretization scheme

xi+1 = xi + (ti+1 − ti ) · f(xi , ui , ti ) (20)

we only introduce the initial state x0 and the controls u0... f additional to the n p
parameters p1...n p to obtain the optimization parameter vector z SS :

z SS = [p1...n p , x0 , u0... f ]T (21)

In order to improve numerical stability it is often necessary to introduce n s addi-


tional shooting-nodes xs0...ns −1 at distinct time points ti at which the dynamic equality
constraints
32 J. Diepolder et al.

Cdyn, j = xs j − x(ti ) = 0, j = 0...n s − 1 (22)

have to be fulfilled. This method is called multiple shooting and yields the following
parameter vector:
z M S = [p1...n p , xs0...ns −1 , u0... f ]T (23)

A third option is to use collocation methods e.g. the trapezoidal collocation scheme
for which we introduce one state and control per time discretization point. The
dynamic constraints Cdyn,i , i = 0... f − 1 in this case become:

1
Cdyn,i = xi+1 − xi − · (f(xi , ui , ti ) + f(xi+1 , ui+1 , ti+1 )) · (ti+1 − ti ) (24)
2
and the parameter vector contains the parameters p1...n p and the fully discretized
states and controls x0... f , u0... f :

zCol = [p1...n p , x0... f , u0... f ]T (25)

In case of collocation methods the resulting optimization problem exhibits a strongly


decoupled and hence sparse structure at the cost of a greatly increased number of
optimization variables and constraints.
Additional to the dynamic constraints Cdyn the equality and inequality constraints
(11) and (12) are discretized on the time grid t:

C Peq ,i (xi , u i ) = 0 (26)

C Pineq ,i (xi , u i ) ≤ 0 (27)

The residual vector F holds the cost function (8), the dynamic constraints (22) or
(24) and the discretized inequality and equality constraints (26), (27) to be satisfied:

F = [ψ(x(t0 ), x(t f )), C Peq ,0... f , C Pineq ,0... f , Cdyn,0...n s −1/ f −1 ]T (28)

Both, the parameter vector z and the residual vector F are required to satisfy box
constraints with the respective upper and lower bounds zub , zlb ,Fub , Flb :

zlb ≤ z ≤ zub (29)

Flb ≤ F ≤ Fub (30)


Flight Control Law Testing Using Optimal Control … 33

3.3 Post-optimal Sensitivity Analysis

Postoptimal Sensitivity Analysis [4, 7] provides the sensitivities of the optimal solu-
tion with respect to parameters ω . The derivation of the local sensitivities is based on
the Fiacco equation, which is obtained by applying the implicit function theorem to
the Karush–Kuhn–Tucker (KKT) conditions. The resulting sensitivity equation for
the parameter vector z, and the Lagrange-multipliers λ , for the constraints reads:
   −1

dz
ω ∇zz L ∇z Ca T ∇zωω L

= · (31)
λ
dλ ∇z Ca 0 ∇ω Ca
ω

In (31), Ca are the active equality constraints and L is the Lagrangian defined as:

L (z, λ ; ω ) = J (z; ω ) + λ T · Ca (z; ω ) (32)

ω , to obtain
This equation provides a first order approximation for perturbations Δω
updates for the parameter vector and the Lagrange multipliers:

dz
ẑ = z + ω
· Δω (33)
ω

λ

λ=λ+
λ̂ ω
· Δω (34)
ω

Furthermore, the first and second order sensitivities of the objective function can
be computed as follows [4]:

dJ dz
= ∇z J + ∇ω J (35)
ω
dω ω


T

d2 J dz dz dz T
= ∇zz L + 2 ∇ω z L + ∇ωω L (36)
ω2
dω ω
dω ω
dω ω

These sensitivities are used to study the effect of parameters on the objective function
of the optimization problem. In particular, they provide sensitivities of second order
for the worst cases, found by solving the optimal control problem for the respective
clearance criteria.
34 J. Diepolder et al.

4 Case Study: Testing of the Preliminary Design of a


Tilt-Rotor

4.1 Plant - Model Equations

For the case study a 2-D model of a vertical take-off and landing vehicle with tilt
rotor mechanism is considered. The reduced model has three degrees of freedom
where the translational motion is described in x B and z B direction and the rotation
is considered around the pitch axis y B . This aerial vehicle possesses seven control
effectors: two rotors on the fuselage, two rotors on the wings with tilt mechanisms
and symmetrical elevators at the tail. The propulsion, gravitational and aerodynamic
forces acting on the airframe are described in the following.

4.1.1 Propulsion Forces and Moment

Thrust and drag forces from the propeller are taken as follows:

d 4π 2
T = C T ω2 ρ (37)
4

d 4π 2 R
D = C H ω2 ρ VA (38)
4

Here V AR is the aerodynamic velocity at the aircraft reference point R, and C H and
C T are drag and thrust constants of the propeller, ω is the motor rotational speed, d is
the diameter of the rotor and ρ is the atmospheric density. The resulting propulsion
force (F PP ) P at the propulsion point P in the propulsion frame P reads:
 
−D
(F PP ) P = (39)
−T P

Using the tilt rotor angle δ, the transformation M P B from body frame B to propulsion
frame P is defined as follows:
 
cos(δ) sin(δ)
MP B = (40)
−sin(δ) cos(δ)

Note, that the tilt angle δ is zero for rotors on fuselage. Using this transformation we
obtain the propulsion forces and moments at the reference point R in the body fixed
frame B:
(F RP ) B = MTP B · (F PP ) P (41)

(M PR ) B = r R P × (F PP ) B (42)
Flight Control Law Testing Using Optimal Control … 35

4.1.2 Gravitational Forces and Moments

The gravitational forces and moments resulting from aircraft mass m and acceleration
g is transformed from the North-East-Down frame O to the body fixed frame B using
the Euler angle θ around the pitch axis:
   
cos(θ ) −sin(θ ) 0
(FGR ) B = · (43)
sin(θ ) cos(θ ) m·g O

(MGR ) B = r RG × (FGR ) B (44)

Here r RG is the distance from the reference point R to the center of gravity G.

4.1.3 Aerodynamic Forces and Moments

For the aerodynamic forces and moments, the wing and tail section are considered
separately. The aerodynamic angle of attack for the wing αw is determined as follows:
 
(wGA ) EB − (ω yI B ) B · (x RW ) B
αw = atan2 + α0 + i (45)
(u GA ) EB + (ω yI B ) B · (z RW ) B

Here (u GA ) EB and (wGA ) EB are aerodynamic velocities at the center of gravity G in x B


and z B direction of the body frame B. (ω yI B ) B is the angular velocity around the pitch
axis, (x RW ) B and (z RW ) B are the distances from the wing reference point W to the
reference point R, α0 is the angle of attack at zero velocities and i is the inclination
angle. The transformation matrix from body axis to wing axis is determined as:
 
cos(αw ) − sin(αw )
MW B = (46)
sin(αw ) cos(αw )

The aerodynamic forces for the wing (FWW


)W originating from the lift and drag forces
L W and DW at the wing reference point W in wing frame W are calculated as follows:

1 2
LW = · ρV AR SW C Lα,W αw (47)
2
1 2
DW = · ρV AR SW C Dα,W αw (48)
2
 
−DW
(FW )W =
W
(49)
−L W W
36 J. Diepolder et al.

Here C Lα,W and C Dα,W are the wing aerodynamic coefficients, αW is the angle of
attack of the wing and SW is the wing reference area. The aerodynamic forces and
moments from the wing at the reference point R denoted in the body frame B are
determined as:
(FW
R
) B = MWT
B · (FW )W
W
(50)

(MW
R
) B = r RW × (FW
W
)B (51)

with the distance from the reference point R to the wing reference point W being
r RW . The whole tail section of the aircraft is allowed to move, and hence acts as
elevators. Similar to (45) the angle of attack of the tail αt is calculated as follows:
 
(w RA ) EB − (ω yI B ) B · (x Rt ) B
αt = atan2 (52)
(u RA ) EB + (ω yI B ) B · (z Rt ) B

and the transformation matrix from body axis B to tail axis t is determined as
 
cos(αt ) − sin(αt )
Mt B = (53)
sin(αt ) cos(αt )

The aerodynamic forces (Ftt )t for the tail at the tail reference point t in tail frame t are
computed from the lift and drag forces L t and Dt using the aerodynamic coefficients
C Lα,t and C Dα,t , the reference area St , the angle of attack at the tail αt and the elevator
deflection η:
1 2
L t = · ρV AR SC Lα,t (αt + η) (54)
2
1 2
Dt = · ρV AR SC Dα,t (αt + η) (55)
2
 
−Dt
(Ftt )t = (56)
−L t t

The aerodynamic forces and moments from the tail t at reference point R in body
frame B can then be determined as:

(FtR ) B = MtTB · (Ftt )t (57)

(MtR ) B = r Rt × (Ftt ) B (58)

with the distance from the reference point R to the tail reference point r being r Rt .
Flight Control Law Testing Using Optimal Control … 37

4.1.4 Total Forces and Moment

The forces and moments are summed together to obtain the total forces (FTR ) B and
the moment (MTR ) B in the body frame B and acting on the airframe at reference point
R:
(FTR ) B = (F RP ) B + (FGR ) B + (FW
R
) B + (FtR ) B (59)

(MTR ) B = (M PR ) B + (MGR ) B + (MWR ) B + (MtR ) B (60)

4.1.5 Equations of Motion

The state derivatives are finally determined from following equations of motions
with the aircraft mass m and the moment of inertia around the pitch axis I yy :
• Position:      R E
ẋ cos(θ ) sin(θ ) (u K ) B
= · (61)
ḣ sin(θ ) −cos(θ ) (w KR ) EB

• Attitude:
θ̇ = (ω yI B ) BB (62)

• Translation:  
(u̇ KR )EB −(ω yI B ) B · (w KR )EB
B (F R ) B
R EB = + T
B
(63)
(ẇ K ) B (ω y ) B · (u K ) B
IB R EB
m

• Rotation:
(ω̇ yI B ) BB = (I yy )−1 (MTR ) B (64)

Furthermore we consider PT2 transfer functions between the commanded values δc


and the effector reactions δ

δ ωn2
G(s) = = 2 (65)
δc s + 2ξ ωn s + ωn2

This is done for each of the control effectors, namely the elevator η, the tilt angles
for the rotors at the wing tips δ1 and δ2 , the two propellers at the left and right wing
tips ω1 and ω2 and the propellers at the tail section ω3 and ω4 . In order to introduce
a smooth wind disturbance we additionally introduce a first order filter

(VW ) B,cmd − (VW


R E
)B
R E
(V̇W )B =
R EB
(66)
τw

for the wind components of (VW ) B : the velocities (u W


R E
) B and (wW
R E
) B relative to the
R E

earth E, acting on the reference point R and denoted in the body fixed frame B.
38 J. Diepolder et al.

The resulting state space model for the plant thus consists of 22 states comprised
of the rigid body equations of motions, the second order actuator transfer functions
and the first order filters for the wind disturbance.

4.2 Incremental NDI Control Structure

4.2.1 Governing Equations

The baseline control law implements the incremental nonlinear dynamic inversion
technique [15]. Consider an aircraft dynamic model,

ẋ = F(x, u) = f(x) + g(x, u) (67)

y = h(x) (68)

using Taylor expansion,



∂f ∂g
ẋ = f(x0 ) + g(x0 , u0 ) + (x − x ) + (u − u0 ) (69)
∂x x0 ∂u x0 ,u0
0


∂[f(x) + g(x, u)] ∂g
ẋ = ẋ0 + (x − x ) + (u − u0 ) (70)
∂u x0 ,u0
0
∂x (x0 ,u0 )

and differentiating equation (68):


∂h
ẏ = ẋ (71)
∂x


∂h ∂h ∂[f(x) + g(x, u)] ∂h ∂g
ẏ = ẋ0 + (x − x0 ) + (u − u0 ) (72)
∂x ∂x ∂x (x0 ,u0 ) ∂x ∂u x0 ,u0

yields:
ẏ − ẏ0 = δ ẏ = A(x0 , u0 )δx + B(x0 , u0 )δu (73)

The control effectors directly controls accelerations, while the states are integra-
tions of accelerations. For high control frequencies, the increments of states are much
smaller than the increments of inputs. Therefore, Eq. (73) can be further simplified
by eliminating the term A(x0 , u0 )δx:

δ ẏ = B(x0 , u0 )δu (74)


Flight Control Law Testing Using Optimal Control … 39

4.2.2 Controller Structure

The pilot commands velocities in x O and z O direction of the NED frame, and the
pitch angle θ . A linear reference model is designed to force the controlled variables
to follow a reference trajectory. A relative degree 1 reference model is implemented
for the velocities, and a relative degree 2 reference model is used for the pitch angle.
Furthermore error controllers are implemented to account for model uncertainties.
The reference model and error controller states add six additional states to the 22
plant states, which results in a total number of 28 states for the closed loop system.
The on-board plant model, which is used to determine the control effectiveness B
consists of the complete set of aerodynamic, propulsion and the gravitation model
from Sect. 4.1. Current state accelerations are estimated using equations of motion in
this on-board plant model and the estimated reaction ν est and the control effectiveness
matrix B are given as outputs. The desired pseudo-command Δνν des is then calculated
as
Δνν des = ν r e f − ν est (75)

In this preliminary case study the required control effector deflection Δucmd is deter-
mined using weighted-pseudo inverse with weighting matrix Λu :

Δucmd = Λu (BΛu )+ Δνν des (76)

Finally Δucmd is added to ui−1 from the previous time step, and subsequently fed to
the plant.

4.3 Problem Formulation and Results

4.3.1 General Problem Formulation

The problem we solve using the proposed workflow from Sect. 2, is to test for height
loss during the transition phase from hovering mode to forward flight. The cost
function J to be minimized is the maximum height loss over the time horizon t ∈
[t0 , t f ]:
min J (z) = min min h(t) (77)
z z t∈[t0 ,t f ]

The simulation is performed by Euler’s method using a step size of Δt = 0.001 s with
an initial time of t f = 0 s and a final time of t f = 10 s. This time span is sufficient
to allow the vehicle to perform the complete transition. Additionally, we set the
initial condition for hover flight with zero velocities in 10 m height. Throughout the
optimization, the commanded velocity u cmd is 5 ms and the other control inputs are
zero:
40 J. Diepolder et al.
⎛ ⎞ ⎛ m⎞
u cmd 5s
⎝ wcmd ⎠ = ⎝ 0 ⎠ (78)
θcmd 0

4.3.2 Step 1: Latin Hypercube Sampling

In the first step, Latin Hypercube Sampling is performed with 250 samples using the
MATLAB function lhsdesign(). For the wind gust parametrization we introduce the
timepoints for the wind commands Tu and Tw and the command values for the wind
gusts u W,cmd and wW,cmd
t0 ≤ Tu ≤ t f (79)

t0 ≤ Tw ≤ t f (80)

u W,cmd,lb ≤ u W,cmd ≤ u W,cmd,ub (81)

wW,cmd,lb ≤ wW,cmd ≤ wW,cmd,ub (82)

with u W,cmd,lb = wW,cmd,lb = −2 ms and u W,cmd,ub = wW,cmd,ub = +2 ms and the time


constant τW = 3 s for the filter in (66).
Additionally, we add two parameters for the uncertainties in mass Δm and moment
of inertia ΔI yy :
Δm min ≤ Δm ≤ Δm max (83)

ΔI yy min ≤ ΔI yy ≤ ΔI yy max (84)

These parameters have the bounds Δm min = ΔI yy min = 90% and Δm max =
ΔI yy max = 110% and are used to pertube the nominal values I yy nom and m nom as
follows:
m = Δm · m nom (85)

I yy = ΔI yy · I yy nom (86)

Please note, that the bounds of the wind disturbance and parameter uncertainties are
chosen very carefully here as the control structure is still under development.

4.3.3 Step 2: Differential Evolution

The following global optimization is initialized by the 25 worst cases found by LHS.
In case of Differential Evolution, we now use five parameters for each wind gust
command u cmd,1,...5 , wcmd,1,...5 on a fixed equidistant grid for the control inputs. To
translate the step inputs from LHS with step times Tu and Tw on the DE grid, we take
the closest value on the equidistant time grid (see Fig. 3).
Flight Control Law Testing Using Optimal Control … 41

Fig. 3 Translation of the worst case wind command input from LHS to DE

For the classic DE algorithm “DE/rand/1/bin” implemented in the solver DeMat


[14], we set the population size to N p = 25, the weighting factor to F = 0.8, the
crossover probability to pc = 0.7 and the maximum number of generations to gmax =
50.

4.3.4 Step 3: Optimal Control

The initial guess for the subsequent Optimal Control (OC) problem is the best solution
from the DE optimization. In the example presented here the minimum height found
from global optimization was at the final time t f . The cost function is now altered to
maximize the height loss at this particular time point.
Now we refine the discretization even further using 40 discretization points for
each of the wind gust commands u cmd and wcmd . For this particular problem we found
it sufficient to use single shooting due to the short time frame of the optimization.
For other problems, especially those who exhibit highly sensitive parameters or long
time intervals it may be required to introduce additional shooting nodes to lower the
sensitivities and thus enhance convergence.
The solver used here is the SQP-solver SNOPT [9] which requires the gradient of
the problem. We compute the gradient by the complex step method as described in
[11]. This method exploits the fact that using a complex step x + i h for a function
f (z) with sufficiently small step size h we can approximate the derivative of this
function up to machine precision by dividing the imaginary part of f (z + i h) and
by h. For the scalar case the equation reads:
42 J. Diepolder et al.

Table 1 Summary of worst cases


Step Height loss (m) Δm (%) ΔI yy (%)
Step 1: LHS 0.42 106.45 93.47
Step 2: DE 0.46 109.80 96.56
Step 3: OC 0.58 110.00 90.00

∂f [ f (z + i h)]
≈ (87)
∂z h

On the one hand, the main drawbacks of this method are the fact that the complex
evaluation is computationally more expensive and that some of the functions, such as
<, >, min(), max() and abs() to name a few have to be redefined in order to evaluate
the model properly. On the other hand the derivatives are extremely accurate (in
the order of the machine precision) which reduces the “numerical noise” introduced
from finite difference approximations. Additionally, in MATLAB and SIMULINK
most of the built-in functions can be used both for complex and real algebra such
that the additional modeling requirements are greatly reduced.

4.3.5 Step 4: Postoptimal Sensitivities

For the Postoptimal Sensitivities we need to compute the Hessian of the Lagrangian
(see (31)) with respect to the optimal parameter vector zopt . Similarly we again use
the complex step method from [10] to compute the second derivatives.
dJ d2 J
ω and dω
The first and second order sensitivities dω ω 2 of the cost function (77) w.r.t.
ω = [Δm, ΔI yy ]T are computed using (35) and (36) which allows us to approximate
the change in the cost function ΔJ (worst case) when changing the parameters by
Δωω:
dJ d2 J
ΔJ = ω + Δω
· Δω ωT · · Δωω (88)
ω
dω dωω2

4.3.6 Results

The comparison between the baseline height history without uncertainties and the
height trajectories for the different steps (LHS, DE, OC) for the transition phase is
depicted in Fig. 4.
The worst case height loss and the corresponding parameter combinations are
summarized in Table 1.
The Postoptimal Sensitivities for ω = [Δm, ΔI yy ]T in this example revealed that
for the worst case the uncertainty in the mass Δm has significant influence on the opti-
mal solution, but the uncertainty in the moment of inertia ΔI yy is almost neglectable.
Flight Control Law Testing Using Optimal Control … 43

10.4
Baseline
Latin Hypercube Sampling (Best 25 - Range)
10.2 Differential Evolution
Optimal Control

10
Height [m]

9.8

9.6

9.4

9.2
0 1 2 3 4 5 6 7 8 9 10
Time [s]

Fig. 4 Comparison of the height loss during transition from hover-mode to forward-flight

dJ
= [−0.98, 6.52 · 10−6 ]T (89)
ω

 
d2 J −0.34 −2.43 · 10−5
= (90)
ω2
dω −2.43 · 10−5 −4.76 · 10−7

This can be explained by the fact that the influence of I yy is mostly seen in dynamic
maneuvers where the attitude of the vehicle changes. In the example presented here,
the controller tries to keep the attitude angle at zero as required by θcmd = 0 and only
accelerates by tilting the rotors at the wings forward. This means that for the most
part of the transition phase the attitude remains approximately constant zero which
results in an acceleration maneuver without attitude change. For this maneuver I yy
has almost no influence whereas the uncertainty in mass significantly influences the
acceleration and height loss for the worst case found.
Furthermore, as the parameters are subject to optimization we would expect a
dJ
zero first order sensitivity dωω at the optimal point, which is not necessarily the case
d2 J
for the second order sensitivity dω ω 2 . In this specific case study the parameter values
converged to the boundary of the admissible parameter set. Therefore, the first order
dJ
ω is non-zero and provides the sensitivity of the cost function value with
sensitivity dω
respect to a change in the boundary value.
44 J. Diepolder et al.

5 Conclusions

In the present paper, we investigated a novel workflow for the clearance of flight
control laws with continuous control or disturbance inputs using Optimal Control
Theory and Postoptimal Sensitivity Analysis. For this methodology, sampling and a
global optimization method are used to obtain good initial guesses for the application
of direct Optimal Control Methods. Additionally, first and second order approxima-
tions for the objective function (clearance criteria) were revised which can be derived
from Postoptimal Sensitivity Analysis. The workflow is illustrated in a case study for
the preliminary design of an INDI controller for a tilt rotor system. In the example
presented here the maximum height loss during the transition phase of this tilt-rotor
system with respect to uncertainties in mass, moment of inertia and wind gusts was
investigated. The results gave meaningful insights concerning the robustness of the
controller and allowed to determine the sensitivities of the solution with respect to the
uncertainties. Future work will be devoted towards the extension for more realistic
models and additional clearance criteria.

Acknowledgements The authors wish to thank Matthias Bittner and Patrick Piprek for the helpful
discussions and useful comments. This work was partly supported by the DFG grant HO4190/8-1.

References

1. Ben-Asher JZ (2010) Optimal control theory with aerospace applications. AIAA education
series, American Institute of Aeronautics and Astronautics
2. Betts JT (2010) Practical methods for optimal control and estimation using nonlinear program-
ming. Advances in design and control. Society for Industrial and Applied Mathematics (SIAM
3600 Market Street Floor 6 Philadelphia PA 19104), 2nd edn. Philadelphia
3. Bryson AE, Ho YC (1975) Applied optimal control: optimization, estimation, and control.
Taylor and Francis, New York
4. Büskens C (1998) Optimierungsmethoden und Sensitivitätsanalyse für optimale Steuerprozesse
mit Steuer- und Zustands-Beschränkungen: Münster (Westfalen), Univ., Diss
5. Diepolder J, Gabrys A, Schatz S, Bittner M, Grüter B, Holzapfel F, Ben-Asher JZ (eds) (2016)
Flight control law clearance using worst-case inputs (To be published)
6. Fernandes de Oliveira R, Puyou G (2011) On the use of optimization for flight control laws
clearance: a practical approach. 18th IFAC World Congress 44(1):9881–9886
7. Fiacco AV (1983) Introduction to sensitivity and stability analysis in nonlinear programming,
vol 165. Mathematics in science and engineering. New York, Academic Press
8. Forssell LS, Åke Hydén (eds) (2003) Flight control system validation using global nonlinear
optimisation algorithms
9. Gill PE, Murray W, Saunders MA (2005) SNOPT: an SQP algorithm for large-scale constrained
optimization. SIAM Rev 47(1):99–131
10. Lai KL (2007) Extensions of the first and second complex-step derivative approximations. J
Comput Appl Math
11. Martins JRRA (2003) The complex-step derivative approximation. ACM Trans Math Softw
29(3):245–262
12. Menon PP, Bates DG, Postlethwaite I, Marcos A, Fern V, Ez Bennani S Worst-case analysis of
flight control laws for re-entry vehicles
Flight Control Law Testing Using Optimal Control … 45

13. Menon PP, Kim J, Bates DG, Postlethwaite I (2006) Clearance of nonlinear flight control laws
using hybrid evolutionary optimization. IEEE Trans Evol Comput 10(6):689–699
14. Price KV, Storn RM, Lampinen JA (2005) Differential evolution: a practical approach to global
optimization. Natural computing series. Springer, Berlin
15. Sieberling S, Chu QP, Mulder JA (2010) Robust flight control using incremental nonlinear
dynamic inversion and angular acceleration prediction. J Guid Control Dyn 33(6):1732–1742
16. Varga A, Hansson A, Puyou G (2012) Optimization based clearance of flight control laws: a
civil aircraft application. Lecture notes in control and information sciences. Springer, Berlin
An Unusual Structure for a Feedforward
Gust Load Alleviation Controller

Nicolas Fezans

1 Introduction and Motivation for Active Load Alleviation


with Anticipation Capabilities

Inhomogeneous wind fields such as turbulence and gusts are causing variations of
the global and local (considering their distribution over the whole airframe) aero-
dynamic forces and moments that are applied to the aircraft structure. In addition
to causing structural loads that the structure should be designed to support, these
additional forces and moments also cause passenger discomfort and anxiety. Active
load alleviation of gusts and turbulence is not a new topic: the investigations made
on active load control to solve the Lockheed C-5A fatigue issues and leading to the
development of the Active Lift Distribution Control System (ALDCS) dates back
forty years [9]. Already at that time, the trade-off between structure mass and use
of active control technologies was present. Historically, there have been two main
drivers for investigations on active load alleviation within the last forty years:
• either a structure design was available but was for some reasons too weak (e.g.
due to an increase in payload capacity) and the use of active control solved (or
was meant to solve) the problem,
• or designers were interested in saving mass (and thereby increasing airplane effi-
ciency) thanks to active load reduction systems.
Loads are not only generated by gusts and turbulence but can be caused (among
others) by maneuvers or during touchdown and ground operations. In order to opti-
mize weight savings various load cases might need to be considered simultaneously.
Even if not in the scope of this paper, gust and turbulence load alleviation functions
are often combined with a maneuver load alleviation function which shifts the lift

N. Fezans (B)
DLR, Institute of Flight Systems, Lilienthalplatz 7, 38108 Braunschweig, Germany
e-mail: nicolas.fezans@dlr.de

© Springer International Publishing AG 2018 47


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_3
48 N. Fezans

distribution over the wingspan towards the wing root during maneuvers with high
load factors. Over the last decades, many load alleviation functions have been suc-
cessfully implemented on numerous airplanes such as: Lockheed C-5A, Lockheed
L-1011-500, Boeing B-1, Northrop Grumman B-2, Airbus A320, Airbus A330/A340,
Airbus A380, Boeing 787, Airbus A350. Reference [26] and the references therein
give an interesting overview of the applications of active load alleviation.
The numerous successful applications of active control technologies for airplane
gust alleviation logically ended up reaching even the maximum technology readi-
ness level (TRL) of 9 for some of these systems. Consequently, the orientation of
the research activities of DLR on gust alleviation moved from more classical gust
alleviation system design (such as in OLGA [3, 13, 20], or LARS [8, 18, 19]) to
the investigation of more advanced solutions for a further improved alleviation per-
formance. The investigations presented hereafter aim at improving the anticipation
capability of future feedforward load alleviation functions. Complementary works
also made by DLR on improved controller synthesis methods for multi-objective and
robust feedback load alleviation (see [14–17, 21, 22]) are not in the scope of this
paper.
Previous works focusing on feedforward control and its anticipation of near future
loads had been performed over the last decades and had yield in particular to various
systems developed during the AWIATOR project [7, 10–12, 25]. These systems also
considered the use of LIDAR sensors for feedforward load alleviation purposes. As
for these previous investigations, the feedforward load alleviation function is based
on the idea that with a better anticipation of the near future loads a higher load
alleviation performance can be achieved. Consequently, in all these systems one of
the major components is dedicated to the determination of the expected near future
loads. This is realized by gathering information on the wind field ahead of the aircraft,
which in the concept shown hereafter, is based on a Doppler LIDAR sensor and a
rather extensive processing of the measurements. This information is then used to
alleviate these future loads in feedforward.
The processing steps allowing to determine the wind field ahead of the aircraft
were described in [6] and will not be further described here. The information on
the wind field ahead of the aircraft is therefore the starting point of the feedforward
controller that is presented hereafter: it is used to alleviate the loads that are expected
to be induced by the inhomogeneous part of this wind field.
Anticipating the future loads opens new possibilities in terms of load alleviation,
but cannot replace a feedback controller that directly acts on the closed-loop behavior
of the structural modes. These two functions (feedforward and feedback) are radically
different and complementary. The proposed feedforward load alleviation has been
designed as an add-on to a feedback load alleviation controller. As a consequence,
the feedforward function mainly aims at providing load alleviation commands that
are complementary to what a good feedback load alleviation would provide. With
other words, the parts of the future loads that could be alleviated by a feedback
load alleviation can but do not necessarily need to be alleviated by the feedforward
function. The parts of the future loads that cannot be alleviated by a feedback load
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 49

alleviation function (regardless of how well tuned it is) are the primary target for the
feedforward load alleviation function.
A typical example of loads that cannot be well alleviated by a feedback load
alleviation function but can significantly be reduced by a feedforward load alleviation
function are the loads resulting from gusts with large amplitude and relatively large
scales. The anticipation capability of the feedforward enables counteracting them by
pitching the aircraft, which is roughly one order of magnitude more effective for lift
increase/reduction than what can be done with the actuators located on the wings
(ailerons, spoilers/speedbrakes, flaps).
The load alleviation functions (both in feedback and in feedforward) are in general
add-ons to the basic control laws (later referred as “EFCS”), which provide the flight
control augmentation function (laws based on n z / C* or C*U / RCAH etc.). These
“basic” laws can be developed very soon during the development and flight test
program of the aircraft and are usually the main drivers for the handling qualities
of the aircraft. The other functions (such as feedback and feedforward gust and
turbulence load alleviation) are in general trying to satisfy other criteria without
deteriorating the handling qualities that are provided by the “basic” laws.
From a pure control theory point of view it could be argued that imposing a
structure to the controller with separated modules is adding constraints and there-
fore preventing reaching the “optimal solution.” However, this is a rather theoretical
debate since the controller design problem considering all control objectives and
constraints at once on a high-fidelity flexible aircraft model will not be tractable.
Moreover a complete integration of the control functions would also be very chal-
lenging in terms of time management and communication due to the fact that the
design and the validation of these functions typically involve several disciplines with
specialists spread across various departments. In this work, the typical decomposition
of the overall control system into the “basic” control laws and load alleviation func-
tions is not discussed but simply considered as a constraint. Only the feedforward
load alleviation function and in particular its structure is in the scope of this paper.
However, two complementary functions (a maneuver load alleviation function and
a gust/turbulence load alleviation function in feedback) were also developed during
this work. These three functions are represented in Fig. 1 with the other parts of
the complete closed loop system. In this figure, various possible interconnections of
the feedforward module with the rest of the system are shown in blue (dashed) and
magenta (fine dashed). Not all of the shown interconnections are always required:
the need for each one of them depends on the exact behaviors of the various con-
trollers and thereby on the undesired interactions that might have to be prevented. The
block-diagram shown in Fig. 1 assumes that the maneuver load alleviation function
acts as a pre-filter between the pilot inputs and the “rigid-body controller” (in general
part of the basic EFCS). This might however not necessarily be the case: combining
maneuver load alleviation and feedback load alleviation also makes sense and would
lead to a modified structure.
50 N. Fezans

Fig. 1 Flight control system architecture with active load alleviation functions

2 Motivation for a Novel Feedforward Controller Structure

In the previous section the decomposition of the complete flight controller into var-
ious subfunctions was shortly presented and discussed. This section focuses more
specifically on the internal structure of the feedforward gust and turbulence load
alleviation function.
In the specification of the desired load alleviation behavior made by the loads spe-
cialists who were involved in the definition of the problem addressed in the present
paper, a typical wording came repeatedly: “small amplitude disturbances should not
be alleviated using the spoilers.” While this is definitely reasonable from an airplane
performance point of view, this implicitly specifies that a highly nonlinear allocation
constraint is desired for the controller. This constraint makes the direct1 application
of some of the most powerful tools and results of the control theory impossible. It
also raised the question of defining a simple controller structure, which can easily be
tuned and permits to obtain such a highly nonlinear behavior. Pitching the aircraft

1 Notethat indirectly, after having exploited the structure proposed hereafter, the advanced tools
provided by the linear control theory could actually be applied to each of the resulting subproblems.
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 51

up or down is the most effective way to change the aerodynamic loads. For an effec-
tive load alleviation with a restricted bandwidth and based on pitching actions, the
pitching commands shall be initiated before encountering the disturbances. After
having considered the motivations for such a desired alleviation behavior, the prac-
tical aspects regarding structural loads at the horizontal tailplane and the fuselage as
well as for passenger comfort, the proposed alleviation concept was finally expressed
as follows:
• The low frequencies of the atmospheric disturbances should be alleviated by pitch-
ing up or down the airplane. For passenger comfort reasons, it shall be possible to
select a different behavior for low amplitude disturbances or even to restrict this
behavior to large amplitude disturbances (i.e. relevant for peak loads).
• In the medium-frequency range:
– The tuning parameters should allow to choose whether disturbances with very
small amplitudes in the medium-frequency range are alleviated or not (e.g. to
avoid unnecessary actuator cycles, or to reduce power consumption).
– The disturbances with relatively small amplitudes should be alleviated using
only trailing edge deflections or camber variations (so basically with ailerons
but eventually also with innovative flaps if available).
– The larger disturbances should be alleviated by any possible means of control,
including spoilers or any other device even if they tend to deteriorate the airplane
performance.
• The higher-frequency components of the disturbance will not be alleviated at all
with the feedforward function.
The limits between “low,” “medium,” and “higher” frequencies as well as the
thresholds between “very small,” “small,” and “larger” amplitudes are tuning para-
meters for the feedforward load alleviation function. Note that the bandwidth of the
feedback load alleviation function is usually expected to be higher than the one of the
feedforward load alleviation function. There is a priori no reason to impose any rela-
tionship between the bandwidths of feedforward and feedback functions, however
the limited wind sensor spatial resolution lowers the effective achievable bandwidth
of the feedforward load alleviation function.
Designing a controller providing the aforementioned behavior is not trivial. Even
if the amplitude decomposition were ignored and thereby only a frequency decompo-
sition were considered, specifying this frequency decomposition without impairing
the anticipation of the feedforward controller in a controller design problem would
involve relatively complex filters or design constraints. Eventually, the problem will
probably be hardly tractable and only researchers in automatic control will be able
to manipulate that problem and tune the design parameters. The controller structure
that is proposed in the next section addresses this problem by decomposing the prob-
lem into more manageable subproblems and by providing tuning parameters that can
easily be interpreted physically.
52 N. Fezans

3 Sketch of the Proposed Feedforward Controller Structure

The design of the feedforward gust and turbulence load alleviation strategy that
was described in the previous section is clearly not straightforward. It must behave
strongly nonlinearly at some frequency ranges and consists of at least two completely
separated types of alleviation: one based on local actions on the wing and the other
based on pitching up or down the aircraft. At the same time the phase-lag of the
alleviation commands should not be too high, otherwise the effectiveness of the load
alleviation will vanish. Since a piece of the future wind profile is known in advance,
it is actually possible to perform the required filtering operations without adding
phase-lag.
The concept proposed here is very unusual but relies on a very simple idea: the fil-
tering and highly nonlinear allocation between the different alleviation substrategies
will be enforced by a preprocessing step. Note that even if the developed controller
structure has been fully driven by the requirements of the considered application, the
resulting concept and structure can certainly be useful for numerous other applica-
tions.
The overall architecture resulting from the direct application of the aforemen-
tioned idea to the feedforward load alleviation controller can be represented schemati-
cally by the block-diagram of Fig. 2. A time-frequency transformation/decomposition
of the signal that is known partly in advance (here the wind ahead of the aircraft)
is performed first. The exact result of this operation depends on the time-frequency
technique used, but the information contained in the original signal is now expressed
as “at this point in time, the signal contains these frequencies with these amplitude
and phase” whereas it was previously expressed as “at this point in time, the sig-
nal had this value.” With most techniques, the information was not deteriorated and
could be transformed back with no loss. The capacity of restoring the original signal
is indeed very important for the proposed architecture and the inverse transformation
will be used later.
The following step is to select the components of the signal that are of interest for
the system and to treat them. For the sake of the example, the high-frequency noise on
the signal could be removed by erasing the corresponding transformed data (e.g. the
amplitude coefficients for all frequencies higher than a given threshold can be set to
0). If the altered transformed representation of the signal would be transformed back
to the time domain, it would seem that the original signal was low-pass filtered but
with no phase-shift. The nonlinear behavior desired for the pitching actions (i.e. only
consider low-frequency high-amplitude components of the signal) can be obtained
by selecting only the low frequencies of the signal and among them neglecting the
components whose amplitudes are below a certain threshold. By transforming the
remaining components back into the time domain, it would appear that the desired
characteristics have been separated from the rest of the signal.
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 53

Fig. 2 Overall structure for the feedforward load alleviation with allocation constraints

Once back in the time domain, the various signals that are obtained by using
this preprocessing can then be used by several controllers working in parallel. Each
controller has a restricted and well defined role, which eases its design. For instance,
the low-frequency high-amplitude part of the signal can be given as input to a simple
controller that can only provide an additional elevator command: the tuning of such a
function is very simple and the validation of its behavior also. Another controller can
take care of some medium-frequency parts of the signal by providing symmetrical
aileron commands.
This section gave a first insight on the structure that is proposed and on the way
this structure can be useful for realizing the behavior that was mentioned earlier. The
concrete implementation that was made uses the so-called Fast Orthogonal Wavelet
Transform, which is a time-scale instead of a time-frequency technique but the basic
idea remains the same. This implementation is detailed in the next section.
54 N. Fezans

4 Signal Characteristics Extraction and Splitting Using the


Fast Orthogonal Wavelet Transform

4.1 Wavelets and the Fast Orthogonal Wavelet Transform

The development of wavelet transforms was a major step in local time-frequency


decomposition of continuous and discrete signals [24]. The complete theory of the
various wavelet transforms and their use for signal processing goes far beyond the
scope of this paper. Consequently, only a few remarks required to understand the
approach used for the signal characteristics extraction and signal splitting step of
the proposed feedforward controller will be provided here. For a deeper insight in
wavelet theory and applications the reader is referred to [24]. Note that wavelets are
extensively used in image compression algorithms, which also have the advantage of
providing examples that are well-suited for illustrating some particular behavior. As
a consequence a vast part of the literature on wavelets uses images as examples, but
the principle remains the same: the time dimension is replaced by both dimensions
of the image and the frequency dimension by the local changes of the image when
following a straight line on the image.
Wavelets are sometimes described as “wave-like oscillations with an amplitude
that begins and ends at zero.” For all wavelets, the amplitude starts and ends at 0,
but can follow pretty much any profile in between. A few mathematical properties
of wavelets are important to mention here:
 +∞
• the average of a wavelet ψ ∈ L 2 (R) is zero (i.e. −∞ ψ(t) dt = 0),
• it is normalized (ψ = 1),
• and it is centered in the neighborhood of t = 0.
Based on the wavelet basis function ψ, a scale and shifted version of it can be
defined as:
 
1 t −u
∀(u, s) ∈ {R, R+∗ }, ψu,s = √ ψ , (1)
s s

where R+∗ is the set of strictly positive real numbers. Note that the normalization
still holds for the scaled and shifted wavelets: ∀(u, s) ∈ {R, R+∗ }, ψu,s  = 1. The
wavelet transform of a signal f ∈ L 2 (R) at time u and scale s reads:
 +∞  
+∗ 1 ∗ t −u
∀(u, s) ∈ {R, R }, W f (u, s) = f (t) √ ψ dt , (2)
−∞ s s
   
where ψ ∗ t−u s
is the complex conjugate of ψ t−u s
. The function ψu,s can here be
seen as a (flipped) convolution filter applied to the signal f . The zero-average property
of ψu,s and its limited support (region of R where it is nonzero) implies that the
constant part of the signal and the very low frequencies will not be transmitted through
this “filtering operation.” The frequencies contained in the function ψu,s also limit
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 55

the frequencies (both minimum and maximum) contained in the “filtered” signal. In
other words, the wavelet transform will behave as a band-pass filter that considers
only the input signal in the neighborhood of t = u. By applying this transform for
different values of u and s different frequency-bands and portions of the signal can
be considered separately.
The Fast Orthogonal Wavelet Transform (FOWT) is one particular type of wavelet
transform. It allows to decompose a discrete time signal in several successive steps.
Each step leads to a decomposition of the signal into
• its approximation or general trend (lower-frequency part)
• its details (higher-frequency part).
The obtained approximation is undersampled (factor 2) between each step, so that
the next decomposition generates signal characteristics with a lower frequency than
the previous step. This general process is schematically represented in Fig. 3. The
decomposition preserves time-wise correlation, which means, that information about
the signal characteristics at a certain time is still available. Furthermore, each signal
can be recomposed with an inverse process using the obtained approximations and
details.
These decomposition steps are based on convolutions between the signal (the
original signal at the first step or the approximation of the signal at the current level)
and a pair of complementary discrete filters. The complementary property leads to

Fig. 3 Schematical
representation of the signal Signal
decomposition steps based
on the FOWT [4]

Approximation + Detail

Approx. + Detail

b
56 N. Fezans

have (at each level) the sum of the signals corresponding to the “detail” and the
“approximation” part equal to the original signal.
For the type of processing that is considered in this paper, it is very important to use
a wavelet basis for which perfect reconstruction filters with a finite impulse response
exist. This allows to reconstruct easily the original signal from its decompositions
(with other words this allows to define the inverse transform). The filters used for
reconstructing the signal (i.e. for restoring the signal based on its decomposition as
series of coefficients) are different from the filters used for decomposing it. This leads
to have four filters, noted Dh , Dl , Rh , and Rl hereafter: D and R respectively stand for
decomposition and reconstruction and the indices h and l stand for high-frequency
(i.e. detail part) and low-frequency (i.e. approximation part).
The choice of the wavelet base influences the possibility of recovering signal prop-
erties from the decompositions. Basically, the wavelet base function is correlated with
the signal at different frequencies and magnitudes (similar to a Fourier-Transform).
For the work in this paper, the so-called bior3.9 wavelet was chosen. The four cor-
responding filters are defined by the coefficients provided in Eqs. (3)–(6).

Dh = [01×8 , −0.1767766953 , 0.5303300859 , −0.5303300859 , 0.1767766953 , 01×8 ]


(3)

[ −0.0006797444 , 0.0020392331 , 0.0050603192 , −0.0206189126 , ...


−0.0141127879 , 0.0991347825 , 0.0123001363 , −0.3201919684 , ...
Dl = 0.0020500227 , 0.9421257007 , 0.9421257007 , 0.0020500227 , ...
−0.3201919684 , 0.0123001363 , 0.0991347825 , −0.0141127879 , ...
−0.0206189126 , 0.0050603192 , 0.0020392331 , −0.0006797444 ]
(4)
[ −0.0006797444 , −0.0020392331 , 0.0050603192 , 0.0206189126 , ...
−0.0141127879 , −0.0991347825 , 0.0123001363 , 0.3201919684 , ...
Rh = 0.0020500227 , −0.9421257007 , 0.9421257007 , −0.0020500227 , ...
−0.3201919684 , −0.0123001363 , 0.0991347825 , 0.0141127879 , ...
−0.0206189126 , −0.0050603192 , 0.0020392331 , 0.0006797444 ]
(5)
Rl = [01×8 , 0.1767766953 , 0.5303300859 , 0.5303300859 , 0.1767766953 , 01×8 ]
(6)

Figure 4 presents a generic block diagram for a signal manipulation in the time-
scale domain. The decomposition filters Dh and Dl are applied in combination with
undersampling operations to decompose the signal provided in input in several steps.
In this figure, the decomposition was made up to the third level. The number of
decomposition levels to use should be chosen depending on the needs of each specific
application and relates to the lowest frequency band to be decomposed. The fact
that the input signal has a limited length limits the number of decomposition levels
that can be used (each undersampling operation shortens the signal) and therefore
the lowest frequency band that can be considered. In the considered application
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 57

Fig. 4 Representation of the signal decomposition and reconstruction steps based on a filter bank
implementation the FOWT. The decomposition is shown up to level 3. The blocks Dh , Dl , Rh , and
Rl are convolutions with the corresponding filter kernels (basically a vector when processing 1D
signals). In the middle of this figure, the location at which a module for analysis and manipulation
of the signal in the time-scale domain can be inserted is represented

to feedforward active load alleviation, this property was limiting the anticipation
capability. As a consequence the signal that is passed to the FOWT (noted a0 in
Fig. 4) is an artificially extended version of the original signal: see Sect. 4.2 for the
details on the signal extension. On the right of the block diagram shown in Fig. 4,
the reconstruction operations based on the filters (Rh and Rl ) and on the insertion
of zeros between each sample (counterpart of the undersampling operations in the
decomposition). The type of manipulations that can be made in the time-scale domain
(block in the middle) will be described later in Sect. 4.3.

4.2 Artificial Signal Extension

The area ahead of the aircraft for which the wind information can be reconstructed
based on the LIDAR measurements is limited in size due to the limited sensor range.
Increasing the measurement range (when possible) is expected to cause a significant
deterioration of the measurement quality (higher noise levels). Some measurements
located behind the aircraft current position are kept to prevent effects related to the
border of the estimation domain (see [6] for more information). This part is not
directly relevant anymore for the load alleviation functions. As a consequence, con-
sidering the foreseeable sensor performances the typical length of the reconstructed
wind profile will represent roughly 1 s of flight or 250 m.
This limited duration is an issue for the extraction of the low-frequency content
of the wind profile, which is meant to be alleviated with pitching commands. The
proposed solution consists in extending the wind field artificially with an exponential
decay between the end of the profile and converging to long-term (over 10–20 s)
average of the wind. Making this artificial extension converge to the observed average
58 N. Fezans

instead of zero is meant to increase the robustness of the solution against slight sensor
calibration errors and also against relatively large areas with non-negligible mean
vertical wind (e.g. thermal effects, turbulence, lee waves, or downburst). The time-
constant τdecay for the exponential decay shall be set to a value in the neighborhood
of the inverse of the lowest frequency f G L A,low that is worth to consider for the load
alleviation functions (i.e. τdecay ∈ [ f G L0.2
A,low
, f G L5A,low ]).
This artificial extension of the field can be seen as some kind of “educated guess”
on the general trend of the wind field outside of the domain where it was explicitly
estimated. It is clear that this “guess” is likely to be relatively far from the reality
at the medium and high frequencies, but it suffices that it is representative enough
for the low frequencies. Indeed, the low-frequency pitching command generation is
the only reason for needing a longer wind prediction horizon. Note that this guess or
approximation does not need to be good in the medium and high frequency ranges.

4.3 Overview of Wavelet Thresholding and of Its Use


for Extracting the Interesting Parts of the Signal

The previous sections presented the way the signal can be artificially extended to
permit the extraction of its lowest frequencies (Sect. 4.2) and how a signal can be
transformed to the time-scale domain and back using a FOWT filter bank (Sect. 4.1).
In the middle of Fig. 4 the place at which a manipulation of the signal in the time-
scale domain can be performed is indicated. This section presents the way these
manipulations were made for the application to active load alleviation.
The technique used to manipulate the coefficients at a given level such that low
amplitude coefficients are ignored is commonly known as “wavelet thresholding”
or “wavelet shrinkage.” The two most common thresholding function functions are
shown in Fig. 5.
The soft-thresholding function can be interpreted as a dead-zone: the coefficients
smaller (in absolute value) than the chosen threshold are set to zero whereas the
threshold magnitude is subtracted to the others. This yields to effectively ignore low-
amplitude parts of the signal but also reduces the amplitude of the larger ones and
thereby possibly prevents to reach the maximum achievable alleviation performance.
The hard-thresholding function is not affected by this problem but the discontinuity

Fig. 5 The two most


common thresholding
function: soft and hard
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 59

at the threshold causes artefacts in the reconstructed signals, at times for which the
wavelet coefficients are spread on both sides of the threshold.
The desired shrinkage function shall be zero (or very small) for low input val-
ues, converge to the linear function y = f (x) = x for x large, and be continuous
and tunable in between (but not necessarily smooth). The “smooth sigmoid-based
shrinkage” family of functions (SSBS) [1, 2, 23] satisfies all these requirements and
also provides a few additional degrees-of-freedom. It reads:
sign(x) max(0, |x| − t)
δt,τ,λ : R → R, x → . (7)
1 + e−τ (|x|−λ)

The role of the parameters t and λ can easily be understood based on Fig. 6.
The parameter τ defines the abruptness of the transition between the point (0, t)
and the asymptotes y = f (x) = x − t in +∞ and y = f (x) = x + t in −∞. In the
application considered in this paper the additional degree-of-freedom provided by
t is not used and the value of t is always set to 0 here. This corresponds to a case
where the SSBS function behaves as the soft-threshold for amplitudes far below the
threshold λ, behaves as the hard threshold for amplitudes far above the threshold λ,
and provides a smooth transition between these two behaviors in the neighborhood
of the threshold λ.
The way the wavelet thresholding technique can be used for the considered appli-
cation to the separation of signal characteristics for use by different load alleviation
controllers as proposed in Sect. 3 is explained hereafter. In a first step, the specifica-
tion of the limit between the low-frequency range (that will be alleviated by means
of pitching commands) and the medium-frequency range (alleviated with the actua-
tors on the wing) can easily be made by defining that this limit shall occur between
decomposition level (i.e. number of decomposition stages) P and level P − 1. The
signal to be used for the pitching actions is then based on the selected decomposition

Fig. 6 Representation of the


λ
SSBS function (blue line).
Asymptotes in +∞ and in
−∞ are respectively
represented in red and in
magenta. The black dashed
line represents the y = x
function
0

0
60 N. Fezans

level P, assuming during the reconstruction process that all “detail” coefficients at
the lower levels (i.e. P − 1, P − 2, . . . , 0) were equal to zero. Similarly, the signal
containing the remaining frequencies (all but the low frequencies) can be recon-
structed by using the coefficients at levels P − 1 and below and by ignoring the
coefficients from level P.
This strategy permits to split several frequency bands but still does not restrict
the pitching-based alleviation to large amplitude disturbances. For this, the coeffi-
cients at level P are modified using the wavelet thresholding technique based on
SSBS functions with t = 0. Even though that was not considered interesting for this
application,2 it would be possible to consider the part of the coefficients at level P
that is not considered for the pitching actions and to provide them to one of the other
controllers.
In order to completely filter out the higher frequencies a level R (with R < P)
can be defined and the “detail” coefficients for the levels between 0 and R can simply
be set to zero. The signal extracted by the operations described above is the signal
that is later passed to the first or “pitching commands” controller, which can be seen
as the block labeled “Cont. #1” in Fig. 2.
The second and third controllers (“Cont. #2” and “Cont. #3”) can act on the wing
control surfaces: only on the ailerons in the case of controller 2 and both on ailerons
and spoilers in the case of controller 3. Both are working in the same frequency band
but controller 2 is the only one active for small disturbances and controller 3 becomes
active for larger disturbances. A similar signal extraction via wavelet thresholding
with an SSBS function as for controller 1 is first applied to the intermediate levels
(levels P − 1 and below). Then for each of the considered levels the obtained wavelet
coefficients are distributed to either controller 2 (the small ones) or controller 3 (the
large ones). Indeed, the distribution is performed in a smooth manner using a logistic
function l B,M for each of the considered levels.
1
l B,M : R → [0, 1], x → −B(|x|−M)
(8)
1+e

The function l B,M defines a coefficient between 0 and 1 such that for small x the
value is (very close to) 0 and for large x it is (very close to) 1. So for a given wavelet
coefficient c23 that was selected to be alleviated either by controller 2 or by controller
3, the coefficients c2 and c3 that correspond to the respective parts to be alleviated
by controller 2 and by controller 3 are defined as follows:
 
c2 = 1 − l B,M (c23 ) c23 and c3 = l B,M (c23 ) c23 (9)

2 The low amplitudes are removed here because it is expected that they essentially resulted from
the sensor noise via the wind reconstruction algorithm: considering them and taking actions based
on them is likely to not provide any load improvement. It would even generate load cycles in the
structure while flying through calm air.
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 61

From the definition of l B,M the role of both parameters can easily be understood:
• M defines the location (here a threshold on the wavelet coefficient amplitude)
whereat the transition between controllers 2 and 3 is occurring: when the coefficient
is equal to M then 50% of it is taken care of by controller 2 and the other 50% by
controller 3.
• B defines the growth rate: a large value for B causes an abrupt transition between
0 and 1.
The desired behavior necessarily corresponds to cases for which B > 0 and M ≥ 0.

4.4 Illustration of the Obtained Signal Decomposition


Technique

The filtering process presented in the previous section is applied to the reconstructed
and extended wind signal provided by the wind reconstruction process of [6]. The
result is shown in Fig. 7, where one of the reconstructed results obtained in [6] is
considered as input signal. This reconstructed wind profile is shown in magenta.
Its extension (see Sect. 4.2) is shown in black and the extracted three signals (1
per controller) are shown by the dashed-cyan lines. Note that these signals are the
portions of the reconstructed vertical wind profile (in m/s) that is provided at each
moment in time to the three controllers (pitch, symmetrical deflections of ailerons,

20
For Pitching
Controller

−20
Vertical wind speed [m/s]

Ailerons Only

20
Controller
For

−20
20
Both Ailerons
and Spoilers
Controller

−20
20
All Three
Sum of

−20
−400 −300 −200 −100 0 100 200 300 400 500
Position [m] along the predicted path (aircraft at 0, positive values => ahead of the aircraft)

Fig. 7 Illustration of the behavior of the signal extension, filtering, and characteristics extractions
on a partly reconstructed 1-cosine gust
62 N. Fezans

and symmetrical deflections of ailerons and spoilers) and not the control commands.
These wind profile portions are updated every 0.3 s but the corresponding controllers
continuously generate control commands based on the last profile that they received
in input (which can therefore be up to 0.3 s old) and the airplane current position.
In Fig. 7 (as for the following ones), the aircraft is located at the position 0 m (i.e.
the vertical wind profiles shown are drawn along the predicted aircraft path: positive
values on the abscissa are ahead of the aircraft). Note that even with no wind at
the current aircraft position, the prediction of the coming gust permits to anticipate
pitching actions.
The case of Fig. 7 is a particularly favorable example, since the signal extension
seem to prolongate almost perfectly the “1−cosine” gust profile. Figure 8 shows
the example of the wind reconstruction result which was obtained 0.3 s before: this
time the fact that the extension of the signal is just an decreasing exponential curve
can clearly be seen. However, roughly the same input is generated for the pitching
controller in Figs. 7 and 8, which shall not impair its capacity to anticipate. The
pitching controller can begin to act even earlier, even though not even the half of the
gust was located in the wind reconstruction mesh. The behavior obtained with lower
disturbance amplitude is shown in Fig. 9. In this figure, the same gust than before
is considered but at a later point in time: the aircraft moved forward such that the
gust is now almost completely behind the wind reconstruction mesh. Still a short
peak of about 2 m/s amplitude is contained in the reconstructed vertical wind (plus
the imperfections due to the noise on the measurements). Negligible deviations from
zero can be seen on the first signal (for pitching) and only minimal amplitudes are
extracted for the ailerons-based controller. The comparison with the signals shown

20
For Pitching
Controller

−20
Vertical wind speed [m/s]

20
Ailerons Only
Controller
For

−20
20
Both Ailerons
and Spoilers
Controller

−20
20
All Three
Sum of

−20
−400 −300 −200 −100 0 100 200 300 400 500
Position [m] along the predicted path (aircraft at 0, positive values => ahead of the aircraft)

Fig. 8 Same as in Fig. 7, but 0.3 s earlier when less than a half of the gust was reconstructed
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 63

For Pitching
Controller
0

−2
Vertical wind speed [m/s]

2
Ailerons Only
Controller
For

−2
2
Both Ailerons
and Spoilers
Controller

−2
2
All Three
Sum of

−2
−400 −300 −200 −100 0 100 200 300 400 500
Position [m] along the predicted path (aircraft at 0, positive values => ahead of the aircraft)

Fig. 9 Same as in Figs. 7 and 8, at the end of the encounter with the gust. Note that the scale for
the ordinate significantly differs from the scale in Figs. 7 and 8

in Figs. 7 and 8 illustrates the strongly nonlinear behavior that was set to prevent any
propagation of the sensor measurement noise (through an imperfectly reconstructed
wind profile) up to the actuator commands. This behavior also permits to avoid
affecting the passenger comfort and activating the feedforward load alleviation when
no disturbance was detected that is large enough to cause significant loads.

5 Results on the Application to Airplane Feedforward Gust


and Turbulence Load Alleviation

The proposed feedforward load alleviation controller structure has been tested in
simulation. The considered aircraft model is an integrated flexible simulation model
(based on the Airbus XRF1 model) in which the full nonlinear equation of motions
are coupled with the aeroelastic model. It comprises also actuator and sensor models.
This model was developed by the DLR Institute of System Dynamics and Control,
who also designed a basic flight control system (later referred to as “EFCS”) as well
as an active load alleviation function (later referred to as “FBALC”) based on more
classical sensors (e.g. accelerometers) distributed on the aircraft structure.
The feedforward load alleviation function that uses the structure proposed here has
been called “GLAREWISE+TFAC,” which stands for “Gust Load Alleviation using
REmote WInd SEnsing and with Time-Frequency-based Allocation Constraints.” As
it can be observed in the previous sections, this feedforward function does not try to
64 N. Fezans

alleviate the disturbances perfectly, but rather focuses on the signal components that
are known with a high level of confidence and for which the anticipation capability
of the feedforward enables a better load alleviation performance than what can be
achieved with a feedback function. The reason for that is that from a system architec-
ture point of view, there are three main possible system designs: EFCS with no load
alleviation function, EFCS and feedback load alleviation, and EFCS plus integrated
feedback+feedforward load alleviation. A feedforward load alleviation alone would
already lead to a significant system complexity, but still not permits to directly act on
the modes of the flexible aircraft (e.g. add some damping or increase the robustness
of the load alleviation).
The cases considered hereafter are gusts with a one-cosine shape and all having
the same amplitude. Three of the typical gust lengths considered for the certifica-
tion are shown hereafter: 150, 300 and 350 ft. The 300 and 350 ft gusts are shown
in both directions (upward and downward), whereas the 150 ft gust is only shown
in the upward direction. Figure 10 shows the time responses of the wing root bend-
ing moment (left) and of the corresponding vertical accelerations at the middle of
the cabin (right). For all five simulations shown, the black line corresponds to the
“EFCS” case, the dashed magenta line corresponds to the “EFCS and FBALC”
case, and finally the dash-dotted cyan line corresponds to the “EFCS, FBALC, and
GLAREWISE+TFAC” case. The anticipation capability of the GLAREWISE+TFAC
function can easily be seen by the fact that the dash-dotted cyan line begins to vary
before the other two: this variation is mainly due to the pitching command that antic-
ipate that loads in the opposite direction are expected to occur very shortly after. In
all these simulations the gusts begin at the time t = 6 s. The first seconds are not
shown here and are not relevant for the load analysis: during this time the aircraft
flies simply in its trimmed condition. These seconds need however to be simulated
in order to bring the internal states of the GLAREWISE+TFAC function to a repre-
sentative state (number of LIDAR measurements in the buffer, spatial distributions
of these measurements, etc.).
The 300 ft case is the most critical in terms of wind bending root moment for
the considered airplane. As a consequence, the tuning of the feedforward function
(filtering, characteristics extraction, individual controller tuning) was strongly ori-
ented to providing load alleviation for gusts having a length in the neighborhood of
300 ft. The tuning was not oriented toward pure structural loads but also strongly
considered the comfort, which can be seen on the vertical accelerations. The load
reduction performance achieved in the 150 ft case on the wing bending root moment
is not as good (relative improvement of the maximum load during the simulation)
than in the 300 ft case. Note however that the absolute values are still lower than
the absolute values obtained with both load alleviation functions in the 300 ft case.
The vertical accelerations were still improved on the 150 ft case: reduced maximum
value thanks to the GLAREWISE+TFAC anticipation capability and lower oscilla-
tions thanks to the mode damping provided by the FBALC function. On the 300 ft
case, the reductions both in terms of wing bending root as in terms of vertical load
factor are very promising. Note that the anticipation of the GLAREWISE+TFAC
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 65

7 Wing root bending moment [Nm] − 150 ft Upward Load factor n [g] − 150 ft Upward
z
x 10
2 2.5

2
1.5

1.5
1
1

0.5
0.5

0 0
5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

6 Wing root bending moment [Nm] − 300 ft Downward Load factor n [g] − 300 ft Downward
z
x 10
15 1.5

10 1

5 0.5

0 0

−5 −0.5
5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

7 Wing root bending moment [Nm] − 300 ft Upward Load factor n [g] − 300 ft Upward
z
x 10
2 2.5

1.5 2

1 1.5

0.5 1

0 0.5
5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

6 Wing root bending moment [Nm] − 350 ft Downward Load factor nz [g] − 350 ft Downward
x 10
15 1.5

10 1

5 0.5

0 0

−5 −0.5
5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

7 Wing root bending moment [Nm] − 350 ft Upward Load factor nz [g] − 350 ft Upward
x 10
2 2.5

1.5 2

1 1.5

0.5 1

0 0.5
5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10
Time [s] Time [s]
EFCS
EFCS and FBALC
EFCS and FBALC and GLAREWISE+TFAC

Fig. 10 Comparison of wing root bending moments and vertical acceleration (middle of cabin)
over time with various 1-cosine gust of length 150, 300, and 350 ft
66 N. Fezans

function permitted to prevent negative load factors in the downward 300 ft and 350 ft
cases.
In terms of required computational power the FOWT-based decomposition, the
signal characteristics extraction and splitting based on the SSBS and logistic func-
tions, and the inverse FOWT are all very simple operations. The computation
resources needed (CPU, memory) are not expected to pose any practical difficulty
and are totally deterministic.

6 Conclusion and Outlook

An unusual feedforward controller structure that allows to take allocation constraints


that can be expressed in the time-frequency or time-scale domains has been presented.
This novel controller structure was motivated by the design of a feedforward con-
troller for airplane gust and turbulence load alleviation based on Doppler LIDAR
measurements. As shown in the application that has motivated this development,
some strongly nonlinear constraints can be guaranteed by the design of the structure.
The developed structure is not restricted to the considered application and could be
applied successfully to many other feedforward control problems with some prior
knowledge of the future disturbances, references, or parameters. More information
on the nonlinear and robust controller design for the feedback load alleviation con-
troller (used in this paper in addition to the feedforward function) will be published
in the near future [5]. The control approach presented here focuses in designing a
controller structure permitting to decompose the feedforward function into various
subfunctions regardless of how these subfunctions are designed (e.g. with H2 , H∞ ,
or even adaptive control techniques as proposed in [27, 28]).

Acknowledgements The author thanks the European CleanSky initiative for the partial funding
of this work (under grant CSJU-GAM-SFWA-2008-01) as well as the project partners involved
in the SFWA WP1.2 and especially Airbus, which provided the flexible long range aircraft model
data (XRF1 model), and the colleagues Thiemo Kier and Hans-Dieter Joos from DLR Institute of
System Dynamics and Control, who prepared the integrated model and provided the corresponding
simulation environment and basis controller (both EFCS and FBALC).

References

1. Atto AM, Pastor D, Mercier G (2008) Smooth sigmoid wavelet shrinkage for non-parametric
estimation. In: Proceedings of the 2008 IEEE international conference on acoustics, speech,
and signal processing (ICASSP)
2. Atto AM, Pastor D, Mercier G (2008) Wavelet shrinkage: unification of basic thresholding
functions and thresholds. Signal Image Video Process (SIViP) 5(1):11–28. https://doi.org/10.
1007/s11760-009-0139-y
3. Böhret H, Krag B, Skudridakis J (1985) OLGA an open-loop gust alleviation system. In:
Proceedings of the AGARD CP 384 meeting, Toronto, Canada
An Unusual Structure for a Feedforward Gust Load Alleviation Controller 67

4. Deiler C (2014) Data parser approaches for (online) parameter estimation. CEAS Aeronaut J
5(3):345–357
5. Fezans N, Joos H-D (2017) Combined feedback and lidar-based feedforward active load alle-
viation. In: 2017 AIAA atmospheric flight mechanics conference (submitted)
6. Fezans N, Schwithal J, Fischenberg D (2015) In-flight remote sensing and characterization of
gust, turbulence, and wake vortices. In: Proceedings of the 2015 German aerospace congress
(Deutscher Luft- und Raumfahrtkongress), Germany
7. Hahn K-U, Hecker S (2004) Gust load alleviation system. Technical report, DLR, Braun-
schweig, Germany. AWIATOR, Technical report, DLR-TR-3.1.1-12
8. Hahn K-U, König R (1992) Attas flight test and simulation results of the advanced gust man-
agement system LARS. In: Proceddings of the AIAA atmospheric flight mechanics conference,
SC, USA
9. Hargrove WJ (1976) The C-5A active lift distribution control system. NASA, Technical report,
pp N76–31148
10. Hecker S (2005) Gust load alleviation system using adaptive elements. Technical report, DLR,
Oberpfaffenhofen, Germany. AWIATOR, Technical report, DLR-TR-3.1.1-13
11. Hecker S, Hahn K-U (2003) Gust computation system. Technical report, DLR, Oberpfaffen-
hofen, Germany. AWIATOR, Technical report, DLR-TR-3.1.1-11
12. Hecker S, Hahn K-U (2006) Gust load alleviation system using turbulence sensor and adaptive
elements. Technical report, DLR, Oberpfaffenhofen, Germany. AWIATOR, Technical report,
DLR-TR-3.1.1-14
13. Hoffmann G (1976) Stabilisierung. Böenkompensation und Schwingungsdämpfung am elastis-
chen beweglichen Flugzeugmodell im Windkanal. Technical report, DFVLR (now part of
DLR), Cologne, Germany
14. Joos H-D (1997) Multi-objective parameter synthesis (MOPS). In: Magni JF, Benani S, Terlouw
J (eds) Robust flight control: a design challenge. Lecture notes in control and information
sciences. Springer, Berlin, pp 199–217
15. Joos H-D (1999) A methodology for multi-objective design assessment and flight control
synthesis tuning. Aerosp Sci Technol 3(3):161–176 April
16. Joos H-D (2011) Worst case parameter search based clearance using parallel nonlinear pro-
gramming methods. In: Varga A, Hansson A, Puyou G (eds) Optimization based clearance of
flight control laws. Lecture notes in control and information science. Springer, Berlin
17. Joos H-D, Bals J, Looye G, Schnepper K, Varga A (2002) A multi-objective optimisation
based software environment for control systems design. In: Proceedings of the 2002 IEEE
international conference on control applications and international symposium on computer
aided control systems design (CCA/CACSD), Glasgow, Scotland
18. König R, Hahn K-U (1990) Load alleviation and ride smoothing investigations using attas. In:
Proceedings of the 17th Congress of the International Council of the Aeronautical Sciences,
Stockholm, Sweden
19. König R, Hahn K-U, Winter J (1994) Advanced gust management systems - lessons learned
and perspectives. In: Proceedings of the AGARD flight mechanics panel symposium on active
control technology: applications and lessons learned, Torino, Italy
20. Krag B (1979) The wind tunnel behaviour of a scaled model with a gust alleviation system in
a deterministic gust field. Trans Inst Meas Control 1(3)
21. Looye G, Joos H-D (2001) Design of robust dynamic inversion control laws using multi-
objective optimization. In: Proceedings of the AIAA guidance, navigation, and control confer-
ence and exhibit, Montreal, Canada AIAA-2001-4285
22. Looye G, Joos H-D, Willemsen D (2001) Application of an optimization-based design process
for robust autoland control laws. In: Proceedings of the AIAA guidance, navigation, and control
conference and exhibit, Montreal, Canada
23. Lorenz DA (2004) Wavelet shrinkage in signal and image processing. Ph.D. thesis, University
of Bremen
24. Mallat S (2009) A wavelet tour of signal processing - the sparse way. Academic Press, Dublin.
ISBN: 978-0-12-374370-1
68 N. Fezans

25. Rabadan GJ, Schmitt NP, Pistner T, Rehm W (2010) Airborne lidar for automatic feedforward
control of turbulent in-flight phenomena. J Aircr 47(2)
26. Regan CD, Jutte CV (2012) Survey of applications of active control technology for gust alle-
viation and new challenges for lighter-weight aircraft. Tech report TM-2012-216008, NASA,
Dryden Flight Research Center, Edwards, CA, USA
27. Wildscheck A (2008) An adaptive feed-forward controller for active wing bending vibration
alleviation on large transport aircraft. Ph.D. thesis, TU Munich
28. Zeng J, Moulin B, de Callafon R, Brenner MJ (2010) Adaptive feedforward control for gust
load alleviation. J Guid Control Dyn 33(2)
Aspects of a Consistent Modeling
Environment for DO-331 Design Model
Development of Flight Control Algorithms

Markus Hochstrasser, Simon P. Schatz, Kajetan Nürnberger,


Markus Hornauer, Stephan Myschik and Florian Holzapfel

1 Introduction

Within various projects, the Institute of Flight System Dynamics at TU München


developed a modular flight control software for usage in applications ranging from
manned autopilot functions to unmanned operations from ground. The controllers
were developed using a model-based approach with MATLAB, Simulink, and State-
flow. To guarantee high-quality models and code, and to pave the way for future
certification, a model-based development process based on industry standards pro-
posed for airborne software was developed.
In the chosen development approach according to DO-178C [19] and DO-331
[20], Simulink and Stateflow models step in the place of “Software Low-Level
Requirements” and “Software Architecture”. The “Design Models”, as they are called
by DO-331 in this context, are directly used to generate ANSI C “Source Code”. The
use of MATLAB, Simulink, and Stateflow in such a context requires a special setup,

M. Hochstrasser (B) · S.P. Schatz · K. Nürnberger · M. Hornauer · F. Holzapfel


Institute of Flight System Dynamics, Technische Universität München, Munich, Germany
e-mail: markus.hochstrasser@tum.de
S.P. Schatz
e-mail: simon.p.schatz@tum.de
K. Nürnberger
e-mail: kajetan.nuernberger@tum.de
M. Hornauer
e-mail: markus.hornauer@tum.de
F. Holzapfel
e-mail: florian.holzapfel@tum.de
S. Myschik
Chair of Flight Mechanics and Flight Control, Universität der Bundeswehr München,
Neubiberg, Germany
e-mail: stephan.myschik@unibw.de

© Springer International Publishing AG 2018 69


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_4
70 M. Hochstrasser et al.

preparation, and limitation of the tool capabilities. The required documentation and
configuration is in general created during the Software Planning Process and in the
following denoted as “Modeling Environment”. Estrada [6] emphasizes the impor-
tance of an environment, but does not discuss the details of its content.
The Modeling Environment describes a package of settings, libraries, and tem-
plates that are made available to developers in order to support them in implement-
ing models and generate code that is safe and compliant to the defined process. The
difficulty in setting up such an environment originates from the close connection
between Design Model and Source Code and the standards both have to fulfill. Since
code generation is normally done by a single function call, the Design Model not
only describes the design itself, but also the appearance of the generated code. A
well-prepared Modeling Environment can significantly improve the results of static
code analysis and standard compliance checking in subsequent steps and reduce the
remaining effort as shown in [9].
Another challenge is that model developers usually do not have the experience
of a C programmer, but are responsible for the generated safety-critical code and its
compliance to standards as well. Thus, the fulfillment is mainly determined by the
quality and consistency of the conventions and settings from the provided Modeling
Environment.
The Modeling Environment normally depends on multiple factors and may vary
from company to company. However, the presented basic set is required in most
of the projects. Since the content may be influenced by the chosen development
process, the application to be developed and the hardware on which the application
shall be executed, Sect. 2 introduces the applied model-based development process
and Sect. 3 gives a short overview about the flight control computer hardware and
the controller design. Based on this, Sect. 4 contains a detailed discussion of the
suggested Modeling Environment.

2 Model-Based Software Development Process

The objective was to develop a controller application in alignment with guidance


material for a CS-23 aircraft. In Book 2 of CS-23 [7], the relevant paragraph CS
23.1309 “Equipment, systems and installations” does not provide acceptable means
of compliance for digital flight control systems, but EASA Certification Review Items
refer to FAA Advisory Circular AC 23.1309-1E [8], which itself refers DO-254 [18]
and DO-178B/C [19] as guidance material for software and hardware development.
With DO-178C, RTCA published additional supplements addressing modern
techniques for software development like model-based approaches (DO-331 [20]) or
formal methods (DO-333 [21]). Especially model-based development became pop-
ular in the recent years, since it provides means to implement complex software,
simulate the models in an early development stage, and automatically generate code.
Tool vendors for model-based development software try to provide a consistent
tool chain, allowing the fulfillment of DO-331 objectives in an effective and mostly
Aspects of a Consistent Modeling Environment … 71

automated way. Most popular are the workflows provided by MathWorks [32] and
Esterel [5].
For the given project, the Institute of Flight System Dynamics decided to setup a
development process based on the MathWorks DO Qualification Workflow [32] for
applications up to DAL B. The workflow proposes to use Simulink and Stateflow to
implement the Design Model, replacing Software Low-level Requirements as well
as Software Architecture from the conventional DO-178C process. The approach
coincides with DO-331 MB.1.6.3 Example 1 and is also presented in [4, 17].
C Source Code is directly generated from the Design Model using Embedded
Coder (EC). Since the code generator is not shipped with a Tool Qualification Kit,
MathWorks provides Simulink Code Inspector to automate code review and verify
compliance of the Source Code with the Design Model as well as traceability. Using
SLCI restricts features of Simulink and Stateflow to a robust and safe subset.
The workflow and tool chain at the institute subsequent to the generation of Source
Code is described in [10]. The interplay with a system design process for control
algorithm development is outlined in [11].
Using a Design Model and directly generating code out of it brings the DO-178C
Design Process closer to the Coding Process. The work to be done in the Coding
Process reduces to a single function call of the coder. The fulfillment of Source Code
objectives from Table MB.A-5 now can only be influenced by the Design Model. The
Simulink and Stateflow models thus have to address rules from a Software Design
Standard, a Model Standard but also a Code Standard.

3 Hardware and Software Context

3.1 Flight Control Computer Hardware

The addressed controller runs on a single flight control computer (FCC). This is
possible due to the system architecture of the research aircraft and the safety concept
of the experimental flight control system [1].
The flight control computer has been developed together with industry partners
regarding certification aspects.1 The Power PC 32-bit architecture has a clock speed
of 533 MHz with a double-precision floating point unit and works in Big-Endian
mode. It also has a high-speed interface to two Cortex M-I/O-processors, providing
various UART, ARINC-825, and ARINC-429 interfaces along with multiple discrete
IOs.

1 http://www.fsd.mw.tum.de/infrastructure/gnc-subsystems/ [Cited on 6 January 2017].


72 M. Hochstrasser et al.

Medium
HMI Inner Loop
Level
(Mode Trajectory Controller
Control Generation Auto Flight Command Body Axis
Panel) Trafo Load Factor
System Bank Angle
Control Surface
Input System Commands
Medium Output
Level Process Auto- Vertical/Lateral Body Axis,
Load Factor, Processing Throttle Lever
-ing mation Path, Commands
External Bank Angle ATHR
Trajectory and Rate
Guidance High ATOL Speed Commands
System Level Thrust
Control

Fig. 1 Structure of the modular integrated flight control system

3.2 Controller Design Considerations

3.2.1 Controller Architecture

Figure 1 shows a simplified version of the cascaded controller and the identified soft-
ware modules. Input and output processing modules contain reorganization of the
incoming and outgoing data. Core of the algorithm is an aircraft dependent baseline
innerloop controller, whose input commands are the load factors. The auto flight
system contains a trajectory/path controller and a controller for well-known autopi-
lot functionalities like attitude, altitude, heading, or speed hold. Further information
about the auto flight module and the integrated trajectory/path controller is provided
by [14, 15, 22]. For high-level commands, e.g., waypoints, the controllable path is
calculated by the trajectory generation module as described in [23, 25, 26]. Addi-
tionally, there exists a module for automatic landing and take off (ATOL). All mode
switching as well as the startup behavior is implemented in the system automation
module as outlined in [16].

3.2.2 Software Modules and Interfaces

The controller is concurrently developed by various developers that are working


on and are responsible for clearly defined software modules. A software module
consists of a set of Simulink Models and dependent data passing the software lifecycle
together. A software module has an own revision index, a defined interface and
separately allocated requirements. The schematic draft of the system in Fig. 1 also
outlines the most important software modules.

3.2.3 Floating-Point Arithmetic

Since the FCC has a double-precision floating point unit, this arithmetic is preferred.
Although real necessity for double-precision is only given when dealing with WGS-
84 waypoint positions, it was decided to honor simplicity and perform all calculations
with double-precision.
Aspects of a Consistent Modeling Environment … 73

Understanding generated shared utility functions (see Sect. 4.2.4) and treatment
of special floating point quantities (NaN, Inf,...) requires a deeper look into floating
point arithmetic. The FCC partly supports floating point arithmetic standardized by
IEEE-754:2008 [12]. Here, the binary64 format with base two, an exponent length
of ten bytes and a mantissa length of 52 bytes (plus one bit for the sign) is used. This
complies with the internal floating point representation and arithmetic of MATLAB.2
The treatment of special floating point quantities is shortly addressed in the follow-
ing section. The internal floating point exception handling as specified in IEEE-754
is not considered.

3.2.4 Interface to C Framework

The model-based controller is embedded in a conventionally developed C framework.


The top-level model of the controller application, as simplified in Fig. 2, provides
one in- and outport for every incoming and every outgoing physical interface of the
FCC. The port data types are designed as Simulink Bus objects, which are translated
to C structures during code generation. The coder settings therefor are described in
Sect. 4.2.1.
The input and output buses have sub-buses for every readable/writable message,
which itself contain elements for every message payload parameter. Additionally,
every message bus has an update indication, notifying that a new message has been
received, or a message as to be sent, respectively.
The execution of the whole software is as follows: Every iteration the surrounding
C-Framework decodes incoming messages and copies the received data into the
exposed C structures of the generated code. After that, it calls the step function of
the application. As soon as the step function has finished, the framework copies the
data from the outgoing C structures into the messages to be sent.
It is also visible in Fig. 2 that the incoming data is rearranged into functional
structures in system “datain” at first (e.g., into sensors_in). This system addi-
tionally performs basic input monitoring like saturation to a specific range. From this
point on, no special floating point quantity shall be in the software any more and no
subsequent software module shall introduce such.

4 Modeling Environment for Safety-Critical Software


with Simulink and Stateflow

This chapter summarizes the most important aspects, which a consistent Model-
ing Environment for MATLAB Release 2016b must fulfill to create safety-critical
software. For other releases, variations are possible. The Modeling Environment is

2 http://de.mathworks.com/help/matlab/matlab_prog/floating-point-numbers.html [Cited on 09/05/

2016].
74 M. Hochstrasser et al.

ah_modules
1 a825_1_in
a825_1_in sensors_in sensors_in act_cmd_out act_cmd_out

2 a825_2_in 1
a825_3_out
a825_2_in
a825_3_out
3 uart_1_in fcc_info_out fcc_info_out
uart_1_in stick_pos_in stick_pos_in
34 uart_1_in uart_2_out 2
uart_1_in uart_2_out
datain auto_flight_modules dataout

Fig. 2 Schematic draft of the top-level controller model

Quality
Compatibility
MODELING

Safety

Simulation Modeling Rules Modeling Model Element Common Model Plugins (e.g,
Configuration Naming Rules Library Library Advisor for RMI)
Settings Configuration
CODING

Coder Code Shared Code Code Replacement Advanced


Configuration Generation Folder Library Target-Specific
Settings Template Configuration

Fig. 3 Modeling Environment provided to developers at the Institute of Flight System Dynamics.
The whole package is under version control and its content must be read or installed by the developers
in Simulink prior to implementation

defined during the software planning process and mainly documented in the Software
Model Standard (DO-331 MB.11.23 “Model Standards”) with respect to

• existing modeling rules,


• standards for generated code,
• tools used in the process,
• strategies for integration, and
• planned target hardware.

The Modeling Environment used at the institute is depicted in Fig. 3. For this
paper, the Modeling Environment is divided into a modeling and coding part. In
reality, the border is indistinct. For example, Simulink uses a single configuration
file/object, mixing options for simulation and for code generation with EC. This is
similar for modeling rules that influence the model, but with respect to the generated
code.
Aspects of a Consistent Modeling Environment … 75

Section 4.1 introduces the part of the Modeling Environment that primarily
impacts the Design Model in its function as Software Low-Level Requirements and
Software Architecture. Section 4.2 focuses on details relevant for code generation.

4.1 Environment for Design and Simulation

4.1.1 Modeling Rules

Basis for the finally applied set of rules in the presented application were the MAAB
Control Algorithm Modeling Guidelines [27], the MathWorks High-Integrity System
Modeling Guidelines [30], and the MathWorks Code Generation Guidelines [29].
This basic set was reduced by removing duplicates resulting from the independent
historical origin of the rules. Additionally, restrictions imposed by subsequent tools,
especially SLCI, allowed the exclusion of further guidelines (e.g., since no Embedded
MATLAB Charts and Functions are supported, all rules on MATLAB code could be
excluded). Instead and supplemental to this basic collection, custom rules have been
defined. Table 1 lists a summary of the applicable modeling rules at the institute. In
some cases, the custom rules replace or overwrite parts of the MAAB and MathWorks
rules. Then, the respective, underlying rules have been marked as not applicable and
were redefined.
Not included in Table 1 are rules concerning compatibility. Compatibility rules
e.g., for SLCI are documented in the corresponding tool operational requirements.
In the case of SLCI, most of the compatibility rules are also shipped with checks.
During the verification process, the rules may either be reviewed or automatically
checked using Simulink Model Advisor. The collection of Model Advisor checks is
provided to the developer within the Modeling Environment as “Model Advisor Con-
figuration” to allow continuous checking before the subsequent verification process
is triggered.
A closer look at the set of applicable rules reveals, that not all of them have
the same criticality. Rules addressing model appearance are for example necessary
to achieve readable models, but do not impact the generated code. In contrast, an
integer overflow behavior setting is of much higher importance. Thus, the rules are
categorized into three groups:

Table 1 Composition of modeling rules


Source # Rules original # Applicablea
MAAB (v. 3.0) 109 54
MW HI (R2016b) 101 72
MW CG (R2016b) 12 5
Custom 51 51
a For projects at the Institute of Flight System Dynamics
76 M. Hochstrasser et al.

Safety-critical Rules These rules describe model settings, architecture, and patterns
that significantly contribute to safe code. If these rules are not respected, it is possible
that errors are introduced in the code, which are hard to find in subsequent verification
processes. Additionally, rules are contained that play an important role in the process
and would require a significant restructuring and redefinition. Related Model Advisor
checks of this group require a tool qualification, and a failure or warning is not
accepted and not justifiable.
Compatibility Rules These rules ensure compatibility with subsequent tools and
the process. Incompatibility introduced by the model developer is reliably detected
by the affected qualified tools, thus these rules have no direct relevance for safety.
However, when incompatibility is discovered late, this may lead to significant rework.
This category of rules requires no tool qualification for the checks, a failure is not
accepted, but a warning may be formally justified.
Quality Rules Under this category, all non-critical rules are summarized. They do
not have a direct impact on safety, or their impact is analyzed in subsequent steps
with qualified tools. The rules address readability, maintainability, appearance and
comfort settings. A single violation is not critical, but has impact on the quality
of the model. Related Model Advisor checks shall not fail, but a warning may be
acceptable without formal justification. Quality rules may be summarized to a quality
index. Then, an acceptable quality range may be defined and checked. Quality metrics
and their automated evaluation are a rising topic for models [24].

4.1.2 Modeling Naming Rules

Beside modeling rules, modeling naming rules have been established. To avoid over-
loading of the modeling rules, they were defined in a separate document. The naming
rules give syntax and semantics for names of files and folders, workspace objects,
as well as blocks and signals belonging to the Design Model. The work required for
defining proper naming conventions should not be underestimated due to the direct
impact of the model on code and the high number of different files and workspace
objects to be covered.
The purpose of naming conventions is to support
Compliance to Modeling Rules As described above, the developed set of modeling
rules bases on MAAB, MathWorks High Integrity, and MathWorks Code Generation
Guidelines. At least the first two define naming rules, which have to be respected.
Integration of Software Modules Since the whole application is split into different
software modules, naming conventions must ensure that integration of models and
code is possible without conflicts.
For example, all software modules at the institute currently initialize their objects
into the base workspace, since SLCI had an incompatibility with Data Dictionaries
for a long time. Since the model workspace did not support Simulink.Bus objects
or Simulink.Parameter and Simulink.Signal objects with explicitly set storage class,
Aspects of a Consistent Modeling Environment … 77

the shared base workspace was the only remaining solution. Naming conventions
ensure that the software modules do not conflict and overwrite data when loaded
together. This special issue was resolved by introducing a short identifier for every
separately developed module prepended to all data initialized in the base workspace
(e.g. af_sensor_data_Bus with prefix af for the autopilot module).
In the Source Code, the uniqueness of global identifiers and file names across
software modules is directly influenced by naming conventions of the model (e.g.
naming of an exported header file). Naming conflicts lead either to mangling in the
code generation process, or errors later on during compilation.
Compliance to Coding Rules Coding rules like MISRA C:2012 [33] include guid-
ance on naming, e.g. enforcing uniqueness of identifiers within a specified range of
characters. Due to automatic code generation, the naming of workspace objects is
the only way to influence MISRA:2012 compliance of the generated code beside
tuning the coder settings.
A typical issue is that the coder adds prefixes to identifiers, which leads to longer
identifiers in the generated code and may result in violation of MISRA C:2012
rule 5.1 requiring a distinct external identifier within the first 31 characters for C99
(due to this definition, postfixes are in general no issue for MISRA compliance). A
bus sensor_data_Bus in a model called flight_control may introduce the
external identifier flight_ control_rtZsensor_data_Bus. In general, EC
can automatically limit identifier length. This however reduces readability and has
limitations.3 To avoid a violation, both restrictions on the model and bus name length
are required. Helpful for figuring out limitations of the coder is also the MathWorks
Embedded Coder Compliance Report [31].
In newer releases of EC, the treatment of pre- and postfixes has been significantly
improved. In some cases, if the length of the generated identifier exceeds the maxi-
mum identifier length specified in the coder settings, pre- and postfixes are removed
before the original name is shortened.
Readability of Models Workspace object names should have a clear syntax and
already provide some information about their type and physical meaning. Best exam-
ple is the label of a signal line, which may provide a hint of its boolean data type
by the postfix _flg. However, more important for a controller application is that it
states its physical meaning in a clear way. A major part of the modeling naming rules
is thus defining the naming of coordinate systems, angles, transformation matrices
(e.g., M_O_B for M O B as transformation from body-fixed to the north-east-down
system), units (e.g., mDs2 for m/s 2 ) or the translation of mathematical characters
(e.g., mu for µ or x_ddot for ẍ).
Readability of Code As already mentioned, coding standards introduce naming
restrictions to ensure compliance with a majority of compilers. Code generators
like EC provide functionality to enforce this compliance. However, most of these
automatic procedures reduce readability and their usage should be avoided if possible

3 Limitations on controlling the identifier format are documented in the Embedded Coder User’s

Guide [28] pp. 36–33 “Identifier Format Control Parameters Limitations”.


78 M. Hochstrasser et al.

by designing the model correctly. For example, a concept to enforce uniqueness of


identifiers is mangling, meaning that similar identifiers are shortened and an arbitrary
but unique sequence of characters is appended. For example, when using Virtual
Subsystems, two similarly named Unit Delay blocks may be placed in the same Source
Code scope. The created global C variables of two blocks called int_unit_delay
with a maximum identifier length of 15 (exemplary) and mangling length of 4 would
be int_unit_delay and int_unit__h4pj, which reduces readability and
impedes debugging as well as verification later on.

4.1.3 Traceability Plugin

One solution used at the institute to document System Requirements and Software
High-Level Requirements is Polarion REQUIREMENTS.4 The application is web-
based and runs on a web server. On model-side, the MathWorks toolbox Simulink
Verification and Validation5 provides the Requirement Management Interface (RMI)
to annotate model elements and establish a link to any requirement management tool
that provides a corresponding plugin. The plugin for connecting Polarion and the RMI
is provided by the Polarion Connector for Simulink.6 The plugin must be registered
in Simulink and is thus included in the Modeling Environment, too.

4.1.4 Model Element Library

The model element library contains atomic blocks and small subsystems, which
do not generate separate functions, but are inlined in the code of the higher model
level. These subsystems have to be small enough to be testable in the model and C-
function, in which they are embedded. The usable atomic blocks are mainly defined
by compatibility with SLCI, which comes along with the slcilib library. This
basic block set was modified to additionally comply with the applicable modeling
rules.

4.1.5 Simulation Configuration Settings

The configuration settings mainly relevant for simulation are solver, optimization
and diagnostic settings. Most of them are given by the guidelines from MathWorks,
MAAB or SLCI. Only a few remain eligible.

4 https://polarion.plm.automation.siemens.com/products/polarion-requirements [Cited on 6 Janu-

ary 2017].
5 http://de.mathworks.com/products/simverification/ [Cited on 6 January 2017].
6 Polarion Connector for Simulink, see http://extensions.polarion.com/extensions/173-polarion-

connector-for-simulink [Cited on 6 January 2017].


Aspects of a Consistent Modeling Environment … 79

Table 2 Model configuration settings


Name Description
Top-level Model (Coding) Configuration for the top-level model generating an
interface of type void-void (see also Sect. 4.2.1)
Reusable Model (Coding) A reusable model reference can be used for multiple
instances. However, only signals with custom storage
class “Simulink Global” are allowed (see also
Sect. 4.2.1)
Singleton Model (Coding) A model reference that can only be embedded once.
This model can include “Exported Global” signals (see
also Sect. 4.2.1)
Test Harness (Simulation) Since the test harness encapsulates the whole
model-in-the-loop simulation with e.g., the flight
dynamic model or actuator models, its configuration has
to differ slightly to be compatible

For the presented controller, the solver settings restrict execution to “single rate”
and with a discrete fixed-step solver. For diagnostics, conservative settings are chosen.
Optimization settings mainly affect the generated code and are thus discussed in the
next section.
Although referred to as a single configuration set in here, there are normally
multiple model configurations. Currently, four slightly different model configuration
settings are used in the presented Modeling Environment as listed in Table 2.
Model configuration settings are set in models as “Configuration References”.
This increases maintainability and consistency over all software modules.

4.1.6 Common Library Module

Beside the model element library, a so-called Common Library is provided to the
developer. This library contains subsystems that are too large to be inlined and are
thus reusable model references. These libraries are considered a separate software
module, and follow an own software verification process.
Content of the library are subsystems adding robustness to critical function calls,
like protected divisions, square roots or integrators protected against windup.

4.2 Environment for Code Generation

The generated Source Code shall comply with ANSI ISO/IEC 9899:1999 [13] and
satisfy the rules and directives for autogenerated code (Appendix E) of MISRA
C:2012 [33].
80 M. Hochstrasser et al.

As already mentioned, EC is used for code generation. The coder provides hun-
dreds of settings and customization possibilities. The following sections demonstrate
the minimum of customization that is required from the viewpoint of a DO-331 soft-
ware development process. In general, it is advisable to avoid extensive customiza-
tion, since any deviation from the default configuration may have an impact on tool
compatibility and robustness [3].

4.2.1 Coder Configuration Settings

Coder configuration settings are manifold and they are defined as modeling rules,
since the border between simulation and coder settings is blurry. Many simulation
settings are directly used by the coder (for example the single- or multi-rate or most
of the optimization settings).
Code Interface The code interface differs depending on the model. For the top-level
model, whose functions are externally called by the surrounding C framework, a
simple non-reusable interface of type void-void is generated. This creates structures
for input and output, as well as void-void initialize and step functions. For
nested models, either a reusable or a non-reusable interface can be chosen, depend-
ing on whether multiple or only a single instance shall be allowed. The code of
non-reusable models may be easier to test separately, since signals can be exposed
as exported global variables. All functions of nested models pass parameters as indi-
vidual arguments to avoid the overhead of copying the input variables into a single
structure.
Code Packaging Code packaging is set for modularity. However, modular code
generation cannot be achieved solely by coder settings. The right usage of built-in
custom storage classes is another important point.
Code Style For the code style, a nominal parenthesis level is used as well as nominal
casting. Note that “Standard compliant” casting is not yet compatible with SLCI.
Comments must be adjusted to provide sufficient traceability information in the
code. The identifier control was set to standard values.
Support of Functionality Code is generated for a single rate system. Since a floating
point unit is available on the target computer, floating point arithmetic is activated.
Further features like complex numbers, infinite numbers or absolute time are disabled,
since they are neither required nor would they solely be checkable with SLCI due to
the large amount of additional code.
Code Optimization To allow verification with SLCI, advanced code optimizations
are disabled by setting AdvancedOptControl to -SLCI. The optimization group
contains the powerful feature “Signal Storage Reuse”. Although SLCI is compatible
with all of the nested settings, their usage must be analyzed carefully. “Signal Storage
Reuse” on the one hand can drastically improve the performance of the generated
code and reduce the memory requirements, but on the other hand it can significantly
Aspects of a Consistent Modeling Environment … 81

reduce readability and robustness concerning change. For example, a locally reused
variable may be named according to its first occurrence. In other contexts, in which
it is reused, this name may be misleading and may not fit to the actual meaning of the
stored value. Furthermore, if the first occurrence changes its variable name, changes
all over the generated code will appear. The actual fix around the first occurrence is
hard to find and verify in the code.

4.2.2 Modeling Rules Concerning Coding

The structure of the code is not only influenced by the configuration settings, but
also by block or signal line settings.
Input and Output Data types of Atomic Blocks Atomic blocks often allow an
implicit type conversion. Implicit type conversions affect readability and should
be avoided. The data type should be preserved. The block “Sum of elements” for
example allows setting an accumulator data type as well as an output data type.
Including the input data type, a conversion between three data types is necessary if
set differently. Although supported by EC, this is a SLCI incompatibility in most
cases.
Integer Saturation on Overflow Blocks for integer calculations typically provide
the option to generate code that saturates on integer overflow. This produces signifi-
cant extra code and is not verifiable by SLCI. Integer saturation on overflow should
thus be deactivated in the block and - if required - modeled separately. Exception of
the rule is the Abs block, where hisl_0001 of the High Integrity Guidelines explicitly
advises to set the option (due to the differing positive and negative ranges of signed
integers). It was observed, that developers are normally not aware of this exception,
since they take preset library blocks. The result was dead code for every Abs block
in early verification, since they added their own protections.
Subsystem Settings Simulink knows various kinds of subsystems, basically vir-
tual and non-virtual (atomic) subsystems. Virtual subsystems can be considered
as visual help. The coder eliminates them. By setting a subsystem to “atomic”,
the coder is forced to keep the generated code of the subsystem together. Further
options allow to specify, how this is achieved, either by a function (reusable or
non-reusable) or by a packaged block of code (inlined). Up to release 2016a,
SLCI only supported the inlined option. Structuring code by functions, which is
necessary for testing, was only possible by model references. With Release 2016b,
non-reusable functions are verifiable, too.
Simulink Data Objects By explicitly specifying the storage class of Simulink Data
Objects7 (Simulink.Bus, Simulink.Signal and Simulink.Parameter) and, for example,
their header or source file name, the behavior of the code generator can be influenced.

7 http://de.mathworks.com/help/simulink/ug/working-with-data-objects.html [Cited on 6 January


2017].
82 M. Hochstrasser et al.

Simulink.Parameter objects should be used for non-scalar or structured parameters


to prevent that the coder generates a common data pool [9]. Simulink.Signals for
example may be used to expose signals for global access (for testing) or to define
reused signals and thus prevent data copies.

4.2.3 Customization of the Coding Process and Advanced


Target-Specific Configuration

The coding process, controlled by Target Language Compiler (TLC) files, has not
been modified for the presented controller. Slightly customized is only the Code
Generation Template (CGT), which allows formatting the high-level organization of
the code. The general arrangement of the code remained, only the comment fields
were updated to include further necessary information and exclude the timestamp (to
ease comparison of revisions with Diff tools and identify real changes). Additionally,
a data alignment specification is registered to include alignment information for the
compiler.

4.2.4 Replacement of Shared Utility Functions

When generating C-code from a Simulink model, some atomic blocks expand to
complex functions. These functions are placed in a shared location, so they are only
generated once for all models. They have canonical function and file names differing
for every combination of settings in the block mask.
For these shared C functions, the following aspects have to be considered:
1. In the presented case, the Design Model replaces Software Low-Level and Soft-
ware Architecture. Therefore, the Design Model must be sufficiently descriptive
and granular. If an atomic block produces complex code, this argumentation does
not hold any more.
2. Requirements cannot be linked into shared utility C-code, since these functions
are regenerated every build.
3. SLCI just verifies the call, but not the correctness of the function itself.
4. Shared utility function complicate configuration management if their generation
is not controlled. Although the functions have canonical names, the number of C
functions, that can be created, is immense, even with a reduced block set (thou-
sands). Limiting the shared utility functions to a dedicated subset of functions
is task of the modeling rules, which have to restrict the allowed atomic block
settings.
As a consequence of points 1 to 3, it is desirable to replace the generated shared
functions by C functions developed and verified along a conventional DO-178C soft-
ware development process. One way is using so-called Code Replacement Libraries.
They allow replacing specified function calls in the generated C-code by custom
calls. This avoids the generation of the shared utilities.
Aspects of a Consistent Modeling Environment … 83

Not yet solved with this solution is point 4. If the modeling rules are not restrictive
enough, shared code beyond the replaced function may be generated. A repeated
review for unsupported, additionally generated functions is necessary after building
the code.
With Release 2016b, the new EC setting ExistingSharedCode was intro-
duced, which allows the specification of an already existing shared code directory.
EC then scans the specified directory for the functions it requires during code gen-
eration and copies the files to the new shared folder. Identified are the files by their
canonical filename. Further, setting the option UseOnlyExistingSharedCode
allows to automatically abort the coding process, if not all required files are found.
Thus, the developer gets direct feedback, whether the model generates unsupported
shared functions or not.
For the presented controller, only four auto-generated functions are required.
Reason is, that SLCI limits the options e.g., for Lookup Tables and their dimensions.
Additionally, the integrated integer overflow protection functionality is disabled for
all blocks except the Abs Block (see Sect. 4.2.2).

• rt_roundd: Although the ISO C standard [13] defines the round function
that rounds halfway cases away from zero regardless the floating point rounding
direction, EC generates rt_roundd, which only bases on ceil and floor
functions. Additionally, it prevents rounding if the units in the last place (ULPs) are
equal or greater than 1.0. The rt_roundd function has probably been introduced
to also ensure calculation equality between simulation and code for non-standard
compliant C libraries.
• rt_modd: This is a protected version and safe implementation of the double-
precision floating point modulo operation generated by the Mathematical Function
block. The function is implemented to preserve simulation and code equality for
non-standard compliant C math libraries. If the typically used fmod function
shall be called directly, the Rem block setting has to be used. However, even the C
standard does not define the behavior for a divisor equal to zero for this function.
• look1_binlca and look2_binlca: Functions originating from Lookup
Table blocks with double-precision input, output and accumulator data type, binary
search and linear interpolation. Extrapolation method is “cut” and out-of-range
protection is not removed.

4.2.5 Replacement of Compiler-Supplied Libraries

Beside the shared functions, the controller code generated with EC addresses addi-
tional standard C functions like sin or memcpy. Although these basic functions are
normally supplied with the compiler, they have to be verified separately and must
satisfy DO-178C objectives [2].
Depending on the used libraries, a Code Replacement Library must be registered
in Simulink before generating code, to replace standard C function calls (e.g., a
sin(...) to cert_sin(...)).
84 M. Hochstrasser et al.

5 Summary

Using Simulink and Stateflow for implementing a Design Model is not an out-of-
the box solution, but requires a planned setup and preparation of the tool. In this
paper, aspects of a consistent Modeling Environment were presented in the light of
the used hardware, application design considerations, and the chosen model-based
development process.
The paper structured the Modeling Environment in two parts, one containing the
relevant components concerning the role of the Design Model as Software Design
and Software Architecture, and a second part with focus on code generation. For the
first part, an overview of the applicable rules was given and model libraries as well
as a important configuration settings have been highlighted. The code generation
part pointed out the major settings relevant for EC and strategies to deal with code
libraries.
The details in this paper should not be seen as the ultimate solution for every com-
pany and workflow due to the varying context, but the key aspects can be considered
in every safety-critical project.
The close connection between Design Model and Source Code in a code-
generation based process emphasizes the importance of presciently planned rules,
restrictions, and settings for MATLAB, Simulink, and Stateflow, since any setting
in the Design Model may directly impact the Source Code. Making the Modeling
Environment consistent may require an iterative process and experience.
The discussion also showed the central role of SLCI. This tool should not only be
seen as a sole verification tool since it also plays an important part in defining a safe
and robust subset of MATLAB, Simulink, and Stateflow features for safety-critical
applications.
The outlined Modeling Environment is a snapshot of the effort taken at the Institute
of System Dynamics. Further investigation is planned on modular code generation,
and optimal settings for improved compatibility with 3rd party tools used along
the workflow, like WCET analyzers or special compilers, all coming along with
additional restrictions.

References

1. Braun B, Philip S, Peter L, Dambeck J, Holzapfel F (2013) Multi-purpose flying sensor testbed:
AIRTEC 2013 aerospace sensors/aerospace testing. Frankfurt a. M., 6 November 2013
2. Certification Authorities Software Team (2004) Position paper CAST-21 - compiler-supplied
libraries, January 2004
3. Dillaber E, Kendrick L, Jin W, Reddy V (eds) (2010) Pragmatic strategies for adopting model-
based design for embedded applications. SAE Int
4. Erkinnen T, Potter B (2009) Model-based design for DO-178B with qualified tools: AIAA mod-
eling and simulation technologies conference and exhibit. American Institute of Aeronautics
and Astronautics Inc, Hyatt Regency McCormick Place, Chicago Illinois
Aspects of a Consistent Modeling Environment … 85

5. Esterel Technologies SA (2015) Efficient development of safe avionics software with DO-178C
objectives using SCADE suite: methodology handbook, June 2015
6. Estrada RG, Sasaki G, Dillaber E (2013) Best practices for developing DO-178 compliant
software using model-based design. AIAA Infotech@Aerospace. Boston. https://doi.org/10.
2514/6.2013-4566
7. European Aviation Safety Agency EASA: certification specifications for normal, utility, aero-
batic and commuter category aeroplanes: CS-23 Amendment 3
8. Federal Aviation Administration FAA (2011) System safety analysis and assessment for part
23 airplanes (AC 23.1309-1E) 17 November 2011
9. Hochstrasser M, Hornauer M, Holzapfel F (2016) Formal verification of flight control
applications along a model-based development process: a case study. In: DGLR Workshop
- Software Safety. München, 05 October 2016. http://www.dglr.de/fileadmin/inhalte/dglr/
fb/q3/veranstaltungen/L63_Q34_2016_Software_Safety/2016_DGLR_Workshop_TUM_
samoconsult.pdf
10. Hornauer M, Holzapfel F (2011) Model based testing for CS-23 avionic and UAV applications:
DGLR workshop 2011. In: DGLR Workshop - Verifikation in der modellbasierten Software-
Entwicklung, München
11. Hornauer M, Schuck F, Holzapfel F (2013) Wechselwirkungen zwischen GNC algorithmus
und software. In: DGLR Workshop - Durchgängige Entwicklung von GNC Funktionen - vom
Algorithmus zur Embedded Software. München
12. IEEE Computer Society (2008) IEEE standard for floating point arithmetic (IEEE 754-2008),
August 2008
13. ISO/IEC (1999) Programming languages C - 2nd edn, December 1999
14. Karlsson E, Gabrys A, Schatz SP, Holzapfel F (2016) Dynamic flight path control coupling for
energy and maneuvering integrity. In: IEEE control systems society (ed) proceedings of 14th
international conference on control, automation, robotics and vision
15. Karlsson E, Schatz SP, Baier T, Dörhöfer C, Gabrys A, Hochstrasser M, Krause C, Lauffs PJ,
Mumm NC, Nürnberger K, Peter L, Schneider V, Philip S, Steinert L, Zollitsch AW, Holzapfel
F (2016) Automatic flight path control of an experimental DA42 general aviation aircraft. In:
IEEE control systems society (ed.) proceedings of 14th international conference on control,
automation, robotics and vision
16. Krause C, Holzapfel F (2016) Designing a system automation for a novel UAV demonstrator.
In: IEEE control systems society (ed.) proceedings of 14th international conference on control,
automation, robotics and vision
17. Potter B (2012) Complying with DO-178C and DO-331 using model-based design
18. RTCA (2000) DO-254 - design assurance guidance for airborne electronic hardware
19. RTCA (2011) DO-178C - software considerations in airborne systems and equipment certifi-
cation
20. RTCA (2011) DO-331 - model-based development and verification supplement to DO-178C
and DO-278A
21. RTCA (2011) DO-333 formal methods supplement to DO-178C and DO-278A
22. Schatz SP, Holzapfel F (2014) Modular trajectory/path following controller using nonlinear
error dynamics. In: 2014 IEEE international aerospace electronics and remote sensing tech-
nology (ICARES), pp. 157–163. IEEE. https://doi.org/10.1109/ICARES.2014.7024374
23. Schatz SP, Schneider V, Karlsson E, Holzapfel F, Baier T, Dörhöfer C, Hochstrasser M, Gabrys
A, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Zollitsch
AW (2016) Flightplan flight tests of an experimental DA42 generation aviation aircraft. In:
IEEE control systems society (ed.) proceedings of 14th international conference on control,
automation, robotics and vision
24. Scheible J (2012) Automatisierte qualitätsbewertung am beispiel von matlab simulink-
modellen in der automobil-domäne. Dissertation, Eberhard Karls Universität Tübingen, Tübin-
gen. https://publikationen.uni-tuebingen.de/xmlui/handle/10900/49708
25. Schneider V, Mumm N, Holzapfel F (2015) Trajectory generation for an integrated mission
management system. In: 2014 IEEE international aerospace electronics and remote sensing
technology (ICARES). IEEE
86 M. Hochstrasser et al.

26. Schneider V, Piprek P, Schatz SP, Baier T, Dörhöfer C, Hochstrasser M, Gabrys A, Karlsson
E, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Holzapfel F
(2016) Online trajectory generation using clothoid segments. In: IEEE control systems society
(ed) proceedings of 14th international conference on control, automation, robotics and vision
27. The MathWorks automotive advisory board: MathWorks automotive advisory board control
algorithm modeling guidelines using MATLAB, Simulink, and Stateflow: R2016b
28. The MathWorks Inc. Embedded coder user’s guide: R2016b
29. The MathWorks Inc. Guidelines and factors to consider for code generation: R2016b
30. The MathWorks Inc. Modeling guidelines for high-integrity systems: R2016b
31. The MathWorks Inc. (2014) Embedded coder R2014b - MISRA AC AGC compliance consid-
erations
32. The MathWorks Inc. (2016) DO qualification R2016b: model-based design workflow for DO-
178C
33. The Motor Industry Software Reliability Association (2013) MISRA-C:2012 - Guidelines for
the use of C language in critical systems, March 2013
Robust Incremental Nonlinear Dynamic
Inversion Controller of Hexapod Flight
Simulator Motion System

Yingzhi Huang, D.M. Pool, O. Stroosma and Qiping Chu

1 Introduction

The Stewart platforms, also known as hexapod systems, are most commonly used
as motion bases for modern flight simulators. In this configuration, a moving upper
platform is driven by six linear actuators connected to the stationary base to provide
motion in 6 degree-of-freedom(DOF), as shown in Fig. 1. Commonly an Universal-
Prismatic-Spherical(UPS) structure is designed in such systems, in which the lower
and upper platforms are connected to the legs through passive universal joints and
spherical joints and the two parts of each leg are connected by a prismatic joint
where electrical or hydraulic actuation force is acted on. The parallel structure pro-
vide higher rigidity and accuracy compared with its serial robot counterparts. A
typical example of such a system is the SIMONA research simulator (SRS) in Delft
University of Technology as shown in Fig. 1 [18].
The main goal of the flight simulator motion systems is to track the reference
motion calculated by aircraft aerodynamics model and pilot input as accurate as
possible. Different from industrial applications, the pilot-in-the-loop flight simulators
require high performance motion systems to enhance the fidelity of simulation flight.
Typical PID controller is hardly eligible for the high performance requirement due

Y. Huang (B) · D.M. Pool · O. Stroosma · Q. Chu


Control and Simulation Section, Faculty of Aerospace Engineering,
Delft University of Technology, Kluyverweg 1, 2629HS Delft, The Netherlands
e-mail: Y.Huang-2@tudelft.nl
D.M. Pool
e-mail: D.M.Pool@tudelft.nl
O. Stroosma
e-mail: O.Stroosma@tudelft.nl
Q. Chu
e-mail: Q.P.Chu@tudelft.nl

© Springer International Publishing AG 2018 87


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_5
88 Y. Huang et al.

Za

Oa p
Ya
Xa

S
c

Zb
Ob
Yb b
Xb

Fig. 1 A Stewart platform based motion system SRS at TU Delft and it’s schematic drawing [6]

to the highly nonlinear dynamics of the parallel manipulator. Thus more advanced
control techniques have been studied intensively [5].
Nonlinear dynamics inversion [9, 13] (NDI) is capable of exactly linearise the
nonlinear dynamics and is also referred to as computed torque control [12] in the
field of robot control. However, it’s well known that NDI is seriously dependent on
the accuracy of the model that for a complex flight simulator system, any model
parametric uncertainty, unmodelled dynamics and disturbances such as joint friction
will significantly degrade the performance [1]. Thus NDI is rarely used directly in
parallel robot motion control. Adaptive control is a possible technique to deal with
parametric uncertainties and has been proposed for similar applications [4, 11, 12].
Nevertheless, the computational burden of adaption motion controller based on a well
modeled system is significant that real-time application is hard to achieve. Robust
control which is also capable of overcoming model uncertainties, is studied by only
a few papers addressing the studied control system [1, 7, 8] and a sliding mode
methodology is commonly used that may lead to chattering problem.
The Incremental Nonlinear Dynamic Inversion (INDI) is a sensor-based control
technique for nonlinear systems which is much more robust than NDI [14, 15].
By computing the incremental input commands using the acceleration measurement
instead of calculating the total inputs, the controller need less model information and
is not sensitive to model mismatches while proving a high performance. These fea-
tures are useful for a parallel flight simulator which suffers from model uncertainties
or even load-varying mechanics due to change of pilots.
In this paper the application of INDI methodology to a 6-DOF hexapod flight sim-
ulator outer-loop motion control is presented, parametric uncertainties and unmod-
elled dynamics are introduced to model dynamics to simplify the controller design
and reduce computational burden. This is the first time that INDI is proved to be
Robust Incremental Nonlinear Dynamic Inversion Controller … 89

suitable for a parallel robot motion control, and the fact that an important assump-
tion, i.e. time scale separation principle, holds for the dynamics of such systems.
This work hires a detailed flight simulator model with consideration of actuator iner-
tial and joint friction based on SIMONA Research Simulator in Delft University
of Technology. The actuator dynamics are not considered in order to focus on the
INDI controller performance on the parallel robotic dynamics. In future work with
practical implementation of proposed control, the influences of actuator dynamics
will be included and considered.
This paper is organized as follows. In Sect. 2, the kinematics and dynamics of
the 6-DOF hexapod motion system are briefly derived. Section 3 presents the motion
control system design based on INDI technique in detail and simulation results are
given in Sect. 4. The main conclusions are summarized in Sect. 5.

2 System Kinematics and Dynamics

A schematic drawing of a hexapod motion system is shown in Fig. 1. The Newton–


Euler approach [2, 3] is used to derive the system dynamic equations in Cartesian
space. The platform position and velocity are defined as
 T
sx = cT , Φ T
 T
ẋ = ċT , ω Tp (1)

where c denotes the translation vector of the upper platform in inertial frame E b , Φ
is the Euler angles between the body fixed frameE a and E b and ω p is the angular
velocity of the upper platform.
Different from serial manipulators, the inverse kinematics of parallel robots are
very simple, which can be given by calculating the leg vector S in Fig. 1 as

S = c + Tba p − b
(2)
= c + qp − b

where p and q p are upper universal joint locations in reference frames E a and E b
respectively, and Tba the rotational matrix between them.
In terms of the platform dynamics, the dynamics of a single leg is derived in
literature [3] by combining Euler’s equation of the entire leg and Newton’s equation
of the moving rod as

− Fs = Qc̈ − Qq̃ p ω̇ p + V − Fs (3)

where Fs is the force vector acting on the upper universal joint, F is the actuation
force generated on the prismatic joint, s is the unit vector to S, and Q and V are
matrix depending on leg inertial and dynamics properties.
90 Y. Huang et al.

Similarly, the dynamics of the upper moving platform is described by writing the
Newton and Euler’s equation as


6
(Fs )i + M p g = M p a p (4)
n=1

and

6
 
q p × Fs i
+ M p R × g = M p R × a p + I p ω̇ p + ω p × I p ω p (5)
n=1

Combining Eqs. 3, 4 and 5, the closed form of Stewart platform dynamic equation
is obtained as [3, 6]

M (sx) ẍ + η (ẋ, sx) = H (sx) F (6)

where
   
ME3 −M R̃ 6
Qi −Qi q̃i
M=   +
M R̃ I p + M R 2 E3 − RRT n=1
q̃i Qi −q̃i Qi q̃i

 
6

M{ω p × ω p × R − g} Vi
η= +
ω p × I p + MR × { ω p · R ω p − g} qi × Vi
n=1

F is the actuation forces of all actuators

F = [F1 F2 F3 F4 F5 F6 ]

and H is

s1 s2 s3 s4 s5 s6
H=
q p1 × s1 q p2 × s2 q p3 × s3 q p4 × s4 q p5 × s5 q p6 × s6

It is now clear that matrix H is actually the transpose matrix [16] of the Jacobian
matrix relating leg length velocity L̇ with platform velocity ẋ that

L̇ = Jl,x ẋ = HT ẋ (7)

Take time derivative of Eq. 7 we have


T
L̈ = HT ẍ + Ḣ ẋ = HT ẍ + U(sx, ẋ) (8)
Robust Incremental Nonlinear Dynamic Inversion Controller … 91

Thus

ẍ = H−T [L̈ − U(ẋ, sx)] (9)

Substituting Eq. 9 into Eq. 6 one gets

L̈ = HT M−1 HF − HT M−1 η(ẋ, sx) + U(ẋ, sx) (10)

At this point we have the dynamic equations of Stewart platform both in operation
space as given in Eq. 6 and partly in joint space with Eq. 10. For a motion control
system, the actuation forces F are the system inputs. The matrix on the right hand
side of Eq. 10 still depend on operation space states sx and ẋ and the cumbersome
forward kinematics of parallel robots are required in a model based feedback control
approach like NDI. However, it will be shown in the following chapters that this
problem is inherently solved with INDI approach, thus Eq. 10 should be enough for
INDI based controller design in joint space.

3 Motion System Controller Design

The application of INDI strategy on a hexapod flight simulator is previously men-


tioned in [5] by the author. The basic idea is to calculate the required incremental
control inputs at the given moment to achieve a linearized relation. To do this, con-
sider system dynamic equation Eq. 10, a first-order Taylor series estimation of the
right hand side is given by
   
L̈ = HT M−1 H sx0 F0 − HT M−1 sx0 η (ẋ0 , sx0 ) + U (ẋ0 , sx0 )
 
+ HT M−1 H sx0 (F − F0 )
∂   (11)
+ −HT M−1 η (ẋ, sx) + U (ẋ, sx) ẋ0 (ẋ − ẋ0 )
∂ ẋ
∂  T −1 
+ H M HF − HT M−1 η (x,˙sx) + U (x,˙sx) sx0 (sx − sx0 )
∂sx
where subscribe 0 denotes the time point around which the Taylor series expansion
is taken.
For a nonlinear system, the first-order estimation is accurate enough within a very
small time increment. The first terms on the right hand side of the equation is actually
L̈0 , i.e.
   
L̈0 = HT M−1 H sx0 F0 − HT M−1 sx0 η (ẋ0 , sx0 ) + U (ẋ0 , sx0 ) (12)

Which is leg length acceleration which can be obtained by sensor measurement. In


case of SIMONA flight simulator motion system, leg length are measured by Tem-
92 Y. Huang et al.

posonics sensors, thus the acceleration information should be obtained by numerical


differentiation. The INDI based controller is sensitive to sensor measurement, thus
is is also considered a sensor-based approach.
Now consider the other terms in Eq. 11. The last two terms are considered much
smaller than the second term according to the time scale separation principle [14, 15,
17]. This is explained as the change of actuation forces δF has a direct effect on the
system acceleration change, which is represented by the left hand side of Eq. 11. The
system velocity only change by integrating the system acceleration and the position
change is even integrated by the velocity. Thus when the integration sample time is
very small, these two terms are also small while the input change can be significantly
large. This indicates that the dynamics of system input is faster than system velocity
and position. It is noted that this assumption only holds with very small sample time
and very fast actuator dynamics. According to the aforementioned analysis, Eq. 11
is finally simplified as
 
L̈ = L̈0 + HT M−1 H sx0 (F − F0 ) (13)

Equation 13 is the incremental form of the system dynamic equation given by


Eq. 10, which is actually a linear approximation around system states in zero time for
a small time increment. By comparing these two equations we can see that nonlinear
terms, U and η which consists of Coriolis/centripetal effects and gravity, disappeared
from the original equation. This indicates that the INDI controller designed based on
the incremental form system dynamics is not dependent on that part of the model.
However, the dynamics of the neglected part of the model is still compensated by
INDI since the leg length acceleration measurement already contain those informa-
tion. Thus it is already clear now that INDI is not sensitive to model and parametric
uncertainties in non-control-related parts in Eq. 6, e.g. gravity and Coriolis effect
terms.
Based on Eq. 13, typical procedure of NDI can be designed by inverting the
dynamics if the coupling matrix is invertible, hence the INDI control law is given in
incremental form as
   
δF = H−1 MH−T sx0 ν − L̈0 (14)

where ν is the virtual control and the control input as the required actuation force is
given by

u = F = F0 + δF (15)

Substituting Eq. 14 into Eq. 15, the full linearisation is achieved and the system is
turned into a double integrator:

ν = L̈ (16)
Robust Incremental Nonlinear Dynamic Inversion Controller … 93

Simple linear controller can be designed for the double integrator, for example
 
ν = L̈d + K p (Ld − L) + Kd L̇d − L̇ (17)

where subscript d denotes the reference trajectory given by the host to be tracked by
the motion system. In case of SIMONA simulator, the reference trajectory is given
in operation space, which means inverse kinematics are required for the proposed
joint space controller.
The state feedback used in INDI control law Eq. 13 is another problem for parallel
robots. It is well known that the forward kinematic problem of 6-DOF does not
have an analytic solution. The mass matrix M (sx) and Jacobian matrix H (sx) are
given in the operation space while the measurement of system states is performed
in joint space. That means numerical iteration are required to calculate system states
in Cartesian space as well as the mass matrix and the Jacobian matrix, which will
largely add the computational burden. However, as will be discussed as follows, this
problem is inherently tackled by the robustness feature of INDI controller.
Assuming ideal sensor measurements, define the control related matrix in Eq. 13
as the control effectiveness matrix as

G (sx) = HT (sx) M−1 (sx) H (sx) (18)

In existence of model inaccuracies in the effectiveness matrix, for instance mass


mismatch due to modification of flight cockpit or different pilot numbers, the system
dynamics is then written as

L̈ = L̈0 + [Gn (sx0 ) + ΔG (sx0 )] (F − F0 ) (19)

where the subscript n denotes the nominal condition.


Since only nominal part of the system is known, the following control law is
actually applied according to Eq. 14:
 
δF = G−1
n (sx0 ) ν − L̈0 (20)

Substituting Eq. 20 into Eq. 19, the system under control yields
 
L̈ = ν + ΔG (sx0 ) G−1
n (sx0 ) ν − L̈0 (21)

Again, using the assumption that very high sampling rate is used in INDI, the
change of leg length acceleration during one small sample time is very small that
L̈ ≈ L̈0 holds and Eq. 21 yields

AL̈ = Aν (22)

where
94 Y. Huang et al.

A = I6×6 + ΔG (sx0 ) G−1


n (sx0 ) (23)

This result indicates that with relative high sampling rate, the linearized relation
still holds with INDI controller in existence of model uncertainties in control effec-
tiveness matrix. This also imply that the INDI based controller is not sensitive to
almost all kinds of model inaccuracies in mass matrix, gravity effect terms as well
as the Coriolis/centripetal effect terms. Thus the proposed control scheme is robust
to model uncertainties of a hexapod parallel robot.
Taking advantage of the robustness of INDI methodology to model inaccuracies,
tow important modification can be made to simplify the controller design. First, the
complicated forward kinematics of parallel robot can be removed from the control
structure. As the controller is robust to control effectiveness matrix inaccuracies,
the trajectory set-points can be used to calculate the mass matrix M and Jacobian
matrix HT instead of system position feedback, since they are considered to be very
close if the motion controller works. Second, simplified mass matrix can be used by
neglecting less important parts like the mass of legs, which will largely reduce the
computation burden. By doing that, the INDI control law Eq. 14 can be simplified to
   
δF = H−1 Ms H−T sxd ν − L̈0 (24)

where Ms is the simplified mass matrix and sxd is the system position trajectory
set-points.
The proposed motion control system is presented in Fig. 2. The input of the INDI
controller is the virtual control ν which is subtracted by actuator acceleration mea-
surement and the output is the calculated actuation force required to track the motion.
The virtual control is calculated by a linear controller which hire state feedback and
inverse kinematics of Stewart platform. The reference trajectory set-points are used
to calculate the control effectiveness matrix. Using the aforementioned two simplifi-
cations, the controller share the advantage of a feed forward control scheme, i.e. the
avoidance of forward kinematics and availability of simplified model, while still offer
a full system linearisation just as a typical NDI did with precise model information.

Fig. 2 INDI based motion controller architecture


Robust Incremental Nonlinear Dynamic Inversion Controller … 95

1
ru
rl
du xb dl
yb
6

Fig. 3 SRS top view [6]

The proposed INDI based motion controller is robust to model uncertainties at a


cost of sensitivity to sensor measurement. It is note that the INDI technique is based
on three main assumptions: high sampling rate, fast actuator dynamics and ideal
sensor measurement. The performance of proposed control system will be tested
with simulation in the following chapter.

4 Simulation Results

The performance of the proposed controller is verified by numerical simulations, the


leg length tracking performance is presented since the controller is designed in the
joint space. A detailed model of flight simulator motion system based on SIMONA
Research Simulator(SRS) in Delft University of Technology is previously introduced
in literature [6] and is used for simulations in this work, only the actuators are set
to be ideal force generators. The simulations are performed in MATLAB/Simulink
environment and the fourth-order Runge–Kutta integration is used to solve the

Table 1 Geometric and inertial parameters


Parameters Value
Upper/lower gimbal radius, ra rb 1.6, 1.65 m
Upper/lower radius spacing, du dl 0.2, 0.6 m
Piston/cylinder masses, m 2 m 1 0.12, 0.15 tons
Piston/cylinder inertia wrt cog, i 2 i 1 20, 36 kg m2
Piston/cylinder cog wrt to gimbal, r2 r1 0.7, 0.5 m
Platform mass M p 3.2 tons
Platform nonzero inertial I x x I yy Izz I x z 7, 7, 8, 0.5 tons m2
96 Y. Huang et al.

Actuator1 Actuator2 Actuator3


3 3.1 3.1
leg length setpoints
2.9 real leg length 3 3
2.9 2.9
leg length, m

leg length, m

leg length, m
2.8
2.8 2.8
2.7
2.7 2.7
leg length setpoints
2.6
2.6 leg length setpoints 2.6 real leg length
real leg length
2.5 2.5 2.5
2.4 2.4 2.4
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

Actuator4 Actuator5 Actuator6


3 3.1 3.1
leg length setpoints
leg length setpoints real leg length 3
2.9 real leg length 3
2.9
leg length, m

leg length, m

leg length, m
2.8 2.9
2.8
2.7 2.8 2.7
2.6
2.6 2.7
2.5 leg length setpoints
2.5 2.6 real leg length
2.4
2.4 2.5 2.3
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

Fig. 4 Position tracking performance with nominal INDI controller

×10 -3 Actuator1 -3 Actuator2 ×10 -3 Actuator3


2 2 ×10 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m

1 1 1
0.5 0.5
0.5
0 0
0
-0.5 -0.5
-0.5
-1 -1
-1.5 -1 -1.5
-2 -1.5 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

×10 -3 Actuator4 ×10 -3 Actuator5 ×10 -3 Actuator6


2 2 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m

1 1 1
0.5 0.5 0.5
0 0 0
-0.5 -0.5 -0.5
-1 -1 -1
-1.5 -1.5 -1.5
-2 -2 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

Fig. 5 Position tracking error with nominal INDI controller

system dynamic equation. The geometry of SRS simulator motion system is shown
in Fig. 3 while the geometric and inertial parameters are given in Table 1. For all the
simulations, the sampling rate is set to 1000 Hz, which is the same with the current
controller implemented on SRS simulator.
Motion tracking tasks are performed in all the simulations. The motion profile
of a state reconstruction experiment [6, 10] performed on the SRS is used to give
Robust Incremental Nonlinear Dynamic Inversion Controller … 97

×10 -3 Actuator1 ×10 -3 Actuator2 ×10 -3 Actuator3


2 2 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m
1 1 1
0.5 0.5
0.5
0 0
0
-0.5 -0.5
-0.5 -1
-1
-1.5 -1 -1.5
-2 -1.5 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

×10 -3 Actuator4 ×10 -3 Actuator5 ×10 -3 Actuator6


2 2 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m
1 1 1
0.5 0.5 0.5
0 0 0
-0.5 -0.5 -0.5
-1 -1 -1
-1.5 -1.5 -1.5
-2 -2 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

Fig. 6 Position tracking error with simplified INDI controller

reference trajectory in operation space. The origin of the upper platform moves in a
horizontal circular path with a radius of 0.5 m with a period of 5 s.
Figure 4 presents the tracking performance of each leg under nominal condition
while real state feedback is used to calculate matrix M and H. The leg length tracking
errors are shown in Fig. 5. It is shown that the controller gives stable and good tracking
performance, with a maximum tracking error limited within 2 × 10−3 m. This result
is already a verification of robustness of INDI controller to model inaccuracies in
gravity and Coriolis related terms, since that part of the model is not used in the
controller.
Figure 6 gives tracking errors when the system position set-point, instead of the
real state feedback, are used to calculate the control effectiveness matrix. In this
simulation the modified control law Eq. 24 is used. It is shown that the performance
almost remain intact. This result verified that the INDI controller is not sensitive
to model mismatch in the control effectiveness matrix, and the proposed simplified
control law will provide similar performance as a complete state feedback approach
will do.
In order to further test the robustness of the proposed controller, a significant model
mismatch is set for the system. In Fig. 7 the position tracking error of each leg when
there is 50% mismatch in the upper platform mass is presented, which is generally
beyond what we expect in reality. It is indicated that the performance is almost intact
again. This result verifies that INDI is very robust to parameter mismatch in the
control effectiveness matrix, hence the validation of using a simplified mass matrix
Ms is also enhanced.
The previous simulation results verify that at least at an practical sampling rate,
the time scale separation principle assumption holds for a hexapod flight simulator
98 Y. Huang et al.

×10 -3 Actuator1 ×10 -3 Actuator2 ×10 -3 Actuator3


2 2 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m
1 1 1
0.5 0.5
0.5
0 0
0
-0.5 -0.5
-0.5 -1
-1
-1.5 -1 -1.5
-2 -1.5 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

×10 -3 Actuator4 ×10 -3 Actuator5 ×10 -3 Actuator6


2 2 2
1.5 1.5 1.5
Position Error, m

Position Error, m

Position Error, m
1 1 1
0.5 0.5 0.5
0 0 0
-0.5 -0.5 -0.5
-1 -1 -1
-1.5 -1.5 -1.5
-2 -2 -2
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
t, s t, s t, s

Fig. 7 Position tracking error with simplified INDI controller with 50% mass mismatch

motion system. The INDI technique is a promising approach for the studied motion
system and a wider range of parallel or serial robots to overcome model uncertainties
with simple design procedure and small computational burden.

5 Conclusion

Incremental nonlinear dynamic inversion is a promising approach for parallel robot


motion control. The time scale separation principle, which is the base of INDI tech-
nique, holds for the studied system at a practical sampling rate. The INDI based
controller is not sensitive to almost all kinds of model and parametric inaccuracies,
which allows for an accurate system linearization without precise model informa-
tion. Furthermore, the robustness of INDI to model uncertainties allows for trajectory
set-points to be used with simplified mass matrix, which will largely reduce the com-
putational burden. Since INDI technique depends on accurate sensor measurement
and fast actuator dynamics, the influence of measurement noise and bias, as well as
actuator dynamics should be investigated as future work before the proposed control
scheme is implemented to a promising real world application.
Robust Incremental Nonlinear Dynamic Inversion Controller … 99

References

1. Becerra-Vargas M, Eduardo MBelo (2011) Robust control of flight simulator motion base. J
Guid Control Dyn 34(5):1519–1528
2. Dasgupta B, Mruthyunjaya TS (1998) A Newton-Euler formulation for the inverse dynamics
of the stewart platform manipulator. Mech Mach Theory 33(8):1135–1152
3. Dasgupta B, Mruthyunjaya TS (1998) Closed-form dynamic equations of the ceneral stewart
platform through the Newton-Euler approach. Mech Mach Theory 33(7):993–1012
4. Honegger M, Codourey A, Burdet E (1997) Adaptive Control of the Hexaglide, a 6 dof Par-
allel Manipulator. In Proceedings of the 1997 IEEE international conference on robotics and
automation, 543–548, 1997
5. Huang Y, Pool DM, Stroosma O, Chu QP, Mulder M (2016) A review of control schemes for
hydraulic stewart platform flight simulator motion systems
6. Huang Y, Pool DM, Stroosma O, Chu QP, Mulder M (2016) Modeling and simulation of
hydraulic hexapod flight simulator motion systems. In AIAA modeling and simulation tech-
nologies conference, 2016
7. Kim HS, Cho YM, Lee KI (2005) Robust nonlinear task space control for 6 DOF parallel
manipulator. Automatica, 41:1591–1600
8. Kim DH, Kang JY, Lee KL (2000) Robust tracking control design for a 6 DOF parallel manip-
ulator. J Robot Syst 17(10):527–547
9. Lee Se-Han, Song Jae-Bok, Choi Woo-Chun, Hong Daehie (2003) Position control of a Stewart
platform using inverse dynamics control with approximate dynamics. Mechatronics 13:605–
619 Jul
10. Miletović I (2014) Optimal reconstruction of flight simulator motion cues. Unpublished Msc.
thesis, Delft University of Technology, 2014
11. Nguyen CC, Antrazi SS, Zhou ZL, Campbell CE Jr (1992) Adaptive control of a stewart
platform-based manipulator. J Robot Syst 10(5):657–687
12. Shang Wei-Wei, Cong Shuang, Ge Yuan (2012) Adaptive computed torque control for a parallel
manipulator with redundant actuation. Robotica 30:457–466
13. Siciliano B, Sciavicco L, Villani L, Oriolo G (2009) Robotics Modelling Planning and Control.
Springer, Berlin
14. Sieberling S, Chu QP, Mulder JA (2010) Robust flight control using incremental nonlinear
dynamic inversion and angular acceleration prediction. J Guid Control Dyn 33(6):1732–1742
Nov
15. Simplício P, Pavel MD, van Kampen E, Chu QP (2013) An acceleration measurements-based
approach for helicopter nonlinear flight control using incremental nonlinear dynamic inversion.
Control Eng Pr 21:1065–1077
16. Sjirk Koekebakker (2001) Model based control of a flight simulator motion system. PhD thesis,
Delft University of Technology, 2001
17. Smeur EJ, Chu QP, de Croon G (2016) Adaptive incremental nonlinear dynamic inversion for
attitude control of micro aerial vehicles. J Guid Control Dyn 39(3):450–461,
18. Stroosma O, van Paassen MM, Mulder M (2003) Using the SIMONA research simulator for
human-machine interaction research. In: AIAA modeling and simulation technologies confer-
ence and exhibit, 2003
Limit Cycle Oscillation Amplitude Tailorng
Based on Describing Functions and μ
Analysis

Andrea Iannelli, Andrés Marcos and Mark Lowenberg

1 Introduction

One of the major challenges faced by aeronautical industry nowadays is to achieve


lightweight aircraft configurations which enable to reduce fuel consumptions and
operating costs ensuring at the same time a feasible design in terms of safety con-
straints. Among the most dangerous instability phenomena exacerbated by wing
flexibility there is flutter.
Flutter is a self-excited instability in which aerodynamic forces acting on a flexible
body couple with its natural structural vibration modes producing oscillatory motion.
The level of vibration may result in sufficiently large amplitudes to provoke failure
and often this requirement dictates the design of the structure. The study of this
problem hence entails a multi-disciplinary approach, involving structural dynamics
and aerodynamics, commonly tackled by means of aeroelasticity. Flutter analysis
has been widely investigated and several well-established techniques are available,
representing the state-of-practice (see [11] for a thorough review).
Despite the large amount of effort spent in understanding flutter, it is acknowl-
edged that predictions based only on computational analyses are not totally reliable.
Currently this is compensated by the addition of conservative safety margins to
the analysis results as well as expensive flutter test campaigns. One of the main
criticalities arises from the sensitivity of aeroelastic instability to small variations in
parameter and modeling assumptions. In addressing this issue, in the last two decades

A. Iannelli (B) · A. Marcos · M. Lowenberg


Department of Aerospace Engineering, University of Bristol, Bristol BS8 1TR, UK
e-mail: andrea.iannelli@bristol.ac.uk
A. Marcos
e-mail: andres.marcos@bristol.ac.uk
M. Lowenberg
e-mail: m.lowenberg@bristol.ac.uk

© Springer International Publishing AG 2018 101


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_6
102 A. Iannelli et al.

researchers looked at robust modeling and analysis techniques from the robust con-
trol community, specifically linear fractional transformation (LFT) models and μ
(structured singular value) analysis [19, 25]. The so-called flutter robust analysis [5,
17] aims to quantify the gap between the prediction of the nominal stability analysis
(model without uncertainties) and the worst-case scenario when the whole set of
uncertainties is contemplated. In recent studies [12, 13, 16] other issues of this con-
solidated framework have been considered as: better understanding of the modelling
options and their effects on the predictions, application of μ as flutter sensitivity tool
and reconciliation of the robust analyses results with the physical understanding of
the systems.
The framework of μ technique is straightforwardly applicable to the study of
robust stability (RS) and performance (RP) of linear plants. However the increase
in flexibility on one side and a more realistic description of the system on the other
compel to consider cases where the linear hypothesis no longer holds. Aeronautical
industry, for example, has recently shown interest in evaluating the effect of the
uncertainties on instabilities prompted by the control surface freeplay [20].
A way to introduce nonlinearities in the frequency domain framework, borrowed
from the control community, is represented by the Describing Function (DF) method
[9]. This has been employed for the prediction of onset, frequency and amplitude of
Limit Cycle Oscillations (LCOs) in aeroservoelastic applications [7, 10].
The present study applies the framework μ-DF to a well-known benchmark [22]
in order to assess the nonlinear flutter behavior of a typical section configuration with
control surface freeplay. Within the showcased framework, μ analysis can be applied
in order to investigate the robustness of the LCO in the face of uncertainties [3]. Here
a novel application of these tools to the study of nonlinear systems is proposed, which
enables to exploit the worst-case capability of μ in order to tailor the LCO properties
of the system with the smallest effort in terms of change of nominal design (optimal
passive design remedies).
The layout of the article is as follows. Section 2 presents the linear system con-
sidered in the analyses. An overview for each one of the techniques employed in the
work (DF, LFT and μ) is given in Sect. 3. In Sect. 4 the application of the built frame-
work to the chosen test bed is shown. The rationale behind the proposed tailoring of
the nonlinear behavior of the system and the corresponding results are provided in
Sect. 5. Finally, Sect. 6 gathers the main conclusions of the work.

2 Typical Section System

2.1 Model

The typical section model was introduced in the early stages of aeroelasticity to
investigate dynamic phenomena such as flutter [4]. Despite its simplicity, it captures
essential effects in a simple model representation, see Fig. 1.
Limit Cycle Oscillation Amplitude Tailorng … 103

Fig. 1 Typical section


sketch

From the structural side, it basically consists of a rigid airfoil with lumped springs
simulating the 3 degrees of freedom of the section: plunge h, pitch α and trailing
edge flap β. The positions of the elastic axis (EA), center of gravity (CG) and the
aerodynamic center (AC) are also marked. The main parameters in the model, see
Fig. 1, are: K h , K α and K β –respectively the bending, torsional and control surface
stiffness; half chord distance b; dimensionless distances a, c from the mid-chord
to respectively the flexural axis and the hinge location, and xα and xβ , which are
dimensionless distances from flexural axis to airfoil center of gravity and from hinge
location to control surface center of gravity. Sα and Sβ , not explicitly reported in the
picture and employed later on in the analyses, are the equivalent of the latter with
dimension, i.e. Sα = bxα and Sβ = bxβ .
In addition to the above parameters, the inertial characteristics of the system are
given by: the wing mass per unit span m s , the moment of inertia of the section about
the elastic axis Iα , the moment of inertia of the control surface about the hinge Iβ .
If structural damping is considered, this can be expressed specifying the damping
ratios for each DOFs and then applied through modal damping approach [6].
The Theodorsen unsteady formulation proposed in [23] is employed as aerody-
namic model. This approach is based on the assumption of a thin airfoil moving
with small harmonic oscillations in a potential and incompressible flow. Despite its
simplicity, such idealization is pertinent to flutter analysis since this implies a condi-
tion of neutral stability of the system. The same hypotheses underline most of more
improved aerodynamic approaches (e.g. Doublet Lattice Method).
In order to present the basic model development approach, X and La are defined
as the vectors of the degrees of freedom and of the aerodynamic loads respectively:
⎡ ⎤ ⎡ ⎤
h(t)
b
−L(t)
X(t) = ⎣ α(t) ⎦ ; La (t) = ⎣ Mα (t) ⎦ (1)
β(t) Mβ (t)
104 A. Iannelli et al.

The set of differential equations describing the dynamic equilibrium [11] can then
be recast in matrix form using Lagrange’s equations:
     
Ms Ẍ + Cs Ẋ + Ks X = La (2)
     
where Ms , Cs and Ks are respectively the structural mass, damping and stiffness
matrices. The expression of La , provided in the Laplace s domain, is:
 
La (s) = q A(s̄) X(s)
    (3)
with La (s) = L La (t) ; X(s) = L X(t)

where the dynamic pressure q and the dimensionless Laplace variable s̄ (=s Vb with V
the airspeed) are introduced. A(s̄) is called the generalized Aerodynamic Influence
Coefficient (AIC) matrix, and is composed of generic terms A(s̄)i j representing the
transfer function from each degree of freedom j in X(s) to each aerodynamic load
component i in La (s).
Due to the expression of the AIC matrix which does not have a rational dependence
on the Laplace variable s, the final aeroelastic equilibrium is inherently expressed in
frequency-domain and is given by:

  2      
Ms s + Cs s + Ks X = q A(s̄) X (4)

 
A rational approximation of A(s̄) has to be performed in order to express the
equilibrium in state space, which is essential to deal with aeroservoelastic problems
and control based techniques. In this work Minimum State (MS) [14] method is
employed, which propose the following expression for the aerodynamic operator:


                −1   
A ≈ A M S = A2 s̄ 2 + A1 s̄ + A0 + D s̄ I − Γ E s̄ (5)

 
where Ai are real coefficient matrices obtained imposing a matching of the opera-
tors (A and A M S ) at determined frequencies of oscillations. The last block consists
of the so-called lag terms which basically represent high-pass filters of the form

with the aerodynamic roots γi as cross-over frequencies (defining the diagonal
s̄+γi    
matrix Γ ) and the gains provided by the real matrices D and E . They are iter-
atively determined through a nonlinear least square since Eq. (5) is bilinear in these
two unknowns. The impact on robust flutter analysis of the different expressions for
the AIC matrix (original frequency-domain operator or state-space approximations)
when aerodynamic uncertainties are considered has been investigated in [12].
The resulting state-space equation, which includes N augmented aerodynamic
states equal in number to the lag roots γi , is here reported in short-hand notation:
Limit Cycle Oscillation Amplitude Tailorng … 105
 
˙
X̂s χss χsa X̂s
˙ = (6)
X̂a χas χaa X̂a

where X̂s and X̂a are respectively the vector of structural and aerodynamic states.

2.2 Linear Nominal Flutter Analysis

Nominal flutter analysis studies the conditions at which the dynamic aeroelastic
system loses its stability. As the airspeed V varies the system’s behavior in terms of
response and stability changes. The result is the prediction of the so-called flutter
speed V f , below which the system is guaranteed to be stable.
The stability of the system studied here is related to the spectrum of the state-
matrix defined in Eq. (6). Six aerodynamic roots γi equally spaced between 0.1 and
0.7 are chosen to approximate the Theodorsen operator. This is done in order to span
the range of reduced frequencies where the flutter frequency is expected to be.
The nominal parameters defining the typical section studied in this work are taken
from [22]. This test bed focuses on a three degrees of freedom typical section con-
figuration with control surface freeplay. This nonlinearity, which will be examined
later in Sect. 3.1.2, affects the diagonal term of the matrix Ks corresponding to the
control surface rotation (i.e. K β ). If this term is assumed as K βL (i.e. the control
surface stiffness without freeplay) and all the other parameters hold their nominal
values, a linear analysis of the system can be performed.
In Fig. 2 the eigenvalues corresponding to the structural modes of the system are
depicted as the airspeed increases from 1 ms (square marker) to 30 ms . The system
exhibits a plunge-pitch flutter, highlighted with the circle marker. This phenomenon
is commonly called binary flutter since it is mainly featured by the interaction of two
modes.
In Table 1 a comparison for the linear flutter speed VL with the ones reported in
other works studying this problem is reported.

Fig. 2 Nominal linear 140 Flap mode


system: pole locations as a Plunge mode
120 Pitch mode
function of airspeed V=30 m/s V=1 m/s

100
Im [rad/s]

80
60
ff=6 Hz
40 Vf=24 m/s

20
−15 −10 −5 0 5
Re [rad/s]
106 A. Iannelli et al.

Table 1 Comparison of Flutter


results in terms of flutter  m  velocity Flutter frequency
s [Hz]
speed and frequency for the
linear case Present work 24 6
[18] 23.9 6.1
[6] 23.9 6
[3] 23.2 6

3 Quasi-linear Robust Framework

3.1 Describing Function Method

The analysis and design of linear control plants pivots on a complex-valued function,
the frequency response. However, this function cannot be defined for nonlinear sys-
tems, hence frequency domain techniques cannot be directly applied. The Describing
Function (DF) method [9, 15] aims to overcome this obstacle by providing in these
cases an alternative definition of frequency response. The basic concepts of this
technique are here presented, with particular emphasis on this application.

3.1.1 Main Concept

The concept of quasi-linearization is the basis of the application of DF. This expedient
originates by the goal to retain the advantages of a linear approximation without the
constraint of requiring small departures of the variables from the nominal operating
values. This can be achieved if the approximation of the nonlinear operator depends
on some properties of the input. Dependence of performance on signal amplitude,
the basic characteristic of nonlinear behavior, is thus retained.
The DF method is mostly applied to systems which can be recast in the framework
of Fig. 3. This class of system is characterised by having separable linear and nonlin-
ear parts connected in a single loop configuration, in the field of aeroservoelasticity
[8] (e.g. saturation, freeplay, hysteresis).
The quasi-linearization process requires that the input signal form is specified.
In analogy to what is done in frequency domain analysis, it is widely employed
the concept of sinusoidal-input describing function (SIDF), in the following simply

Fig. 3 Feedback
representation of a nonlinear
system
Limit Cycle Oscillation Amplitude Tailorng … 107

abbreviated as DF. The interest in periodic signals is mainly dictated by the aim
to detect and analyse steady oscillations in nonlinear systems, also known as Limit
Cycle Oscillations (LCOs).
The key hypothesis of the DF method is that only the fundamental component
has to be retained from the generical periodic output w(t). This is an approximation
because the output of a nonlinear element corresponding to a sinusoidal input usu-
ally contains higher harmonics. This is motivated by the assumption that the higher
harmonics in the output are filtered out, i.e. the linear element satisfies the low-pass
filter condition (or filter hypothesis):

G( jω)  G( jnω) for n = 2, 3, . . . (7)

The DF of a nonlinear element is thus the complex fundamental-harmonic gain of a


nonlinearity in the presence of a driving sinusoid of amplitude A:

Me j (ωt+φ) M jφ b1 + ja1
N (A, ω) = = e =
Ae j (ωt) A A
with x = A sin(ωt); w(t) ≈ a1 (A, ω) cos(ωt) + b1 (A, ω) sin(ωt) (8)


a1
M(A, ω) = a12 + b12 ; φ(A, ω) = arctan
b1

This method hence consists in treating the nonlinear element of Fig. 3 in the presence
of sinusoidal input as if it were a linear element with a frequency response N (A, ω).

3.1.2 DF for the Freeplay Nonlinearity

Due to the well established usage of DF method in control community, the expression
of N (A, ω) can be found for the majority of nonlinearities commonly encountered in
applications [9]. Freeplay, also called dead-zone or threshold, often arises in mechan-
ical and electrical systems where the first part of the input is needed to overcome
an initial opposition at the output, as schematically depicted in Fig. 4a. Its explicit
mathematical definition (refer to Fig. 4a for the symbology) is given by:

k(x − δ); |x| > δ
w= (9)
0; |x| < δ

Having defined the (positive) freeplay size δ, the describing function N F , obtained
analytically, is then:

⎨0; A<δ
N F (A) = −1
δ δ   δ 2 (10)
⎩ πk π − 2 sin A
−2 A
1− A
; A>δ
108 A. Iannelli et al.

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25 30

(a) Freeplay nonlinearity (b) Associated Describing Function

Fig. 4 Freeplay nonlinearity: graphical representation and associated Describing Function

Fig. 5 Quasi-linearized
system specialised for LCOs
study through DF

Due to the properties (static and memoryless) hold by this nonlinearity, its describing
function is a pure real gain not depending on frequency, but only on the amplitude A
of the signal, in particular on its ratio with δ. In Fig. 4b N F is depicted for the case
k = 1.

3.1.3 Detection of LCOs

One of the main applications of DF method is the study of the existence of steady
oscillations in a nonlinear system. In particular Limit Cycle Oscillations (LCOs)
[24] are of engineering interest, which are defined as initial condition-independent
isolated periodic orbits which occurs in unforced dissipative systems. LCOs are
usually avoided in mechanical systems since they are likely to reduce fatigue’s life
and provoke critical damages. The aeronautical industry has sensibly strengthen his
focus on this phenomena in the last decade [8] and thus increasing effort has been
devoted on this topic by the research community. It is well ascertained that the
knowledge of the existence of a limit cycle, as well as its approximate amplitude and
frequency, is a prerequisite for a good system design [20].
The methodology employed to study LCOs through DF takes the clue from the
feedback representation of a nonlinear system in Fig. 3, specialised in Fig. 5 by spec-
ifying the signal circulating through the system as a sinusoid, thus replacing the
nonlinear element by its describing function N , and considering null input (since
focus is on stability properties of the system).
Limit Cycle Oscillation Amplitude Tailorng … 109

Linear theory is then applied to the quasi-linearized system, searching for points
of neutral stability which are interpreted as LCOs in the original (nonlinear) system.
The well-known feedback relations involve the frequency response of the signals (in
capital letters) and the transfer functions of the operators, and the resulting necessary
condition for oscillations are:

X ( jω) = −G( jω)W ( jω)


W ( jω) = N ( jω)X ( jω) (11)
 
1 + G( jω)N (A, ω) X ( jω) = 0

Solution of the characteristic equation gives the conditions in terms of A and ω such
that the system exhibits self-sustained oscillations.
The characteristic equation in Eq. (11) gives only a necessary condition for the
occurrence of periodic oscillations in the nonlinear system. Indeed stability of the
oscillation has still to be verified. The question of LCO stability is generally posed
in terms of the states trajectory behavior following amplitude or frequency perturba-
tions. If the LCO returns to its original equilibrium state it is defined stable, otherwise
it is unstable. To tackle the stability problem, the methodology proposed in [2] is
here adopted. The idea is to study the variation of the real part σ of the eigenvalue
associated to the LCO solution following a perturbation in A. A stable limit cycle
requires ∂∂σA < 0, since a positive perturbation in amplitude moves the trajectory out-
side the limit cycle and requires a decay in the amplitude (negative real part) to move
the trajectory back to the limit cycle, and conversely an unstable limit cycle will have
∂σ
∂A
> 0.

3.2 Linear Fractional Transformation and μ Analysis

Robust flutter analysis [17] deals with flutter instability predictions when the
aeroelastic model is subject to uncertainties. Examples of the latter are low con-
fidence in the values of parameters and coefficients of the matrices, or neglected
dynamics in the nominal model. Once the problem is described within the LFT
framework, μ analysis enables to predict for a given airspeed if the set of uncertain-
ties is capable to lead to instability. A very brief description of these tools is here
provided (see [19, 25] and references herein).
If the coefficient matrix M is defined as a proper transfer matrix, Fu , namely
the upper LFT, is the closed-loop transfer matrix from input u to output y when the
nominal plant M22 is subject to a perturbation matrix Δu (Fig. 6).
M11 ,M12 and M21 reflect a priori knowledge of how the perturbation affects the
nominal map. Once all varying or uncertain parameters are pulled out of the nominal
plant, the problem appears as a nominal system subject to an artificial feedback. The
algebraic expression for Fu is given by:
110 A. Iannelli et al.

Fig. 6 Upper LFT

Fu (M, Δu ) = M22 + M21 Δu (I − M11 Δu )−1 M12 (12)

This LFT is well posed if and only if the inverse of (I − M11 Δu ) exists.
The structured singular value μΔ (M) of a matrix M ∈ C n×n with respect to the
uncertain matrix Δ is defined below:
1
μΔ (M) = (13)
minΔ (σ̄ (Δ) : det(I − MΔ) = 0)

where σ̄ (Δ) is the maximum singular value of Δ and μΔ (M) = 0 if there is no


Δ satisfying the determinant condition. Note that this definition can be specialized
to determine whether the LFT Fu (M, Δu ) is well posed once the generic matrix
M in the above definition is replaced by M11 and Δ belongs to the correspond-
ing uncertainty set Δu . For ease of calculation and interpretation, this set is typically
norm-bounded Δ∞ < 1 (without loss of generality by scaling of M11 ). In this man-
ner, if μΔ (M11 ) ≤ 1 then the result guarantees that the analyzed system is robustly
stable (RS) to the considered uncertainty.

4 Analysis of the Typical Section LCO Due to Freeplay

Considerable work has been done in the past two decades in investigating the effects
of structural nonlinearities on aeroelastic phenomena. Examples of this effort are
the experimental [6] and analytical studies [22] conducted to precisely assess the
nonlinear flutter behavior of a three-degrees-of-freedom typical section configuration
with control surface freeplay. The analytical studies employed both the direct time
integration and the DF method with the aim to determine LCO amplitudes and
frequencies and offer a comparison of the predicted responses with experimental data.
These benchmark results have driven further studies widening the investigations of
this testcase: harmonic-balance [18], continuation methods [10] and μ analysis [3].

4.1 Detection of Freeplay-Induced LCOs

The investigations builds on the linear model described in Sect. 2.1 and the DF method
to deal with the freeplay nonlinearity. The application of the latter enables to give an
expression for the elastic moment MβE acted by the control surface:
Limit Cycle Oscillation Amplitude Tailorng … 111

MβE = K βQ L β
(14)
K βQ L = N F (β)K βL

where K βL is the flap stiffness in the linear case (δ=0), K βQ L is the quasi-linear flap
stiffness and N F is the DF provided in Eq. (10) and depicted in Fig. 4b, specialised to
this case taking k=1 and A=β. In other words, the linear stiffness K βL is replaced by
an equivalent stiffness K βQ L in the diagonal term of Ks corresponding to the control
surface, which is a function of the flap rotation β.
The procedure to detect necessary conditions for LCO in the plant can thus be
initialized. A fundamental harmonic solution for the flap rotation β=βs sin(ωt) is
assumed and from Eq. (10) the corresponding value of N F is obtained (the freeplay
size δ is fixed). This enables to calculate the quasi-linear stiffness K βQ L from Eq. (14)
and thus evaluate through eigenvalue analysis the corresponding flutter speed V f ,
defined as the lowest airspeed which drives the system unstable, and the corre-
sponding flutter frequency ω f , as outlined in Sect. 2.2 for a value of the stiffness
corresponding to K βL . Due to the existing relation between K βQ L and βs , the results
can then be shown using graphs K βQ L -V f and K βQ L -ω f if the focus is on linear flutter
features, or analogously using V f -βs and V f -ω f if the LCO phenomenon is empha-
sized. As stressed later on, these two representations are directly related since they
both originate from the procedure just described. The DF method is instrumental in
guaranteeing the connection and enabling to transfer the information coming from
multiple linear flutter analyses to LCO characterization.
Figure 7a shows the values of flutter speed corresponding to a variation of the
flap stiffness between 0 and the linear value K βL (that is, as the associated describing
function N F varies from 0 and 1). Important airspeeds are highlighted: V0 is the
flutter speed for zero stiffness of the control surface; Vm is the minimum flutter
speed, attained for K βQ L ≈ 0.2 N; VL is the linear flutter speed (determined in Fig. 2).
Figure 7b shows the values of the flutter frequencies.
It is worth noticing, recalling Fig. 7b, that two distinctive flutter frequencies are
detected, as the value of the flap stiffness is varied. This aspect is important for what
will be considered in Sect. 5, thus it is here further investigated.
In Fig. 8 it is shown a plot similar to the one reported in Fig. 7a, but in this
case considering all the airspeeds which correspond to a crossing of the imaginary
axis, and not only the lowest (i.e. V f ). It is apparent from the graph that for a
large range of flap stiffness (0 N< K βQ L <1.3 N) both pitch and plunge modes
experience instability. In particular, three regions can be clearly detected: in the
first one, characterized by K βQ L ∈ [0, 0.4] N, the plunge mode is the first to go
unstable (flutter frequency ≈ 4–5 Hz); in the second region, K βQ L ∈ [0.4, 1.3] N, the
pitch mode is responsible for the lowest unstable speed (flutter frequency ≈ 10–
11 Hz); finally, for K βQ L ∈ [1.3 N, K βL ], only the plunge mode goes unstable (flutter
frequency = 6 Hz). The unstable eigenvalue is associated to its elastic mode through
the application of the Modal Assurance Criteria [1]. The abrupt jumps in Fig. 7b
112 A. Iannelli et al.

Fig. 7 Flutter speed and 25


VL=24 m/s
frequency versus flap
stiffness as K βQ L ∈ [0, K βL ] 20

Flutter speed [m/s]


15

10 V0=7m/s

5
V =3.5 m/s
m
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Flap stiffness [N]
(a) Flutter speed versus flap stiffness
12
11
Flutter frequency [Hz]

10
9
8
7
6
5
4
0 0.5 1 1.5 2 2.5 3 3.5 4
Flap stiffness [N]
(b) Flutter frequency versus flap stiffness

Fig. 8 Flutter speed versus 25


flap stiffness associated at V =23.1 m/s
2
Plunge mode
Pitch mode
each elastic mode by means 20
Flutter speed [m/s]

of MAC
15

10
V1=9 m/s

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Flap stiffness [N]

has thus to be ascribed to the change in the elastic mode reaching earlier the flutter
condition, which depends on the value of flap stiffness.
Based on the previous analyses, the DF method enables to infer conclusions about
the nonlinear response of the system due to the freeplay, i.e. amplitude, frequency
and stability of LCOs. In particular, the conditions of neutral stability for the quasi-
linearized system (reported in Fig. 7a) are associated to LCOs of the nonlinear system,
with amplitude obtained from Eq. (14) and frequency provided by Fig. 7b. In Fig. 9
Limit Cycle Oscillation Amplitude Tailorng … 113

Fig. 9 Flap rotation LCO

Nondimensional flap rotation amplitude


amplitude βδs against 2.5
airspeed. Stable and unstable Unstable LCO
Stable LCO
oscillations highlighted
2

1.5

1
0 5 10 15 20 25
Airspeed [m/s]

the nondimensional flap rotation amplitude βδs is plotted against the airspeed. Stable
and unstable oscillations are depicted respectively with a continuous and dashed
lines.
The shown results are in good agreement with what reported in the aforementioned
references applying DF method to the same test case. The applicability of the filter
hypothesis (Eq. 7) is thoroughly addressed in [18]. In this work the Harmonic Bal-
ance, a refinement of DF method where also higher harmonics than the fundamental
one can be retained, is employed. Two cases are studied, with respectively 1 har-
monic, leading to equivalent results to the DF method, and 3 harmonics considered.
In the latter case, the predictions almost perfectly match the results obtained through
nonlinear time-marching, which is taken as the reference result. When only the first
harmonic is considered, some discrepancy can be detected in the LCO branch of Fig. 9
corresponding to the low frequency instability, with a higher amplitude predicted.
It is also observed that test data [6], especially in terms of oscillation amplitude,
are for some small airspeed ranges only approximately captured. This is ascribed in
[10] to more complex limit cycles that exhibit several types of nonlinear behavior
including quasiperiodicity and thus can not be correctly modelled in this framework.
It is however concluded by many [3, 6, 10, 22] that DF represents a valid tool of
analysis for this problem.

5 LCO Graph Tailoring

In [3] it is tackled the task to provide robust stability assessment of this benchmark
problem by means of μ analysis. The chief goal is to quantitatively evaluate the
degradation of the curve in Fig. 9 in terms of amplitude increase and change in critical
airspeeds. Each point of the plot corresponds to a quasi-linearization of the system,
and thus can be recast in the LFT framework (Eq. 12) and its stability analysed by
means of μ. In this section a different perspective on the LCO study adopting robust
techniques is proposed.
114 A. Iannelli et al.

As an introduction, it is recalled that flutter is generally associated to catastrophic


phenomena featured by oscillations with increasing amplitudes. The presence of
nonlinearities tend to bound the amplitude of vibration, leading to limited amplitude
flutter, generally named LCOs. These periodic oscillations, albeit less critical than a
diverging response, can result in structural fatigue issues which might lead to failure,
and in general undesired behavior of the airframe. There are no precise guidelines
defining values of acceptable LCOs. While the overall goal is to limit the LCO
amplitudes below the amplitudes caused due to turbulence during flight (and this
poses a first requirement), one of the accepted industrial practices is to limit the
resulting accelerations in prescribed points of the airframe [20]. These values can be
related as well to the LCO amplitude. It hence emerges on the one side, the interest
in quantitatively evaluating this phenomenon (e.g. as done in Sect. 4 by means of DF
approach) and on the other hand to limit it. This can be achieved either by changing
the design (passive methods) or directly during flight by feedback control (active
methods). The chief goal of this section is to demonstrate how μ analysis can be
applied to tackle the task of achieving a reduction in LCO amplitude. The classic
LFT-μ framework outlined in Sect. 3.2 and Eqs. (12)–(13) is applied. The idea is to
consider the quantities held in Δ as tailoring variables, that is Δ is the variable space
made of parameters which can be exploited in order to achieve a better nonlinear
behavior, here defined as an LCO curve featuring smaller amplitudes.

5.1 Object Definition Through DF Framework

Recalled here the connection between the two plots described in Figs. 7a and 9.
Specifically, the top plot Fig. 7a represents a linear flutter analysis applied to the
system as the flap stiffness is varied. This curve is used as a basis to build the graph
in Fig. 9 depicting the LCO amplitude as a function of the airspeed by making use
of the relation given by the DF method between the flap amplitude and the quasi-
linear stiffness (Eqs. (10)–(14)). It is thus straightforward that decreasing the LCO
amplitude is equivalent to moving towards the left the curve in Fig. 7a. Note also that
the points lying on this curve are all featured by a condition of neutral stability (they
all have one eigenvalue with zero real part).
The structured singular value is usually applied to predict a measure of the distance
of a stable plant from the neutral stability condition. In this particular case, it is
employed to obtain the same measure for an unstable plant, attributing to it the
meaning of distance to regain neutral stability. This usage of μ has to be considered
exceptional and, when employed, care should be put in interpreting the results. In
this application, the outcome provided by μ is not used to infer conclusions on the
robustness of the plant, but, as better explained later, to understand how and which
parameters should be modified to achieve the specified goal. In Fig. 10 it is depicted
a pictorial explanation of this concept.
The nominal plant (having one eigenvalue with positive real part) is identified
by the square marker and is specified by the nominal parameters of the system, the
Limit Cycle Oscillation Amplitude Tailorng … 115

Fig. 10 Application of μ 25
Plunge mode
analysis to modify the LCO Pitch mode
plot: definition of the 20

Flutter speed [m/s]


nominal plant and depiction
of the sought change in 15
position of the neutral
stability point 10

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Flap stiffness [N]

definition of an airspeed V and a value for the quasi-linear flap stiffness K βQ L . The
peak value found with μ analysis gives therefore the lowest size of perturbation
matrix which leads to a neutral stability condition. After the perturbation pointed out
by μ is applied to the system’s parameters, the plant marked with the circle loses
the condition of neutral stability, which is allocated to the one with the square. This
graphically also means that the dashed curve, as desired, has moved towards the left,
and hence the associated LCO exhibits smaller amplitude.
An important feature of this strategy is that it allows to specify the desired reduc-
tion in LCO amplitude at a certain airspeed V by selecting the value of K βQ L at which
the neutral stability condition is allocated. Moreover, the worst-case scenario nature
of μ analysis turns to have here a very practical consequence: the critical perturbation
matrix Δcr (associated to the lower bound analysis) represents the smallest effort in
terms of change of nominal design, because it shows the combination of parameters
leading to the required goal with the overall minimum perturbation size. For this
reason it is here referred to as an optimal passive design remedy.
Figure 10 recalls that there might be two different modes going unstable depend-
ing on the values of the flap stiffness. The selected plant for the analysis showed in
the plot, for example, is in between the two instabilities. As a result, the combination
of design parameters allowing a reduction in amplitude of the LCO associated to the
pitch mode (dashed curve shifted left) could lead to an increase of the one associated
to the plunge (continuous curve shifted right), with eventually only a partial or neg-
ligible objective achievement. Once defined the variable space, a μ-based sensitivity
analysis as the one proposed in [13] is performed in order to detect which parameters
affect more the pitch instability and less the plunge one and thus make effective and
efficient design changes.
Finally, as a constraint on this tailoring, it is prescribed that the proposed improve-
ment should not worsen the overall stability of the system, which can be characterized
by means of the values of Vm and VL (defined in Fig. 7a).
116 A. Iannelli et al.

5.2 Application of μ for the LCO Tailoring

This procedure starts with the definition of the nominal plant and the block Δ. The last
task consists in the definition of the variable space for the tailoring. In the showcased
example it includes terms of structural mass Ms and stiffness Ks matrices, but in
principle no limitations exist for this choice. The following (each one with a range
of variation of 20% from the nominal value) are selected: Sα , Iα , Iβ , K h and K α . The
LFT describing the problem is defined by the block:

Δ7,R = diag(δ Sα I2 , δ Iα , δ Iβ I2 , δ K h , δ K α ) (15)

where the size of the uncertainties (total Δ dimension) and their nature (R for real) is
recalled in the superscripts. In indicates the identity matrix with size n (for repeated
uncertainties). For what concerns the definition of the nominal plant, an airspeed
is selected such that it lies in a region characterised by high LCO amplitude, for
example V = 15 ms . Then a value of flap stiffness is chosen, which unequivocally
defines the sought LCO amplitude for that operating point. A value of 0.85 N is
taken, and hence the nominal plant corresponds to the one depicted with the square
marker in Fig. 10.
The following step consists in performing the μ-based sensitivity analysis in order
to understand which parameters among those in Eq. (15) affect the pitch instability
responsible for the high amplitude branch, and how to modify those in order to
achieve the goal. It is worth noticing that what is performed here consists basically
in estimating the LCO amplitude sensitivity with respect to the parameters hold in
Δ. In an active control perspective, this study could drive the design of the feedback
control law to actively reduce the LCO amplitudes and possibly eliminate LCOs. The
importance of this step is acknowledged in literature. In [21] for example this is tack-
led differentiating the equations based on the HB method and obtaining analytical
sensitivities in the framework of the typical section. The method here adopted (not
fully shown here due to space constraints) is believed to be less subject to the com-
plexity of the plant analysed since it does not rely on analytical formulations, but it
can be straightforwardly applied once the problem is recast in this framework. Based
on the information provided by the sensitivity analysis, the following conclusions
are inferred:
• The parameters that affect the pitch instability, but that do not affect the plunge
one, can be advantageously taken as suggested by the worst-case analysis so as to
achieve the objective, e.g. δ Iα = 1 and δ Iβ = −1
• The parameters that do not affect the pitch instability, but do affect the plunge one,
can be taken with opposite sign to counteract potential undesired effect on it, e.g.
δ K h = −1
• The parameters that affect in the same way the two instabilities (e.g. K α ) have to
be carefully considered because of the multiple effects they may have.
With respect to the last point, it is worth remembering that this optimization process
is subject to the constraint of preserving similar values for Vm and VL (which are
Limit Cycle Oscillation Amplitude Tailorng … 117

Table 2 Change in the tailoring variables to achieve the LCO tailoring


Design 1 (%) Design 2 (%) Design 3 (%)
Kα 0 −20 +20
Kh −20 −20 −20
Iα +20 +20 +20
Iβ −20 −20 −20
Sα 0 0 0

Fig. 11 Flap rotation LCO Nondimensional flap rotation amplitude


amplitudes βδs after the 2.2
Original
values of the design variables Design 1
are modified according to 2 Design 2
Table 2 and comparison with Design 3
1.8
the original graph
1.6

1.4

1.2
V V
m L
1
0 5 10 15 20 25
Airspeed [m/s]

assumed as indicators of the overall stability of the system). From this perspective, it
should be recalled from Fig. 8 that both speeds are associated to the plunge instability.
It is thus predictable that an adverse choice of parameters for the latter (as it is
K α = −1 from the worst-case analysis) is likely to worsen this scenario. The variable
K α represents hence a trade-off between two different objectives: on the one side
further decreasing the LCO amplitude, and on the other preserving the airspeed range
where LCO occurs. Built on these reflections, three different designs are considered,
see Table 2. In the table are expressed the suggested change of the variables as
percentage from the nominal value. Sα is unaltered since it barely affects any of the
instabilities and thus would represent an ineffective design change. K h , Iα and Iβ
are modified according to the previous comments. The three designs differ only on
the pitch stiffness K α , in order to observe its global effect. The corresponding LCO
amplitude curves are plotted in Fig. 11 against the original case.
All the proposed designs achieve the main goal of reducing the LCO amplitude
as well as fulfilling the requirement of maintaining the same lowest LCO occurrence
speed Vm , as shown by a comparison to the original curve. Design 2 reaches the
minimum LCO amplitude among the curves but presents, as side effect, a drastic
reduction in the value of VL . This is in line with the previous analyses which suggested
a reduction in K α as beneficial to lower the LCO amplitude. They also pointed out
that the same change would affect detrimentally the plunge stability, responsible for
the linear flutter speed. Design 3 goes in the opposite direction for both objectives
118 A. Iannelli et al.

since it increases the value of this stiffness parameter. Finally Design 1, which does
not alter the value of K α , seems the best compromise since on one side it maintains
the same linear flutter speed, and on the other it achieves a noticeable amplitude
reduction. Of course other designs could be proposed which contemplate absolute
variations of K α smaller than 20% and thus span solutions between Design 1 and
Design 3.

6 Conclusions

This work investigates a methodology to combine linear modeling of aeroelastic


systems with Describing Function to take into account control surface freeplay and
μ to perform quasi-linear analysis with uncertainties in the system. The contribution
of the work is twofold.
The outcome of nominal analyses is presented, showing a good correlation with
other benchmark results. The implications of using DF method as tool for nonlinear
assessments are discussed. Moreover, it is stressed how DF is instrumental in guar-
anteeing the connection between the conditions of neutral stability evaluated in the
quasi-linearized system and the conclusions inferred about the nonlinear response
of the system in terms of onset, amplitude, frequency and stability of LCO.
The last section of the paper shows a possible application of μ analysis to actively
or passively (depending on how the suggested methodology is implemented) modify
the properties of the nonlinear response. In particular, μ is employed to understand
which changes in the parameters values are more crucial to achieve a decrease of
the LCO amplitude with the constraint to not affect the critical speeds of the system.
The outlined procedure features a dual usage of this technique. It is first exploited its
worst-case capability to identify the combination of parameters leading to the neutral
stability condition (this, as explained, is equivalent to moving the LCO curve) with
the smallest departure from the nominal values (optimal design changes). Secondly,
a μ-based sensitivity is applied to establish which are, inside the variable space
considered, the most effective and efficient parameters for the prescribed goal. The
results in terms of proposed designs showcase the potential of the methodology.

Acknowledgements This work has received funding from the European Union’s Horizon 2020
research and innovation programme under grant agreement No 636307, project FLEXOP.

References

1. Allemang RJ, Brown DL (1982) A correlation coefficient for modal vector analysis. In: 1st
International modal analysis conference
2. Anderson MR (1998) Pilot-induced oscillations involving multiple nonlinearities. J Guid Con-
trol Dyn 21(5):786–791
Limit Cycle Oscillation Amplitude Tailorng … 119

3. Baldelli DH, Lind RC, Brenner M (2005) Robust aeroservoelastic match-point solutions using
describing function method. J Aircr 42(6):1597–1605
4. Bisplinghoff RL, Ashley H (1962) Principles of aeroelasticity. Wiley, New York
5. Borglund D (2004) The μ-k method for robust flutter solutions. J Aircr 41(5):1209–1216
6. Conner MD, Tang DM, Dowell EH, Virgin LN (1997) Nonlinear behavior of a typical airfoil
section with control surface freeplay: a numerical and experimental study. J Fluids Struct
11(1):89–109
7. Danowsky B, Thompson PM, Kukreja S (2013) Nonlinear analysis of aeroservoelastic models
with free play using describing functions. J Aircr 50(2):329–336
8. Dowell E, Edwards J, Strganac T (2003) Nonlinear aeroelasticity. J Aircr 40(5)
9. Gelb A, Vander Velde WE (1968) Multiple-input describing functions and nonlinear system
design. McGraw-Hill, New York
10. Gordon JT, Meyer EE, Minogue RL (2008) Nonlinear stability analysis of control surface
flutter with freeplay effects. J Aircr 45(6):1904–1916
11. Hodges DH, Pierce GA (2011) Introduction to structural dynamics and aeroelasticity, 2nd edn.
Cambridge aerospace series. Cambridge University Press, New York
12. Iannelli A, Marcos A, Lowenberg M (2016) comparison of aeroelastic modeling and robust
flutter analysis of a typical section. In: IFAC ACA, August 2016
13. Iannelli A, Marcos A, Lowenberg M (2016) Modeling and robust body freedom flutter analysis
of flexible aircraft configurations. In: IEEE MSC, September 2016
14. Karpel M (1981) Design for active and passive flutter suppression and gust alleviation. Tech-
nical report 3482, NASA
15. Khalil HK (1996) Nonlinear systems. Prentice Hall, Upper Saddle River
16. Kotikalpudi A, Pfifer H, Seiler P (2016) Sensitivity of robust flutter boundary to model uncer-
tainties in aeroservoelastic systems. In: AIAA Scitech, January 2016
17. Lind R, Brenner M (2012) Robust aeroservoelastic stability analysis. Advances in industrial
control. Springer, London
18. Liu L, Dowell EH (2005) Harmonic balance approach for an airfoil with a freeplay control
surface. AIAA J 43(4):802–815
19. Packard A, Doyle J (1993) The complex structured singular value. Automatica 29(1)
20. Pitt DM, Bansal P (2014) Uncertainties in control surface free-play and structural properties
and their effect on flutter and LCO. In: AIAA Scitech conference, January 2014
21. Shukla H, Patil M (2016) Control of limit cycle oscillation amplitudes in nonlinear aerelastic
systems using nonlinear normal modes. In: AIAA Scitech conference, January 2016
22. Tang D, Dowell EH, Virgin LN (1998) Limit cycle behavior of an airfoil with a control surface.
J Fluids Struct 12(7):839–858
23. Theodorsen T (1935) General theory of aerodynamic instability and the mechanism of flutter.
Technical report 496, Naca
24. Wiggins P (2003) Introduction to applied nonlinear dynamical systems and chaos. Springer,
New York
25. Zhou K, Doyle JC, Glover K (1996) Robust and optimal control. Prentice-Hall Inc., Upper
Saddle River
Development of an Automatic Flight Path
Controller for a DA42 General Aviation
Aircraft

Erik Karlsson, Simon P. Schatz, Thaddäus Baier, Christoph Dörhöfer, Agnes


Gabrys, Markus Hochstrasser, Christoph Krause, Patrick J. Lauffs, Nils C.
Mumm, Kajetan Nürnberger, Lars Peter, Volker Schneider, Philip Spiegel,
Lukas Steinert, Alexander W. Zollitsch and Florian Holzapfel

1 Introduction

The control of the aircraft flight path, i.e. the kinematic course and climb angles,
as well as the aerodynamic speed along the flight path, is an essential part of all
modern flight control systems for both manned and unmanned aircraft, either for
the execution of direct medium-level commands from the pilot or ground operator,
or, as in traditional, cascaded control structures, as basis for higher-level trajectory
following and navigation control modes. Especially for unmanned applications, ro-
bust, high-authority, and high-bandwidth flight path control is of interest, in order to
allow more aggressive maneuvering, thus going beyond traditional low-bandwidth
autopilot operation and waypoint based trajectory following.
The Institute of Flight System Dynamics (FSD) at the Technische Universität
München (TUM) has developed a highly modular flight guidance and control system
for manned and unmanned aircraft, that provides the full range of typical and be-
yond state-of-the-art automated flight control functionalities in order to meet most of
the real-world operational requirements for manned and unmanned aircraft systems:
automatic takeoff and landing, voice commanded flight management and trajectory
generation systems [11, 12], automatic trajectory [9, 10] and flight path controllers
[3], as well as inner loop baseline and automatic thrust controllers. The modularity
and configurability allow easy adjustment and adaptation to new aircraft configura-
tions.
The paper at hand focuses on the development of the full envelope, full authority,
full bandwidth automatic flight path controller, initially presented in [3]. The con-
tributions of this paper include: extended derivation of the flight path control laws;

E. Karlsson (B) · S.P. Schatz · T. Baier · C. Dörhöfer · A. Gabrys · M. Hochstrasser ·


C. Krause · P.J. Lauffs · N.C. Mumm · K. Nürnberger · L. Peter · V. Schneider ·
P. Spiegel · L. Steinert · A.W. Zollitsch · F. Holzapfel
Institute of Flight System Dynamics, TU München,
Boltzmannstr. 15, 85748 Garching, Germany
e-mail: erik.karlsson@tum.de

© Springer International Publishing AG 2018 121


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_7
122 E. Karlsson et al.

overview of requirements, design objectives and verification activities; extended


flight test results.
As the command variables of the controller are the aircraft flight path, the control
bandwidth is determined by the achievable path curvature, i.e. incremental specific
forces in the kinematic frame. Thus, for optimal tracking performance, the flight
path controller utilizes a generic interface to aircraft-specific inner loop controllers
for the control of the normal and lateral, i.e. path transverse, and linear, i.e. path
tangential, specific forces. Further, such specific force based inner loop controllers
provide good disturbance rejection already at the acceleration level, before distur-
bances manifest themselves into attitude, velocity and position errors, enhancing
path control performance.
The spectrum of current and planned target aircraft configurations for the modular
flight control system in general, and the automatic flight path controller in particular,
requires a high degree of parameter design and performance assessment automation,
for easy adaptation to new configurations. A parametrized configuration independent
implementation, as well as generic, configuration independent simulation, design
and assessment routines and environments, parametrized with configuration specific
requirements and design data, ensure the reusability and rapid adaptation to new
aircraft configurations.

2 State-of-the-Art

Traditional Single-Input/Single-Output (SISO) autopilot control structures, with in-


dependent control of each axis, neglect the coupling between the path variables - an
acceptable approach for low bandwidth systems with high settling times, and low
actuation authority, but inherently prone to dangerous control objective conflicts, as
arbitrary flight path and speed targets cannot be maintained with saturated energy
rate control. More modern integrated control approaches, such as Total Energy Con-
trol System (TECS), see e.g. [4, 5, 7] use coupled energy flow rate and distribution
control to decouple flight path and speed tracking, and to integrate airspeed-based en-
velope protections [6] in order to prevent loss of control. For successful decoupling,
the pitch control bandwidth has to match that of the typically much slower thrust dy-
namics, thus unnecessary reducing flight path control bandwidth. Such approaches
may be sufficient for low-bandwidth autopilot applications, e.g. for larger, manned
aircraft. For more agile aircraft, high-bandwidth flight path maneuvering with tem-
porary sacrifice of speed tracking may be preferred over always coordinated flight
path and speed tracking.
The flight path controller presented in this paper uses dynamic coupling of the
control planes to provide deterministic control objective conflict resolution, protec-
tion of the energy integrity of the aircraft, and robustness against non-achievable
flight path commands, by means of active energy rate and force prioritization be-
tween the vertical, lateral and energy control. The paper focuses on the nominal path
Development of an Automatic Flight Path … 123

control functions; the energy rate and force prioritizations active at the edges of the
envelope are outside the scope of this paper.

3 Controller Environment and Flight Test Platform

3.1 Modular Application Architecture

Figure 1 shows a principal overview of the structure of the modular flight guidance
and control system application. Depending on the operational requirements for a
given target platform, and the therefore necessary functionalities, the corresponding
functional modules can be integrated to a configuration-specific control application.
The modularity and configurability aim at keeping as much as possible identical for
different platforms in order to avoid significant rework. The functional modules in-
clude a system automation, interfacing with external command sources and handling
the overall operating modes, flight plan trajectory generation and automatic takeoff
and landing modules generating commands for the outer loops of the auto-flight
system, i.e. the trajectory and flight path control modules. The commands from the
outer loop are evaluated depending on the active operating modes and the respective
commands are transformed and forwarded to the inner loop controller/auto-thrust,
which compute the final commands to the Actuator Control Electronics (ACE).

Fig. 1 Modular flight guidance and control system architecture


124 E. Karlsson et al.

Fig. 2 The DA42 M-NG of the Institute of Flight System Dynamics

3.2 The DA42 OE-FSD Demonstrator Platform

For validation and verification of experimental control algorithms, Fly-By-Wire


(FBW) technologies and equipment for manned and unmanned applications, the In-
stitute of Flight System Dynamics has, together with the manufacturer, extensively
modified a Diamond Aircraft Industries DA42 M-NG (Multi-Purpose Platform, Next
Generation) aircraft, to serve as flying testbed, see Fig. 2. A digital, experimental
flight control system is installed parallel to the normal mechanical controls, interfac-
ing with the mechanical controls via both electrical and overload clutches. A safety
system ensures the safe engagement and disengagement of the experimental flight
control system.

4 Controller Requirements and Design Objectives

4.1 Functional and Operational Requirements

The functional and operational requirements define the flight control functions, which
beyond the direct control of the flight path includes additional functions such as speed
by pitch/flight level change, altitude capture and hold, pitch hold and radio navigation
modes, all outside the scope of this paper, the mode transition logics, activation and
deactivation logics, limitations and interfaces, as well as human-machine-interface,
i.e. mode control panel, and operational concept. The functional and operation re-
quirements are the basis for the controller design, and for the implementation of the
design model.
Development of an Automatic Flight Path … 125

4.2 Performance Requirements

For each flight control function, desired and adequate performance are defined. The
desired performance corresponds to a design goal during the gain and parameter
design, possibly not achievable for all aircraft configurations and load conditions
over the envelope. The adequate performance defines the minimum acceptable per-
formance to be met for all configurations, load conditions and points in the op-
erational envelope. Due to the variety of possible application platforms, a set of
all-encompassing desired performance criteria cannot be stated, but must rather be
defined depending on the target aircraft configuration and its operational aspects; for
a manned aircraft, smooth transitions to new flight path commands may be preferred
before tracking bandwidth; for an unmanned aircraft, high path control bandwidth
utilizing the full capabilities of the aircraft dynamics may be the primary objective.
For certain control variables, e.g. speed by thrust control, the tracking and disturbance
performance is usually a trade-off with actuation activity. Applicable aerospace stan-
dards specify acceptable levels of adequate system performance for certain functions,
e.g. [8], generally adhered to for the design of automatic flight control systems for
manned and unmanned aircraft.

4.2.1 Tracking and Disturbance Requirements

Tracking requirements include specifications of maximum command response over-


shoot, settling times and accuracy in smooth and turbulent air. Table 1 lists some
exemplary desired and adequate performance requirements for the flight path con-
trol functions. The accuracy requirements for random turbulent air are e.g. given as
root-mean-square deviations, at specified root-mean-square gust intensities as func-
tion of the altitude and a cumulative exceedance probability corresponding to light
turbulence.

4.2.2 Robustness and Sensitivity Requirements

As with the adequate performance for the flight control functions, requirements
regarding control loop stability margins and sensitivity against uncertainties in critical

Table 1 Exemplary desired and adequate path tracking accuracy requirements


Function Capture Overshoot Accuracy (Smooth Air) Accuracy (Turb. Air)
Desired Adequate Desired Adequate Desired Adequate
Flight path 2% 10% 0.1◦ 0.5◦ ∗ 1◦ RMS 5◦ RMS ∗
angle
Track angle 0.5◦ 1.5◦ ∗ 0.1◦ 0.5◦ ∗ 1◦ RMS 5◦ RMS ∗
Speed by 2 kts 4 kts 2 kts 4 kts 4 kts RMS 10 kts RMS
thrust
∗ Adequate performance derived from AS94900 [8]
126 E. Karlsson et al.

aerodynamic parameters can be found in e.g. [8]. In the frequency range of the rigid
body dynamics, i.e. up to the first aeroelastic mode, a gain margin of at least 6 dB
and phase margin of at least 45◦ are required for all aerodynamically closed loops,
measured at the actuator inputs. Assessment of robustness against uncertainties in
the aerodynamic data set shall be performed using variations of critical stability
derivatives, e.g. Cm,0 , Cmα and Cnβ , of up to 20 percent, thereby maintaining at least
half of the stability margins for the nominal system.

5 Controller Design

This section describes the flight dynamics preliminaries and the structure of the flight
path controller. The controller structure is based on an inversion of the translational
equations of motions, i.e. the aircraft path dynamics, with reference models for the
desired command tracking dynamics, error controllers for disturbance rejection, and
feedback hedging signals to account for inner loop and actuation dynamics and
saturations.

5.1 Translational Equations of Motion

The differential equations describing the motion of the aircraft may be derived from
the second law of Newton, according to which the rate of change of the linear
 mo-
mentum p ∈ R3 of an object in an inertial frame is equal to the net force F ∈ R3
acting upon it,

  I  I 
d d  I
F= (p(t)) =
I
V P (t) · dm, (1)
dt dt m

where (V P ) I (t) ∈ R3 is the velocity of a point P with mass dm, relative to the
Earth-Centered Inertial (ECI) frame I . It is assumed that the aircraft is a rigid body,
i.e. the relative position between points on the aircraft does not change over time,
RP
(V̇ ) B = 0, and that the influence of the mass flow onto the impulse of the aircraft
can be neglected, ṁ(V P ) E ≈ 0. For a given point P of the rigid body aircraft, its
position vector r P ∈ R3 , is given by
 P  R  RP
r = r + r , (2)

where r R ∈ R3 is the position of the aircraft reference point R. The corresponding


velocity relative to the Earth-Centered Inertial (ECI) frame is given by
 P I  R E  I E   R   R P B  I B   R P 
V = V + ω × r + V + ω × r (3)
Development of an Automatic Flight Path … 127

where (V R ) E is the velocity relative to the center of the Earth, (ω I E ) the rotation of
the Earth, (V R P ) B is the relative velocity of the point P, and (ω I B ) the rotation of the
aircraft relative to the inertial frame. Differentiating the velocity vector with respect
to the North-East-Down (NED) frame O, Newton’s second law can be written as
  R
E O
F R = m V̇ K + maadd , (4)

where aadd is a term containing all additional accelerations such as the Coriolis term,
the acceleration due to the transport rate, and the acceleration due to difference of
reference point R and center of gravity G. For the applications of the flight path
controller, assuming a flat, non-rotating earth is sufficient, and if further choosing
the center of gravity as reference point, aadd = 0, and thus subsequently neglected.
For the analysis of the flight path dynamics, a formulation of the translational
equations of motion considering the kinematic frame K is desired. Hence, the ac-
celeration relative to the North-East-Down (NED) frame O is split up to include the
kinematic acceleration due to flight path dynamics,
G

E O G
E K    E
V̇ K = V̇ K + ω O K × VGK , (5)

G
where (V̇ K ) E K is the kinematic acceleration relative to the kinematic frame, and
(ω O K ) × (VGK ) E is the acceleration due to a change in flight path, i.e. a rotation of
the kinematic frame K with respect to the NED frame O. Using polar coordinates
in the kinematic frame, i.e. the kinematic velocity magnitude VKG ∈ R, the course
angle χ KG ∈ R and the flight path angle γ KG ∈ R, the kinematic equations of motion
can be given as

(X GA + X GP ) K
V̇KG = Δf x,K , Δf x,K  − g sin γ K , (6)
m
f y,K (Y G + Y PG ) K
χ̇ K = , f y,K  A , (7)
VKG cosγK m
−Δf z,K (Z GA + Z GP ) K
γ̇ K = , Δf z,K  + g cos γ K , (8)
VKG m

with m ∈ R denoting the mass of the aircraft, g ∈ R the acceleration due to grav-
ity, and (X GA ) K , (Y AG ) K , (Z GA ) K ∈ R as well as (X GP ) K , (Y PG ) K , (Z GP ) K ∈ R are the
components of the aerodynamic and propulsion forces at the center of gravity, re-
spectively, noted in the kinematic frame.
However, the task of the flight path controller is to control the aerodynamic ve-
locity V AG ∈ R along the flight path, and not the kinematic. The kinematic velocity
is the vector sum of the aerodynamic velocity vector and the wind velocity vector,
 G E  G E  G E
V A = V K − VW , (9)
128 E. Karlsson et al.

thus, for a constant wind field,


G
E O G
E O G
E O G
E O
V̇ A = V̇ K − V̇W = V̇ K , (10)

and G
E A    E G
E K  O K   G E
V̇ A + ω O A × VGA = V̇ K + ω × VK , (11)

which gives for the aerodynamic velocity magnitude,

(X GA + X GP ) A
V̇ AG = Δf x,A , Δf x,A  − g sin γ AG , (12)
m

where γ AG ∈ R is the aerodynamic flight path angle, and (X GA ) A and (X GP ) A are the
aerodynamic and propulsion forces in the aerodynamic frame A.

5.2 Inversion of the Path Dynamics

The objective of the nonlinear dynamic inversion, also known as input/output lin-
earization or feedback linearization [13], is to find a non-linear state transformation
of a non-linear plant so that the transformed system has a linear input-output dynam-
ics. The order of the feedback linearized system is referred to as the relative degree,
and determines up to which derivative the dynamics of the system is directly control-
lable. The application to the path dynamics is straight forward. The path dynamics
can be considered to be of relative degree one, i.e. it takes one differentiation of the
path dynamics variables in order for the virtual plant inputs (i.e. the specific forces)
to appear in the equations of motion, see Eqs. (6)–(8). Thus, an inversion architecture
corresponding to the relative degree of the path dynamics is desired. With the pseudo
control vector ν = [νV̇A , νχ̇ K , νγ̇ K ]T , the control law for the path loops becomes
⎡ ⎤ ⎡ ⎤
Δf A,K ,C νV̇A
uC = ⎣ f y,K ,C ⎦ = ⎣ VK cos γ K νχ̇ K ⎦ . (13)
Δf z,K ,C −VK νγ̇ K

5.3 Reference Models for the Path Dynamics

The path controller includes linear second order reference models for the airspeed,
course/heading angle and flight path angle/vertical speed, see Fig. 3. As stated in
the previous section, a first order reference model would be sufficient to produce
the required reference state and derivatives for the path variables. However, in order
Development of an Automatic Flight Path … 129

Fig. 3 Reference model based path control structure with energy rate and force prioritization
cross-feeds

to also smoothen the reference state derivatives, second order reference models are
applied according to

1 T1 + T2
ν̇ R M = (yC − y R M ) − νR M , (14)
T1 T2 T1 T2
ẏ R M = νR M − νH . (15)

where T1 and T2 are the reference model time constants, yC is the flight path command,
y R M and ẏ R M the reference model states, ν R M the pseudo control to the inversion,
and
ν H = ν − ν̂, (16)

a hedging signal added to adjust the reference model dynamic according to the plant
response ν̂, see Sect. 5.4. The reference models include multiple limiters; limitation of
the input command value, limitation of the reference state first derivative, i.e. linear
acceleration, flight path angle rate (limit imposed by permissible specific normal
force) and turn rate, limitation of the reference state second derivative, e.g. kinematic
bank angle rate, and integrator output limitation, to account for the hedging signal
which is added after the rate limiter. The time constants of each reference model
130 E. Karlsson et al.

are scheduled over static and dynamic pressure to account for available inner loop
dynamics. The design of the time constants is based on linear models of the closed
inner loop dynamics with step response overshoot as primary design criterion and
closed loop stability margins as monitor criteria.

5.4 Plant Response Estimation and Pseudo-control Hedging

The consideration of the path dynamics as a system of relative degree one is justified
by the fact that the path dynamics and dynamics of subsequent inner loops, i.e. the
moment and actuator dynamics, are sufficiently time-scale separated. However, due
to the dynamics of the inner loops, the plant will not perfectly follow the desired
reference dynamics given by the reference models. This is encountered by employ-
ing PCH [1], feeding back hedging signals ν H = ν − ν̂, i.e. the difference between
command and estimated plant response, to slow down the reference model output in
order to account for the reaction dynamics of the plant. From the measured specific
forces in the body axis frame, the specific force vector in the kinematic frame is
calculated according to
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
fx fx fx
⎣ f y ⎦ = MK B ⎣ f y ⎦ = MK O MO B ⎣ f y ⎦ , (17)
fz K fz B fz B

with M K O (γ K , χ K ) and M O B (Ψ, Θ, Φ) being the transformation matrices from the


O into the K frame, and from the B into the O frame, respectively. The kinematic
acceleration and path curvatures are then estimated using the Eqs. (6–8),

ν̂V̇K = f x,K − g sin γ K , (18)


1
ν̂χ̇ K = f y,K , (19)
VK cos γ K
1  
ν̂γ̇ K = f z,K − g cos γ K . (20)
VK

For the control of the airspeed, the aerodynamic acceleration is to be estimated, not the
kinematic; however, the aerodynamic flight path and course angles, γ A and χ A , are un-
known without wind information. Assuming a neglectable sideslip, i.e. χ A ≈ Ψ , and
a horizontal, sufficiently stationary wind field, i.e. γ A ≈ arcsin(ḣ/VT AS ), the aerody-
namic acceleration can be estimated analog to Eqs. (17)–(18), with M AB (γ A , χ A =
Ψ, Θ, Φ) according to
⎡ ⎤
  fx
f x,A = cos(Θ − γ A ) sin Φ sin(Θ − γ A ) cos Φ sin(Θ − γ A ) ⎣ f y ⎦ , (21)
fz B
Development of an Automatic Flight Path … 131

and
ν̂V̇A = f x,A − g sin γ A . (22)

The hedging signals are feedback signals; hence, the reference models cannot be
considered as open-loop, feedforward elements when considering the stability of the
system. Furthermore, they have to be considered as feedback signals when assessing
the system robustness and stability, see Sect. 6.

5.5 Path Loop Error Dynamics and Stabilizing Controllers

The pseudo-control hedging ensures that the reference model state is adjusted to
the estimated response of the plant. However, due to a number of different reasons,
e.g. neglected dynamics, sensor errors and delays, and external disturbances, the
estimated response of the plant and the reference model state do not perfectly match
the response of the true plant. To stabilize the error dynamics, PI feedback controllers
are included, and their output added to the pseudo controls entering the inversion,

ν EC = k P (y R M − y) + k I (y R M − y)dt, (23)

ν = ν R M + ν EC . (24)

The design of the error controller gains is based on linear models of the closed inner
loop dynamics with disturbance settling times and closed loop stability margins as
design criteria.

5.6 Energy Rate and Force Distribution Prioritization

The reference models are cross-coupled in order to provide dynamic control objective
conflict resolution, by limiting acceleration and flight path commands in case of
saturated energy flow, i.e. thrust control, see [2], and desired vertical and lateral path
curvature in case of saturated transverse force control, i.e. normal specific force. A
detailed description of the energy rate and force distribution prioritization is outside
the scope of this paper.

5.7 Command Selection and Transformation

The flight path controller outputs path curvature commands to the inner loop.
Consequently, just the lateral and vertical curvature commands, f y,K and Δf z,K ,
132 E. Karlsson et al.

respectively, are forwarded to the inner loop. For the inner loop control, these com-
mands are transformed to a bank angle command in the lateral plane and a normal
body load factor command in the longitudinal plane. First the incremental specific
force commands are transformed into the O frame according to
⎛ ⎞ ⎛ ⎞
Δf Δf x,C
1 ⎝ x,C ⎠ 1
f y,C = M O K ⎝ f y,C ⎠ (25)
g Δf g Δf z,C K
z,C O

The command specified here contains only the specific forces required for curvature.
Hence, the steady state specific force divided by gravity is added,
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
f Δf 0
1 ⎝ x,C ⎠ 1 ⎝ x,C ⎠
f y,C = f y,C − ⎝0⎠ (26)
g f z,C O g Δf 1 O
z,C O

The full specific force command vector is then further transformed into the interme-
diate body-fixed system Z ,
⎛ ⎞ ⎛ ⎞
f f x,C
1 ⎝ x,C ⎠ 1
f y,C = M Z O ⎝ f y,C ⎠ (27)
g f z,C Z g f z,C O

In order to obtain the load factor and bank angle command to the inner loop, consider
the following transformation between the intermediate body-fixed (Z ) and the body-
fixed (B) system,
⎛ ⎞ ⎡ ⎤ ⎛ ⎞
f 1 0 f x,C
1 ⎝ x,C ⎠ 1
f y,C = ⎣ 0 cos Φ sin Φ ⎦ ⎝ f y,C ⎠ (28)
g f z,C B 0 − sin Φ cos Φ g f z,C Z

The x-axis is not controlled by the inner loop, since aerodynamic speed control is
used. Therefore, the x-component is not considered, which results in a small error
in the z-component. From the second and third rows, the following equations for the
normal and lateral load factor commands can be obtained,

f y,B,C f y,Z ,C f z,Z ,C


= cos Φ + sin Φ, (29)
g g g
f z,B,C f y,Z ,C f z,Z ,C
=− sin Φ + cos Φ. (30)
g g g

From the requirement to fly a coordinated curve, i.e. f y,B = 0, the required bank
angle for achieving the lateral force command can be calculated from Eq. (29) by
setting f y,B,C = 0 and solving for Φ,
Development of an Automatic Flight Path … 133
 
f y,Z ,C
ΦC = arctan − . (31)
f z,Z ,C

In order to obtain the body-fixed load factor command f z,B,C /g, Eq. (31) rewritten
as f y,Z ,C = − f z,Z ,C tan ΦC can be inserted into Eq. (30), which gives

f z,B,C f z,Z ,C f z,Z ,C f z,Z ,C 1


= sin ΦC tan ΦC + cos ΦC = . (32)
g g g g cos ΦC

Note that a load factor command calculated according to Eq. (32), based on a bank
angle command according to Eq. (31), would lead to a velodrome-like curve, since the
dynamics of the load factor is normally much faster than the bank angle dynamics, i.e.
the aircraft would reach the required load factor increment for curve compensation
(calculated based on the command bank angle) before the corresponding bank angle
has been achieved, leading to a “pull-up then bank” behavior. This can be mitigated
by calculating the load factor command based on the actual bank angle instead of
the commanded, i.e.
f z,B,C f z,Z ,C 1
= . (33)
g g cos Φ

This would on the other hand result in a small delay in the load factor response. It
would be possible to use a modified bank angle command Φ̃C for the calculation of
the load factor command, e.g. according to Φ̃C = Φ + ΔT · p, where T is some time
constant and p the current roll rate, or according to some function of the difference
between the bank angle command according to Eq. (31) and the measured bank angle,
Φ̃C = f (ΦC − Φ).

5.8 Normal and Lateral Force Control - Inner Loop

The longitudinal inner loop controller employs the normal body load factor and the
pitch rate as feedback for a PI controller. The lateral inner loop controller is a MIMO
control structure designed to track the bank angle command Φcmd and reduce the
body lateral acceleration f y,B to zero. For this purpose, the roll and pitch rates are
fed back along with the lateral acceleration and the bank angle command.
The current gains are chosen in such a way that the inherent dynamics of the DA42
are not changed significantly. In the lateral plane, the roll dynamics and the natural
frequency of the Dutch roll are maintained while the yaw damping is increased.
Furthermore, the spiral pole is set to −1 for the whole envelope. In the longitudinal
plane, the pitch damping is increased and the nominal load factor command system
is implemented. The tracking performance is achieved by the feedforward part while
the feedback is designed primarily for disturbance rejection.
134 E. Karlsson et al.

5.9 Linear Force Control - Thrust Loop

The thrust loop controls the linear specific force Δf x,A by adjusting the throttle
position δT . The required thrust change is given by

Δ Ė tot,C  
ΔTC = = m Δf x,A,C − Δf x,A (34)
VA
 
= m · νV̇A − ν̂V̇ ,

where νV̇A is the pseudo control acceleration command from the speed loop, and ν̂V̇
is the estimated kinematic acceleration (according to Eq. (18)). The required change
in throttle position ΔδT,C for a given thrust change is calculated by first taking the
inverse of the thrust as function of speed to determine the maximum thrust available
for the current speed, and set the throttle according to the ratio of the required and
available maximum thrust. An integrator part ensures static accuracy for the thrust
control in the case of engine model errors or uncertainties,
  
1
ΔδT,C = ΔT
· k P,δT ΔT + k I,δT ΔT dt . (35)
ΔδT

The integrator further allows a direct feedforward throttle rate command, δ̇T,C , e.g.
from the vertical flight path loop, in order to compensate the additional required
thrust during vertical path maneuvering. For initial flight testing, due to uncertain
propulsion dynamics, the bandwidth of the thrust control loop was chosen quite low,
in order to provide smooth throttle commands in the presence of turbulence and
sufficient stability margins and robustness.

6 Controller Verification

6.1 Linear and Non-linear Control Law Assessment

The linear assessment is based on the linear models of the closed inner loop and plant
dynamics, i.e. models with the flight path controller and autothrust outputs f z,B,C /g
and δT,C as inputs, and the aircraft states as outputs. The linear flight path control
structure, i.e. the reference models and error controllers, together with linearized
models of the plant response estimation, inversion and command transformation
for different flight conditions, are connected to full linear versions of the closed
loop longitudinal and lateral control systems, respectively. The linear systems are
implemented as generalized state-space models in MATLAB, with parametrized
gains and switches, in order to configure the models for different control modes and
simplify analysis of loop stability margins. For each loop, step responses and settling
Development of an Automatic Flight Path … 135

times are analyzed with respect to the requirements, as well as stability margins using
Bode and Nichols charts.
The nonlinear assessment includes verification of step responses and accuracy in
smooth and turbulent air. A dedicated test harness including the flight path controller,
the inner loop controller, flight dynamics model, and sensor and actuation models
including transfer delays, is used for automated assessment over the envelope, see
Fig. 4.

6.2 Model-in-the-Loop Verification

Objective of the Model-in-the-Loop (MIL) simulation is to verify correct function-


ality of the controller implementation, i.e. the design model from which the applica-
tion code is generated. The Model-in-the-Loop (MIL) verification uses a similar test
setup as the nonlinear performance assessment, but with extended input mapping to
be able to trigger every model input signal, in order to reach all states of the model.
The Model-in-the-Loop (MIL) uses the MATLAB Unit Test Framework to automa-
tize the testing, with customized functions to initialize and run the simulation model
and evaluate the outputs. Test vectors are given as MATLAB time series objects, and
a testing grid is defined over which the tests are to be performed. Model coverage is
measured incrementally over a complete test run.

6.3 Hardware- and Aircraft-in-the-Loop Simulation

Objective of the Hardware-in-the-Loop (HIL) and Aircraft-in-the-Loop (AIL) sim-


ulation is to verify the correct functionality of the system, i.e. the controller running
on its target hardware with a real-time environment simulation, of all digital, analog
and discrete interfaces, and all interfacing subsystems such as actuators, data con-
centrator units and human-machine interfaces, in a laboratory setup, and installed
in the aircraft, respectively. The flight control sensors, i.e. navigation and air data
systems are simulated, but feeding the controller via real interfaces.

7 Flight Test Results

Initial flight testing was performed in early 2016, with incremental testing of first
inner loop controller, then flight path controller [3], and finally waypoint based
trajectory navigation [10]. Figure 5 shows results from flight testing performed in
August 2016, in light turbulent conditions, from a segment of the flight test where
the flight path controller was active in all three axes. Figure 5 shows good tracking
performance of both the vertical and lateral flight path loops, as well as inner loop load
136 E. Karlsson et al.

Output
Analysis for ’FDM−gamma−K−R−rad’ in Testcase 2, 2−D Grid 1 Output
Analysis for ’test−fDg−z−R−B−cmd’ in Testcase 2
delta−flaps = −0.017453
nonlinear nonlinear
0.1 −0.95
mean mean
’FDM−gamma−K−R−rad’

’test−fDg−z−R−B−cmd’
+ +
σ σ
0.08 −1
σ

σ−
max max
0.06 min −1.05 min

0.04 −1.1

0.02 −1.15

0 −1.2

−0.02 −1.25
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Time, [s] Time, [s]

Overshoot Overshoot
Analysis for ’FDM−gamma−K−R−rad’ in Requirement Check Grid for ’FDM−gamma−K−R−rad’
Testcase 2, 2−D Grid 1 in Testcase 2 for 2−D Grid 1
delta−flaps = −0.017453 delta−flaps = −0.017453
nonlinear nonlinear
6000
10
5000
8
Overshoot, [%]

4000
ALT

6
3000
max
4
2000

2 σ
+
1000
mean
0 min
σ− 0

40 45 50 55 60 65 70 75
VEL−IAS
Output
Analysis for ’FDM−gamma−K−R−rad’ in Testcase 1, 2−D Grid 1 Output
delta−flaps = −0.017453 Analysis for ’test−fDg−z−R−B−cmd’ in Testcase 1
nonlinear nonlinear
0.1 −0.9
mean mean
’FDM−gamma−K−R−rad’

σ
+ −0.92 σ+
’test−fDg−z−R−B−cmd’

σ− −0.94 σ

0.05 max max
min −0.96 min
desired
adequate upper −0.98
0 adequate lower
design upper −1
design lower
−1.02
−0.05 −1.04
−1.06
−0.1 −1.08
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Time, [s] Time, [s]

RMSD Desired
Requirement Check Grid for ’FDM−gamma−K−R−rad’ in
RMSDDesired Testcase 1 for 2−D Grid 1
Analysis for ’FDM−gamma−K−R−rad’ in Testcase 1, 2−D Grid 1
delta−flaps = −0.017453
delta−flaps = −0.017453 nonlinear
nonlinear
6000
0.09
0.08 5000
0.07
RMSDDesired

4000
0.06
ALT

0.05 3000
0.04
0.03 2000
0.02 max 1000
0.01
σ+−
mean
0 min σ 0

40 45 50 55 60 65 70 75
VEL−IAS

Fig. 4 Automated nonlinear assessment over the envelope with statistics and requirements checking
Development of an Automatic Flight Path … 137

Flight Path Angle Tracking

−5

62 62.5 63 63.5 64 64.5 65 65.5 66

Incremental Normalized Specific Force Tracking


0.5

−0.5
62 62.5 63 63.5 64 64.5 65 65.5 66

Course Angle Tracking

250

200

150
62 62.5 63 63.5 64 64.5 65 65.5 66

Bank Angle Tracking


30
20
10
0
−10
−20
−30
62 62.5 63 63.5 64 64.5 65 65.5 66

Indicated Airspeed Tracking


130
120
110
100
90

80
62 62.5 63 63.5 64 64.5 65 65.5 66
Time [min]

Fig. 5 Vertical and lateral flight path command tracking


138 E. Karlsson et al.

factor and bank angle commands, during separate and concurrent maneuvers in the
vertical and lateral plane, respectively. Flight path angle commands were smoothly
acquired and maintained largely within 0.2◦ . Course angle commands were likewise
smoothly acquired without overshoots and maintained within 0.5◦ . The indicated
airspeed increases during descending maneuvers, as the thrust is saturated at its
minimum, however returns to the commanded 100 kts when the aircraft levels off.

8 Conclusions and Outlook

The development of an automatic flight path controller, as part of a modular au-


tomatic flight guidance and control system, has been presented along with flight
test results using a DA42 flying testbed. Verification activities included linear and
nonlinear controller assessment, model-level simulations, hardware- and aircraft-in-
the-loop testing and finally flight testing. The flight test results has demonstrated
the feasibility of the control approach, showing good vertical and lateral path track-
ing and disturbance performance also in turbulent atmospheric conditions. Further
flight testing will focus on extending the flight envelope and allow increased control
bandwidth, in order to allow more aggressive path and trajectory control.

Acknowledgements Part of this research was supported by German Federal Ministry for Economic
Affairs and Energy on the basis of a decision by the German Bundestag.

References

1. Johnson EN, Calise AJ (2003) Limited authority adaptive flight control for reusable launch
vehicles. J Guid Control Dyn 26(6):906–913
2. Karlsson E, Gabrys A, Schatz SP, Holzapfel F (2016) Dynamic flight path control coupling for
energy and maneuvering integrity. In: The 14th international conference on control, automation,
robotics, and vision
3. Karlsson E, Schatz SP, Baier T, Dörhöfer C, Gabrys A, Hochstrasser M, Krause C, Lauffs PJ,
Mumm NC, Nürnberger K, Peter L, Schneider V, Spiegel P, Steinert L, Zollitsch AW, Holzapfel
F (2016) Automatic flight path control of an experimental DA42 general aviation aircraft. In:
The 14th international conference on control, automation, robotics, and vision
4. Lambregts AA (1983) Integrated system design for flight and propulsion control using total
energy principles. In: AIAA aircraft design, systems and technology meeting
5. Lambregts AA (1983) Vertical flight path and speed control autopilot design using total energy
principles. In: AIAA guidance and control conference
6. Lambregts AA (2013) Flight envelope protection for automatic and augmented manual control.
In: EuroGNC
7. Lambregts AA (2013) TECS generalized airplane control system design - an update. In: Eu-
roGNC
8. SAE International (2007) AS94900: General specification for aerospace - flight control systems
- design, installation and test of piloted military aircraft
Development of an Automatic Flight Path … 139

9. Schatz SP, Holzapfel F (2014) Modular trajectory/path following controller using nonlinear
error dynamics. In: 2014 IEEE international conference on aerospace electronics and remote
sensing technology (ICARES). IEEE, pp 157–163
10. Schatz SP, Schneider V, Karlsson E, Holzapfel F, Baier T, Dörhöfer C, Hochstrasser M, Gabrys
A, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Zollitsch
AW (2016) Flightplan flight tests of an experimental DA42 general aviation aircraft. In: The
14th international conference on control, automation, robotics, and vision
11. Schneider V, Mumm N, Holzapfel F (2015) Trajectory generation for an integrated mission
management system. In: 2015 IEEE international conference on aerospace electronics and
remote sensing technology (ICARES). IEEE
12. Schneider V, Piprek P, Schatz SP, Baier T, Dörhöfer C, Hochstrasser M, Gabrys A, Karlsson
E, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Zollitsch
AW, Holzapfel F (2016) Online trajectory generation using clothoid segments. In: The 14th
international conference on control, automation, robotics, and vision
13. Slotine J-JE, Li W (1991) Applied nonlinear control. Prentice Hall, Englewood Cliffs
Active Control Objective Prioritization
for High-Bandwidth Automatic Flight Path
Control

Erik Karlsson, Thaddäus Baier, Christoph Dörhöfer, Agnes Gabrys, Markus


Hochstrasser, Christoph Krause, Patrick J. Lauffs, Nils C. Mumm, Kajetan
Nürnberger, Lars Peter, Simon P. Schatz, Volker Schneider, Philip Spiegel,
Lukas Steinert, Alexander W. Zollitsch and Florian Holzapfel

1 Introduction

Classical automatic flight path control structures, with independent Single-Input,


Single-Output (SISO) control of each flight path variable (i.e. airspeed, climb angle,
track angle), suffer from inherent proneness to dangerous control objective conflicts,
and energy mismanagement, as arbitrary combinations of speed and flight path are
unreachable with saturated energy rate (i.e. thrust) control, and arbitrary curvatures of
vertical and lateral flight path are precluded with saturated path perpendicular force
control. The higher the bandwidth of the flight path control, the more dangerous the
decoupled control, as the aircraft energy and its distribution quickly degrades. Espe-
cially for unmanned aircraft applications, robust, high-authority, and high-bandwidth
flight path control is desired, in order to allow more aggressive maneuvering, going
beyond traditional low-bandwidth autopilot operation and waypoint based trajec-
tory following. Rudimentary flight envelope protections are sometimes incorporated
to protect airspeed and prevent loss of control; however, usually as “last line of
defense” and not for smooth and deterministic control objective prioritization during
normal maneuvering. Integrated path and speed control approaches, such as Total
Energy Control System (TECS), see e.g. [8, 9, 11] uses coupled energy flow rate
and distribution control to decouple flight path and speed tracking, and to integrate
airspeed-based envelope protections [10], but are less suitable for high-bandwidth
maneuvering, due to the sacrifice of pitch control bandwidth in order to achieve the
desired path/speed control decoupling.

E. Karlsson (B) · T. Baier · C. Dörhöfer · A. Gabrys · M. Hochstrasser ·


C. Krause · P.J. Lauffs · N.C. Mumm · K. Nürnberger · L. Peter · S.P. Schatz ·
V. Schneider · P. Spiegel · L. Steinert · A.W. Zollitsch · F. Holzapfel
Institute of Flight System Dynamics, TU München, Boltzmannstr. 15,
85748 Garching, Germany
e-mail: erik.karlsson@tum.de

© Springer International Publishing AG 2018 141


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_8
142 E. Karlsson et al.

In this paper, an active energy rate and force distribution prioritization, as inte-
grated part of the flight path controller of a modular flight guidance and control
system, is presented. The approach is based on, and an extension of previous sug-
gestions made in [2–4], and initial simulation results of the energy rate prioritization
presented in [6]. This contributions of this paper include: the integration of the binary
energy rate and force prioritizations to allow mixed priorities; full integration of the
functionalities into the flight path controller and validation using simulation of the
full closed loop system; initial flight test results of the energy integrity protection
function.
The integrated prioritizations allow speed or flight path angle maneuvering to
be prioritized in case of saturated energy control, with automatic speed priority at
the edges of the envelope in order to ensure the airspeed integrity of the aircraft,
and vertical or lateral flight path curvature to be prioritized in case of saturated path
transverse force control. The approach is validated using high-fidelity simulations
of the full closed loop system, and partly validated in flight tests, pending full flight
testing.

2 Controller Environment

2.1 Modular Application Architecture

Figure 1 shows a principal overview of the structure of the modular flight guid-
ance and control system application, of which the flight path controller and its con-

Fig. 1 Modular flight guidance and control system architecture, with flight path controller high-
lighted
Active Control Objective Prioritization … 143

trol objective prioritization functionalities are integrated. The modular architecture


allows for partial customization and the inclusion/exclusion of functional modules,
depending on the operational concept for a given target platform and required level of
automation. The functional modules include: a system automation module, interfac-
ing with external command sources, and responsible the overall flight phase operating
modes; flight plan trajectory generation [14, 15] and automatic takeoff and landing
modules, calculating and generating the commands for the outer loops of the auto-
flight system, i.e. the trajectory [12, 13] and flight path control modules [7]; an outer
loop command switching and transformation module, calculating the commands
for the inner loop and autothrust controllers, computing the final commands to the
Actuator Control Electronics (ACE).

2.2 The DA42 OE-FSD Demonstrator Platform

For validation and verification of experimental control algorithms, Fly-By-Wire


(FBW) technologies and equipment for manned and unmanned applications, espe-
cially the aforementioned modular flight guidance and control system, the Institute
of Flight System Dynamics has, in cooperation with the manufacturer, extensively
modified a Diamond Aircraft Industries DA42 M-NG (Multi-Purpose Platform, Next
Generation) aircraft, to serve as flying testbed. An experimental Fly-By-Wire (FBW)
control system, with electro-mechanical actuators, is installed parallel to the mechan-
ical controls. The experimental system actuates the control surfaces via both electrical
and overload clutches, and a safety monitoring system ensures the safe and controlled
engagement and disengagement of the experimental flight control system.

3 Flight Path Controller

This section briefly describes the flight path controller structure, into which the
prioritization functionalities are integrated. For a more detailed description, see [7].
The command variables of the controller are the aircraft flight path states, hence, the
control bandwidth is determined by the achievable path curvature, i.e. specific forces
in the kinematic frame. The basic principle for the flight path control is a reference
model based dynamic inversion [16] of the translational equations of motions (for a
detailed derivation, see e.g. [1, 17]), given by
⎡ ⎤ ⎡ ⎤
Δf x,A,C νV̇A
uC = ⎣ f y,K ,C ⎦ = ⎣ VK cos γ K νχ̇ K ⎦ , (1)
Δf z,K ,C −VK νγ̇ K

with νV̇A , νχ̇ K , and νγ̇ K being the speed, vertical and lateral flight path loop pseudo
controls, Δf x,A,C the commanded linear specific force in the aerodynamic frame,
144 E. Karlsson et al.

and f y,K ,C , and Δf z,K ,C the commanded specific forces in the kinematic frame.
Cross-coupled reference models for each path variable produce the desired tracking
dynamics, see Sect. 3.1, PI error controllers ensure tracking of the reference states,
and pseudo-control hedging [5] accounts for inner loop dynamics and plant response
deficits. The controller structure is aircraft independent with a generic interface to
aircraft-specific inner loop and thrust controllers for the control of the normal, lateral
and linear specific forces, see Sect. 3.2. The advantage of the specific force based
inner loops is good disturbance rejection, before disturbances manifest themselves
into flight path, velocity or position errors.

3.1 Cross-Fed Reference Models for the Path Dynamics

The path controller includes linear second order aperiodic reference models for the
airspeed, course/heading angle and flight path angle/vertical speed (Fig. 2) according
to

Fig. 2 Reference model based path control structure with energy rate and force prioritization
cross-feeds
Active Control Objective Prioritization … 145

1 T1 + T2
ν̇ R M = (yC − y R M ) − νR M , (2)
T1 T2 T1 T2
ẏ R M = νR M − νH , (3)

where T1 and T2 are the reference model time constants, yC is the flight path command,
y R M and ẏ R M the reference model states, ν R M the pseudo control to the inversion,
and

ν H = ν − ν̂, (4)

a hedging signal added to adjust the reference model dynamic according to the plant
response ν̂. The reference models are coupled to provide the desired energy rate
and force prioritizations between the vertical, lateral and energy control planes at
the edges of the aircraft speed and maneuver envelopes, see Sects. 3.3 and 3.4, to
provide robustness against non-achievable flight path commands, and ensure smooth
and achievable commands to the inner loops. The reference models include multiple
limiters: limitation of the input command value; limitation of the reference state first
derivative, i.e. linear acceleration, flight path angle rate (limit imposed by permissible
specific normal force) and turn rate; limitation of the reference state second derivative,
e.g. kinematic bank angle rate, and integrator output limitation, to account for the
hedging signal, which is added after the rate limiter. These limiters are utilized by
the prioritization functions to actively adjust reference states and their derivatives to
fulfill the energy rate and force constraints.

3.2 Command Selection and Transformation

The flight path controller outputs specific force commands to the inner loop and
thrust control loop, equivalent to the desired path curvatures and path acceleration.
Detailed descriptions of these loops are beyond the scope of this paper.
Before entering the inner loop controller, the kinematic frame specific force com-
mands are transformed to a bank angle command in the lateral plane and a normal
body axis specific force command in the longitudinal plane. The longitudinal inner
loop controller employs the normal body axis specific force and the pitch rate as
feedback for a PI controller. The lateral inner loop controller is a MIMO control
structure designed to track the bank angle command Φcmd and reduce the body lat-
eral acceleration f y,B to zero. The thrust loop controls the linear specific force Δf x,A
by adjusting the throttle position δT .
146 E. Karlsson et al.

3.3 Energy Rate Distribution Prioritization

The weight specific total energy of an object (neglecting any rotational energy), i.e.
its energy height h E , is determined by its height and speed relative to some arbi-
trary reference (for an aircraft, e.g. the Earth’s surface), i.e. its kinetic and potential
energies,
E tot E pot E kin V2
hE = = + =h+ K. (5)
mg mg mg 2g

A rate of change of the energy height, i.e. an energy flow rate or specific excess power
 
VK V̇K V̇K
ḣ E = + ḣ = VK + sin γ K , (6)
g g

gives that an increased flow of energy to the aircraft may be used to increase the
altitude or the speed, i.e. converted to a climb angle γ K or acceleration V̇K . The
achievable combination of acceleration and flight path angle is determined by the
achievable specific excess power (energy flow rate) from the aircraft propulsion
system (or active drag control). Analog to the energy height, which represents the
achievable height for a given total energy, its rate of change can be expressed in
terms of the achievable acceleration or flight path angle, if all specific excess power
is converted accordingly,

V̇E
ḣ E = VK = VK sin γ E , (7)
g

where V̇E is the energy rate equivalent acceleration,

V̇E = V̇K + g sin γ , (8)

i.e. the achievable horizontal acceleration at zero flight path angle, and γ E is the
energy rate equivalent climb angle (or simply the energy angle),
 
V̇K
γ E = arcsin sin γ + , (9)
g

i.e. the achievable flight path angle at zero horizontal acceleration. The energy angle
is often displayed on primary flight displays. From Eqs. (8) and (9), the potential
flight path angle γV̇C for a given desired acceleration V̇C is given by
   
V̇E − V̇C V̇K − V̇C
γV̇C = arcsin = arcsin + sin γ , (10)
g g
Active Control Objective Prioritization … 147

and the potential acceleration V̇γC for a desired flight path angle γC by

V̇γC = g · (sin γ E − sin γC ) = V̇K + g (sin γ − sin γC ) . (11)

In case of active energy flow rate control, i.e. engaged autothrust, the potential
energy rate equivalent flight path angle or acceleration can be calculated includ-
ing the estimated available maximum or minimum energy flow rate Δ Ė max/min =
mVK Δf x,max/min automatically provided by the autothrust, with

Δf x 
Δf x,max/min = δT,max/min − δT,C , (12)
ΔδT

according to
 
V̇K − V̇C Δf x,max/min
γV̇C , pot = arcsin + sin γ + , (13)
g g

and

V̇γC , pot = V̇K + g sin γ − sin γC + +Δf x,max/min . (14)

3.3.1 Speed Verses Vertical Path Prioritization

The Eqs. (13) and (14) may now be used to set the limiters in the corresponding
reference model, in order to prioritize either the commanded flight path angle (by
limiting the pseudo control acceleration in the speed reference model) or the com-
manded speed (by limiting the reference flight path angle). For speed priority, the
constraints on flight path angle are given by
 
ν R M,V̇ − ν̂V̇ Δf x,max
γmax,v prio = arcsin sin γ K − + , (15)
g g
 
ν R M,V̇ − ν̂V̇ Δf x,min
γmin,v prio = arcsin sin γ K − + , (16)
g g

and for path priority, the constraints on the acceleration are given by

ν R M,V̇ ,max, pprio = ν̂V̇ − g (sin γC − sin γ K ) + Δf x,max , (17)


ν R M,V̇ ,min, pprio = ν̂V̇ − g (sin γC − sin γ K ) + Δf x,min . (18)
148 E. Karlsson et al.

3.3.2 Mixed Energy Rate Authority Prioritization

The previous section presented a binary speed versus flight path angle prioritization,
where the energy rate distribution always is performed in favor of one of the two
variables. In the following, an integration of the two modes of prioritization is pre-
sented, where an available energy rate distribution authority, based on the permissible
maximum and minimum acceleration limits, is budgeted between acceleration and
flight path angle. The specific speed-normalized energy rate distribution authority, a
measure of how fast energy may be traded between acceleration and flight path, is
given by
Ė dist,max 
= V̇max,nom − V̇min,nom , (19)
m · VK

i.e. the energy rate distribution between flight path and acceleration is limited so that
the permissible nominal acceleration limits are not violated. A energy rate distribu-
tion factor κ E ∈ [0, 1] is introduced, defining the amount of energy rate distribution
authority allocated to flight path and acceleration control, where κ E = 0 indicates
full flight path priority, and κ E = 1 full speed priority, and a value in between a
mixed priority. The flight path angle and acceleration limits are then a function of
κ E , according to


(1 − κ E ) V̇min,nom + κ E ν R M,V̇ − ν̂V̇ Δf x,max
γmax, prio = arcsin sin γ K − + ,
g g
(20)


(1 − κ E ) V̇max,nom + κ E ν R M,V̇ − ν̂V̇ Δf x,min
γmin, prio = arcsin sin γ K − + ,
g g
(21)

and
  
V̇max,nom
ν R M,V̇ ,max, prio = ν̂V̇ + g sin γ K − (1 − κ E ) sin γC − κ E + Δf x,max ,
g
(22)
  
V̇min,nom
ν R M,V̇ ,min, prio = ν̂V̇ + g sin γ K − (1 − κ E ) sin γC − κ E + Δf x,min .
g
(23)

If the energy rate distribution factor κ E equals 0, i.e. full path priority, Eqs. (20) and
(21) reduce to
Active Control Objective Prioritization … 149
 
V̇min,nom − ν̂V̇ Δf x,max
γmax, prio = arcsin sin γ K − + , (24)
g g
 
V̇max,nom − ν̂V̇ Δf x,min
γmin, prio = arcsin sin γ K − + , (25)
g g

i.e. the flight path angles are limited to ensure an energy redistribution within the
maximum and minimum nominal acceleration limits. Equations (22) and (23) are
reduced to Eqs. (17) and (18), respectively, ensuring that the desired flight path angle
may be tracked. If the energy rate distribution factor κ E equals 1, i.e. full speed
priority, Eqs. (20) and (21) reduce to Eqs. (15) and (16), respectively, ensuring that
the desired pseudo-control acceleration may be tracked.

3.3.3 Energy Integrity Protection

In order to ensure the energy integrity of the aircraft, the energy distribution must
be automatically prioritized in favor of the airspeed at the edges of its envelope.
Therefore, the acceleration limits ν R M,V̇ ,max/min for the speed reference model are
determined as a function of the distance to the airspeed limit VI AS,max/min and the
current estimated acceleration ν̂V̇ , and the flight path angle limits γmax,min adjusted
so that the energy distribution ensures the limit acceleration is maintained, thereby
preventing an over- or undershoot of the limit airspeed.
Two phase plane regions are defined; one defined by the distance ΔVtrans to the
limit speed, where the energy distribution is actively controlled in favor of airspeed
(transition region), and one, defined by the distance ΔV pr ot beyond the speed limit
(protection region) where the throttle limits are additionally adjusted beyond nominal
limits to prevent a low energy state (from e.g. Maximum Continuous to Take-Off/Go-
Around Thrust) according to

V̇max = k V,max VI AS,max − VIAS (26)

V̇trans,max = k V,max VI AS,trans,max − VIAS

= k V,max VI AS,max − ΔVtrans − VIAS (27)

V̇ pr ot,max = k V,max VI AS, pr ot,max − VIAS

= k V,max VI AS,max + ΔV pr ot − VIAS (28)

V̇min = k V,min VI AS,min − VIAS (29)

V̇trans,min = k V,min VI AS,trans,min − VIAS

= k V,min VI AS,min + ΔVtrans − VIAS (30)

V̇ pr ot,min = k V,min VI AS, pr ot,min − VIAS

= k V,min VI AS,min − ΔV pr ot − VIAS (31)
150 E. Karlsson et al.

V̇trans,min B
V̇min
V̇prot,min
VIAS

V̇prot,max
A
V̇max

VIAS,prot,min VIAS,prot,max V̇trans,max

VIAS,trans,min VIAS,trans,max
VIAS,min VIAS,max

Fig. 3 Speed-acceleration phase plane regions for energy integrity protection

The phase plane regions with their corresponding limit accelerations are visualized
in Fig. 3, where the point A represents a situation where the aircraft approaches its
upper speed limit (positive acceleration), and has entered the transition region where
the acceleration and flight path limits are adjusted to prevent an overshoot. In case
the acceleration is even larger, point B, the throttle limits are further adjusted (in this
case towards their absolute minimum) in order to further utilize the possible energy
flow rate.
Within the transition region, the acceleration limits are linearly reduced from their
nominal limits to the protection limits according to
 
ν̂V̇ − V̇max
ν R M,V̇ ,max = V̇max,nom (32)
V̇trans,max − V̇max
 
ν̂V̇ − V̇min
ν R M,V̇ ,min = V̇min,nom (33)
V̇trans,min − V̇min

with ν R M,V̇ ,max/min being the acceleration limit set in the speed reference model,
V̇max/min,nom the nominal limits, ν̂V̇ the estimated linear acceleration, and V̇trans,min
and V̇min the transition region limit accelerations according to Eqs. (26)–(31). The
acceleration limits are visualized in Fig. 4. The protection flight path angles equivalent
to the minimum/maximum acceleration in the low/high speed transition regions can
be derived from Eq. (10), again with the available thrust increment considered in case
of autothrust active,
 
ν R M,V̇ ,min − ν̂V̇ Δf x,max
γmax, pr ot = arcsin sin γ K − + , (34)
g g
 
ν R M,V̇ ,max − ν̂V̇ Δf x,min
γmin, pr ot = arcsin sin γ K − + . (35)
g g
Active Control Objective Prioritization … 151

νRM,V̇ ,min/max

νRM,V̇ ,max
V̇max,nom

V̇prot,min V̇min V̇trans,min V̇trans,max V̇max V̇prot,max

νRM,V̇ ,min
V̇min,nom

γmax = arcsin sin γ + 1 (ν − V̇ + Δfx,max )
g RM,V̇ ,min

γmin,max 
γmin = arcsin sin γ + 1 (ν − V̇ + Δfx,min )
g RM,V̇ ,max

γV̇min,nom

γV̇min

V̇prot,min V̇min V̇trans,min V̇trans,max V̇max V̇prot,max


γV̇max

γV̇max,nom

δT,min/max

δT,max,abs
δT,max
δT,max,nom

V̇prot,min V̇min V̇trans,min V̇trans,max V̇max V̇prot,max

δT,min
δT,min,nom
δT,min,abs

Fig. 4 Acceleration, flight path and throttle limits for energy integrity protection
152 E. Karlsson et al.

The flight path angle limits and their relation to the acceleration limits are visualized
in Fig. 4. Analogously, the throttle limits δT,min/max are adjusted within the high/low
speed protection region, from the nominal limits δT,nom,min/max to their absolute limits
δT,abs,min/max in order to provide maximum or minimum available thrust, see Fig. 4.
In the low speed protection region, the maximum and minimum throttle limits are
given by
 
 ν̂V̇ − V̇ pr ot,min
δT,max, pr ot,L S = δT,max,abs + δT,max,nom − δT,max,abs , (36)
V̇min − V̇ pr ot,min
 
 ν̂V̇ − V̇ pr ot,min
δT,max, pr ot,L S = δT,max,abs + δT,min,nom − δT,max,abs , (37)
V̇min − V̇ pr ot,min

and in the high speed protection region analogously by


 
 ν̂V̇ − V̇ pr ot,max
δT,max, pr ot,H S = δT,min,abs + δT,max,nom − δT,min,abs , (38)
V̇max − V̇ pr ot,max
 
 ν̂V̇ − V̇ pr ot,max
δT,max, pr ot,H S = δT,min,abs + δT,min,nom − δT,min,abs . (39)
V̇max − V̇ pr ot,max

It is possible to extend the throttle limit adjustment within the protection region to
include means of drag control, e.g. speed brakes, to further control the energy flow
rate in the case of high speed protection.

3.4 Path Curvature Force Distribution Prioritization

A curvature of the vertical or lateral flight path is achieved by changing the mag-
nitude of the total force perpendicular to the flight path in the vertical and lateral
plane, respectively. For most conventional aircraft configurations the primary force
acting perpendicular to the flight path is the lift force. (Other means include thrust
vectoring and side force control.) For high-bandwidth concurrent maneuvering in
the vertical and lateral plane, the permissible transverse force has to be taken into
account and, in case of saturation, a prioritization or trade-off between desired cur-
vature in the vertical and lateral plane activated. The force distribution is realized
by cross-coupling the flight path angle and track angle reference models according
to Fig. 2, and setting the flight path angle rate and track angle rate pseudo-control
command limiters, respectively.
The flight path transverse specific forces in the kinematic frame are given by

f y,K = VK cos γ K χ̇, (40)


f z,K = −VK γ̇ − g cos γ K , (41)
Active Control Objective Prioritization … 153

i.e. the magnitude of the commanded transverse forces, f z,K ,C for achieving the
desired vertical and lateral path curvatures, respectively, must be equal to or less
than the maximum permissible magnitude of the transverse specific force | f z,K |max ,
 2  2
| f z,K ,C | = f z,K ,C + f y,K ,C ≤ | f z,K |max (42)

with

f y,K ,C = VK cos γ K · νχ̇ , (43)


f z,K ,C = −VK · νγ̇ − g cos γ K . (44)

The maximum magnitude of the transverse specific force is determined by either the
maximum achievable lift coefficient, or the maximum permissible structural load, or
some desired maneuver bandwidth criteria.

3.4.1 Vertical Verses Lateral Plane Maneuvering Prioritization

From Eqs. (42)–(44), constraints on the desired flight path curvatures ν R M,γ̇ and
ν R M,χ̇ may be derived, in order to achieve the desired curvature in the prioritized
plane. For prioritized maneuvering in the vertical plane, the constraints on the lateral
path curvature commands are given by
 2
1
ν R M,χ̇ ,max,ver t = | f z,K |2max − f z,K ,C , (45)
VK cos γ K
 2
1
= | f z,K |2max − −VK · ν R M,γ̇ − g cos γ K ,
VK cos γ K
 2
1
ν R M,χ̇ ,min,ver t =− | f z,K |2max − f z,K ,C , (46)
VK cos γ K
 2
1
=− | f z,K |2max − −VK · ν R M,γ̇ − g cos γ K .
VK cos γ K

In order for the expression under the square root to be positive, the following con-
straints apply to the commanded vertical path curvature,

1 
ν R M,γ̇ ,max,ver t = | f z,K |max − g cos γ K , (47)
VK
1 
ν R M,γ̇ ,min,ver t = −| f z,K |max − g cos γ K . (48)
VK

Analogously, maneuvering in the lateral plane may be prioritized, either by allowing


the full transverse force to produce a lateral path curvature (i.e. with bank angle equal
to 90 degrees), or by allowing the residual force when maintaining the current flight
154 E. Karlsson et al.

path angle for maneuvering in the lateral plane, thereby inhibiting further curvature
of the vertical flight path. The constraints on the vertical path curvature are given by
 2
1 g
ν R M,γ̇ ,max,lat = | f z,K |2max − f y,K ,C − cos γ K (49)
VK VK
 2
1 g
= | f z,K |2max − VK cos γ K · ν R M,χ̇ − cos γ K
VK VK
 2
1 g
ν R M,γ̇ ,min,lat =− | f z,K |2max − f y,K ,C − cos γ K (50)
VK VK
 2
1 g
=− | f z,K |2max − VK cos γ K · ν R M,χ̇ − cos γ K
VK VK

and the constraints on the lateral curvature, when utilizing full transverse force,

1
ν R M,χ̇ ,max,lat, f ull = | f |max , (51)
VK cos γ K z,K
1
ν R M,χ̇ ,min,lat, f ull =− | f |max , (52)
VK cos γ K z,K

and when utilizing transverse force limited for lateral maneuvering, leaving a residual
transverse force for maintaining current climb angle,
 
g | f z,K |max 2
ν R M,χ̇ ,max,lat,man = − 1, (53)
VK g cos γ K
 
g | f z,K |max 2
ν R M,χ̇ ,min,lat,man =− − 1. (54)
VK g cos γ K

3.4.2 Mixed Force Authority Prioritization

The previous section presented a binary vertical versus lateral flight path curvature
prioritization, where the transverse specific force distribution always is performed
in favor of one of the two planes. In the following, an integration of the two path
curvature modes of prioritization is presented, where the available transverse specific
force, is budgeted between vertical and lateral flight path curvature. Analog to the
energy-based prioritizations, a force distribution factor κ F ∈ [0, 1] is introduced,
defining the amount of transverse force authority is allocated to vertical and lateral
flight path curvature control, where κ F = 0 indicates full vertical flight path curvature
priority, and κ F = 1 full lateral path curvature maneuver priority, and a value in
between a mixed priority. The permissible flight path curvature limits are then a
function of κ F , according to
Active Control Objective Prioritization … 155

1  2 g
ν R M,γ̇ ,max, prio = 2
f z,K ,min
− κ F VK cos γ K · ν R M,χ̇ − cos γ K , (55)
VK VK
1 
ν R M,γ̇ ,min, prio = − f z,K ,max − g cos γ K , (56)
VK

and

1  2
ν R M,χ̇ ,max, prio = 2
f z,K − (1 − κ F )V K · ν R M,χ̇ + g cos γ K ,
VK cos γ K ,min

(57)

1  2
ν R M,χ̇ ,min, prio = − 2
f z,K − (1 − κ F )VK · ν R M,χ̇ + g cos γ K .
VK cos γ K ,min

(58)

4 Simulation Results of Energy Rate and Force


Prioritizations

Closed loop simulations of the flight path control system (including inner loop and
autothrust controllers) where performed using a high-fidelity 6 degree-of-freedom
simulation model of the DA42 M-NG, including sensor and actuator models. Figure 5,
left column, shows the airspeed and flight path command tracking in full path pri-
ority mode, with autothrust engaged. Here, the acceleration limits are continuously
adjusted in order to distribute the energy flow rate in favor of the desired flight path
angle, and allow for the flight path angle command to be tracked (ensuring vertical
flight path maneuvering integrity). Figure 5, right column, shows the airspeed and
flight path command tracking in full speed priority mode, with autothrust engaged.
The flight path angle limits are continuously adjusted in order to distribute the energy
flow rate in favor of the desired acceleration, and allow for the speed command to
be tracked (ensuring speed maneuvering integrity). Figure 6, left column, show con-
current maneuvering in the vertical and lateral planes with vertical plane curvature
priority. The lateral curvature, and thus the bank angle, is limited in order for the
vertical flight path commands to be tracked. Figure 6, right column, shows the same
maneuvers with full lateral plane curvature priority. Here, the vertical path curvature
is not achieved until lateral plane maneuvering is finished and thus desaturating the
normal specific force control, limited at −1.5 g (z B -axis pointing downwards).
Figure 7 shows the energy integrity protection and automatic speed prioritization
at the edges of the airspeed envelope, where the path priority is overridden and the
flight path angle limits are adjusted based on the minimum/maximum acceleration
limits to ensure energy integrity, and no airspeed over- or undershoot.
156 E. Karlsson et al.

Indicated Airspeed Tracking Indicated Airspeed Tracking

70 64
62
65 60
58
60
56
55 54
50 100 150 200 50 100 150 200

Linear Acceleration Tracking Linear Acceleration Tracking


3 3
2 2
1 1
0 0
−1 −1
−2 −2
−3 −3
50 100 150 200 50 100 150 200

Throttle Throttle

1 1

0.5 0.5

0 0

50 100 150 200 50 100 150 200

Flight Path Angle Tracking Flight Path Angle Tracking


20 20

10 10

0 0

−10 −10

−20 −20
50 100 150 200 50 100 150 200

Normal Specific Force Tracking Normal Specific Force Tracking


−0.5 −0.5

−1 −1

−1.5 −1.5
50 100 150 200 50 100 150 200
Time [s] Time [s]

Fig. 5 Energy rate prioritization, path priority (left) and speed priority (right)
Active Control Objective Prioritization … 157

Vertical Flight Path Tracking Vertical Flight Path Tracking

10 10

0 0

−10 −10

20 40 60 80 100 20 40 60 80 100
Vertical Flight Path Curvature Vertical Flight Path Curvature
10 10

0 0

−10 −10
20 40 60 80 100 20 40 60 80 100

Normal Specific Force Tracking Normal Specific Force Tracking


0 0

−1 −1

−2 −2
20 40 60 80 100 20 40 60 80 100

Lateral Flight Path Tracking Lateral Flight Path Tracking


200 200

100 100

0 0

−100 −100
20 40 60 80 100 20 40 60 80 100

Lateral Flight Path Curvature Lateral Flight Path Curvature

10 10

0 0

−10 −10

20 40 60 80 100 20 40 60 80 100

Bank Angle Tracking Bank Angle Tracking


50 50

0 0

−50 −50
20 40 60 80 100 20 40 60 80 100
Time [s] Time [s]

Fig. 6 Force prioritization, vertical path curvature priority (left) and lateral path curvature priority
(right)
158 E. Karlsson et al.

Indicated Airspeed Tracking Indicated Airspeed Tracking


60 65

55 60

55
50
50
45
20 40 60 80 100 120 20 40 60 80 100 120

Linear Acceleration Tracking Linear Acceleration Tracking


3 3
2 2
1 1
0 0
−1 −1
−2 −2
−3 −3
20 40 60 80 100 120 20 40 60 80 100 120

Throttle Throttle

1 1

0.5 0.5

0 0

20 40 60 80 100 120 20 40 60 80 100 120

Flight Path Angle Tracking Flight Path Angle Tracking


20 20

10 10

0 0

−10 −10

−20 −20
20 40 60 80 100 120 20 40 60 80 100 120

Normal Specific Force Tracking Normal Specific Force Tracking


−0.5 −0.5

−1 −1

−1.5 −1.5
20 40 60 80 100 120 20 40 60 80 100 120
Time [s] Time [s]

Fig. 7 Energy integrity protection, low speed protection (left) and high speed protection (right)
Active Control Objective Prioritization … 159

5 Flight Test Results of Energy Integrity Protection

The nominal function of the flight path controller has been successfully validated in
flight test during 2016, for a limited flight envelope, see [7]. Figure 8 shows initial
results from flight testing of the energy integrity functionality performed in August
2016, in light turbulent conditions. For initial evaluation, the airspeed envelope was
reduced to 90–125 kts, at safe distance from the aircraft envelope. As seen in Fig. 8,
the flight path angle is adjusted in order for the aircraft to stay in the permissible
airspeed envelope. Due to restricted flight testing time available, and suboptimal
weather conditions, the level of correspondence with simulation results was hard to

Flight Path Angle Tracking Flight Path Angle Tracking


15 15

10 10

5 5

0 0

−5 −5

−10 −10

−15 −15
48 48.5 49 50.4 50.6 50.8 51 51.2 51.4

Incremental Normal Specific Force Tracking Incremental Normal Specific Force Tracking
0.5 0.5

0 0

−0.5 −0.5
48 48.5 49 50.4 50.6 50.8 51 51.2 51.4

Indicated Airspeed Tracking Indicated Airspeed Tracking

130 130

120 120

110 110

100 100

90 90

80 80
48 48.5 49 50.4 50.6 50.8 51 51.2 51.4
Time [min] Time [min]

Fig. 8 Energy integrity protection, flight test results, low speed protection (left) and high speed
protection (right)
160 E. Karlsson et al.

establish, although correct functionality verified. Earlier flight testing of the nominal
flight path controller functions has shown good correspondence with simulation
results.

6 Conclusions and Outlook

An approach for active energy rate and force distribution prioritization, for deter-
ministic maneuvering integrity and energy protection, has been integrated into the
flight path controller of a modular flight guidance and control system, and has been
validated using a high-fidelity simulation of the closed loop system for various con-
ditions and for the current permissible bandwidth of the system, as well as partially
validated in flight tests. The results show that the implemented approach functions
as intended, for the current permissible bandwidth. Next steps will comprise further
validation of the approach in simulation and in flight tests, with increasing of control
bandwidth. The nominal flight path controller has previously been verified in flight
tests, with good correspondence to simulation results.

Acknowledgements Part of this research was supported by German Federal Ministry for Economic
Affairs and Energy on the basis of a decision by the German Bundestag.

References

1. Etkin B, Reid LD (1996) Dynamics of flight: stability and control, 3rd edn. Wiley, New York
2. Holzapfel F, Höcht L, Schuck F, Myschik S, Sachs G (2008) Nonlinear flight-path control - a
flight dynamics perspective. Jarhrbuch 2007 der deutschen gesellschaft für luft- und raumfahrt
6:3627–3640
3. Holzapfel F, Schuck F, Höcht L, Kurth F, Sachs G (2007) Non-linear high bandwidth control
of UAVs for autonomous mission capability. In: 45th AIAA aerospace sciences meeting and
exhibition
4. Holzapfel F, Schuck F, Höcht L, Sachs G (2007) Flight dynamics aspects of path control. In:
AIAA guidance, navigation and control conference and exhibition
5. Johnson EN, Calise AJ (2003) Limited authority adaptive flight control for reusable launch
vehicles. J Guid Control Dyn 26(6):906–913
6. Karlsson E, Gabrys A, Schatz SP, Holzapfel F (2016) Dynamic flight path control coupling for
energy and maneuvering integrity. In: The 14th international conference on control, automation,
robotics, and vision
7. Karlsson E, Schatz SP, Baier T, Dörhöfer C, Gabrys A, Hochstrasser M, Krause C, Lauffs PJ,
Mumm NC, Nürnberger K, Peter L, Schneider V, Spiegel P, Steinert L, Zollitsch AW, Holzapfel
F (2016) Automatic flight path control of an experimental DA42 general aviation aircraft. In:
The 14th international conference on control, automation, robotics, and vision
8. Lambregts AA (1983) Integrated system design for flight and propulsion control using total
energy principles. In: AIAA aircraft design, systems and technology meeting
9. Lambregts AA (1983) Vertical flight path and speed control autopilot design using total energy
principles. In: AIAA guidance and control conference
10. Lambregts AA (2013) Flight envelope protection for automatic and augmented manual control.
In: EuroGNC
Active Control Objective Prioritization … 161

11. Lambregts AA (2013) TECS generalized airplane control system design - an update. In:
EuroGNC
12. Schatz SP, Holzapfel F (2014) Modular trajectory/path following controller using nonlinear
error dynamics. In: 2014 IEEE international aerospace electronics and remote sensing tech-
nology (ICARES). IEEE, pp. 157–163
13. Schatz SP, Schneider V, Karlsson E, Holzapfel F, Baier T, Dörhöfer C, Hochstrasser M, Gabrys
A, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Zollitsch
AW (2016) Flightplan flight tests of an experimental DA42 general aviation aircraft. In: The
14th international conference on control, automation, robotics, and vision
14. Schneider V, Mumm N, Holzapfel F (2015) Trajectory generation for an integrated mission
management system. In: 2015 IEEE international aerospace electronics and remote sensing
technology (ICARES). IEEE
15. Schneider V, Piprek P, Schatz SP, Baier T, Dörhöfer C, Hochstrasser M, Gabrys A, Karlsson
E, Krause C, Lauffs PJ, Mumm NC, Nürnberger K, Peter L, Spiegel P, Steinert L, Zollitsch
AW, Holzapfel F (2016) Online trajectory generation using clothoid segments. In: The 14th
international conference on control, automation, robotics, and vision
16. Slotine J-JE, Li W (1991) Applied nonlinear control. Prentice Hall, Englewood Cliffs
17. Stevens BL, Lewis FL (2003) Aircraft control and simulation, 2nd edn. Wiley, Hoboken
Nonlinear Modular 3D Trajectory Control
of a General Aviation Aircraft

Simon P. Schatz and Florian Holzapfel

1 Introduction

In the past decades, the use of fly-by-wire (FBW) became popular as a concept
for flight controls. Nowadays, the FBW concept is becoming standard for large
transportation aircraft, but research projects of Part-23 general aviation aircraft are
also directed towards FBW concepts. In some cases, full FBW is of interest, in some
cases the mechanical flight control system is altered by interconnected actuators of
(sometimes) lower authority. Especially the emergence of unmanned aerial vehicles
(UAV) and electrical flying further led to multiple applications of FBW systems,
which incorporate multicopters of small MTOW as well as platforms of several tons.
Both manned and unmanned sensing platforms require waypoint based navigation
to complete their missions and as a consequence, trajectory generation and control
plays a significant role for these systems. In this paper, the trajectory controller of a
fully integrated auto-flight control system is considered. At the institute, a modular
control structure was developed in the context of adopting various components of the
guidance and control structure to different platforms without the need of redesigning
the controllers for the specific applications. Consequently, a range of modules were
designed, which range from classical autopilot concepts to trajectory generation
and automatic landing as well as to automatic aerodynamic trimming. All of these
components may vary for different applications such as UAVs with unstable aircraft
dynamics or classical autopilots for manned flight, but the rework can be decreased
significantly due to the modular structure.

S.P. Schatz (B) · F. Holzapfel


Institute of Flight System Dynamics, Technische Universität München,
Boltzmannstr. 15, 85748 Garching Bei München, Germany
e-mail: simon.p.schatz@tum.de
F. Holzapfel
e-mail: florian.holzapfel@tum.de

© Springer International Publishing AG 2018 163


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_9
164 S.P. Schatz and F. Holzapfel

The trajectory control module is designed as a controller to drive any deviations


in the lateral and vertical plane to zero and hence, is a candidate to be utilized by
multiple higher-level functions such as waypoint navigation, automatic takeoff and
landing, or altitude hold modes. From the controller’s point of view, the deviations
and their derivatives are used as control errors whereas other information about the
trajectory such as trajectory angles and their rates are further utilized to improve the
controller’s performance, especially in cases of dynamical trajectories.
Previous work conducted in the field of trajectory control usually rely on multiple
loops to address the problem of trajectory tracking. Commonly, there are two outer
loops, which first compute a track / flight path angle command due to deviations
and then compute inner loop commands to control the angular error. In this field,
work has been conducted ranging from linear controllers to nonlinear methods such
as backstepping or nonlinear dynamic inversion. Examples of such methods can
be found in [1–10]. In this paper, a second-order approach for the outer loop is
presented, which only consists of one control loop using both the position deviations
in the lateral and vertical plane as well as their derivatives as control errors. This
reduces the required time scale separation as there are just two second order loops
used in the modular structure: trajectory controller and inner loop controller. The
trajectory controller’s design is based on the method of nonlinear dynamic inversion
(NDI, see e.g. [11, 12]), which inherently leads to utilizing the feedforward terms
contained in the dynamical trajectory, along with a PD controller.
In this paper, previous work [13, 14] is extended, specifically the second order
error dynamics of the lateral and vertical position deviations, which are the basis for
the derivation of the controller, are addressed in detail and the dynamic inversion
applied to these error dynamics is derived for the 3D controller. Additionally, the
command transformation to the inner loop controller is derived and further infor-
mation is given regarding the trajectory control and the environment. Ultimately,
specific simulation results are presented to show the controller’s lateral tracking per-
formance in comparison to a linear controller and in presence of significant wind as
additional test data to the first principal flight test demonstration published in Ref.
[14].
The remainder of this paper is arranged as follows: Section 1.1 states the nomen-
clature used in this paper. The environment of the trajectory controller is presented
in Sect. 2, where the trajectory generation (Sect. 2.1), the command transformation
(Sect. 2.2), and the inner loop controller (Sect. 2.3) are discussed in more detail.
Section 3 deals with the trajectory control design, specifically the discussion of the
kinematic equations of motion, the derivation of the nonlinear error dynamics, its
dynamic inversion, and the control design. In Sect. 4 simulation results are given to
show the controller’s performance in presence of wind and also by comparison to
a linear PD controller without feedforward terms. Finally, concluding remarks are
given in Sect. 5.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 165

1.1 Nomenclature

In this paper, mainly vectors, which are noted bold, and scalars, noted in italic letters,


are used. Furthermore, (·) indicates that a vector is an element of the Euclidean space
R3 . In addition, Euclidean vectors considered in this paper are the following:
→ P 
• − r B denotes a position vector at the point P given in the body frame.
−→P E
• VK denotes a kinematic velocity vector at the point P differentiated with
respectto the E frame.
• − →ω O K denotes an angular rate of the K frame with respect to the O frame.
All vector variables used in this paper can be compounded based on the concept
introduced by these three examples.

2 Control Environment

The Institute of Flight System Dynamics owns a Diamond Aircraft Industries DA42
NG aircraft, which is adapted to serve as flying testbed. For this purpose, the aircraft
has been modified to be controlled using a fly-by-wire system, which gears into the
existing mechanical flight control system utilizing both an electrical and an overload
clutch. The testbed is equipped with a safety system, which enables the safety pilot
to either open the clutches by pushing a disengage button or by application of a
sufficiently large stick force.
Figure 1 (taken from [13, 14] for clarity) shows the overall modular structure of the
integrated autoflight system. The modules of the integrated auto-flight system range
from the input monitoring and system automation part [15], where the incoming
signals of sensors and ground station are evaluated and the overall operating modes
are computed based on the result, to the actuator control electronics (ACEs) and the
engine control unit (ECU).
The modular concept was chosen to keep certain parts of identical structure
throughout different platforms. For this, certain interfaces are maintained throughout
various projects. As an example, the control structure of the autopilot persists over
several platforms and just requires adaptation of certain parameters such as gains and
limits to the dynamics of the aircraft. The inner loop module, however, may differ
significantly over different applications as it depends fully on aircraft dynamics and
control allocation.
The trajectory controller is a part of the auto-flight-system, which in this context
denotes the autopilot functionalities such as heading hold or flight level change mode
and the speed controller / auto-thrust. The auto-flight-system also incorporates energy
protection and prioritization, limiting the speed and the flight path angle such that no
adverse conditions occur. In context of vertical trajectory control or upon application
of the altitude hold mode, along with deviations also the permissible flight path
angles are forwarded to the trajectory controller, which are then used to additionally
166 S.P. Schatz and F. Holzapfel

Fig. 1 Integrated autoflight system

limit the trajectory controller’s specific force commands. For more details on the
auto-flight-system refer to [16, 17].
The commands of the auto-flight-system and the trajectory controller, which are
further dedicated as outer loop, are selected and forwarded to the inner loop controller.
While the outer loops provide normalized specific force commands in the kinematic
frame with respect to unaccelerated flight, these commands are transformed by a
configuration-specific module, which is further depicted in Sect. 2.2, to the inputs
required by the corresponding inner loop, which then computes the final commands
to the ACEs and ECUs. The inner loop of the DA42 is briefly discussed in Sect. 2.3.
The trajectory controller deals with any deviations as long as they comply with
the interface described in Sect. 2.1. In the current implementation for the DA42,
trajectories and the corresponding deviations may either be provided by the automatic
takeoff and landing module or a trajectory generation module [18, 19], which is based
on waypoints. The latter is briefly discussed in Sect. 2.1. Furthermore, the trajectory
controller is used to drive the altitude deviation to zero when the altitude hold mode
is applied.

2.1 Trajectory Generation

The paper deals with a modular trajectory controller, which is designed to drive the
deviations in a trajectory frame to zero. From the controller’s point of view, any source
of deviations and additional trajectory information is permitted. In this paper, fly-by
trajectories generated by the trajectory generation module are considered. Here, the
interface to this module is briefly introduced.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 167

Fig. 2 Trajectory frame with deviations and their corresponding time derivatives

For this purpose, the trajectory frame T, which is related to the kinematic frame
K as commonly used in aerospace applications, is introduced as follows:
• The x-axis is aligned with and in the direction of the desired velocity at the footpoint
on the trajectory.
• The z-axis points downwards parallel to the projection of the local normal to the
WGS84 ellipsoid into a plane perpendicular to the x-axis.
• The y-axis points parallel to the earth’s surface and yields a right hand system with
the previous two axes.
This frame is further illustrated in Fig. 2 (taken from [13, 14]), where the deviations
(Δy)T , (Δz)T ∈ R and its time derivatives (Δ ẏ)T , (Δż)T ∈ R are also displayed.
The trajectory controller is driven by the following inputs:
• The deviations between aircraft and desired trajectory

⎛ ⎞ ⎛ R ⎞
−  Δx x − xF

r F R T = ⎝Δy ⎠  ⎝ y R − y F ⎠ , (1)
Δz T zR − zF T

• the corresponding time derivatives of these deviations

⎛ ⎞T ⎛ R ⎞T
− Δẋ ẋ − ẋ F
→ F R T ⎝ ⎠
VK = Δ ẏ  ⎝ ẏ R − ẏ F ⎠ , (2)
T
Δż T ż R − ż F T

• the desired trajectory angles χT , γT ,


• the desired trajectory angular rates χ̇T , γ̇T ,
• the desired trajectory angular accelerations χ̈T , γ̈T ,
• the desired kinematic acceleration at the trajectory footpoint V̇KF .
168 S.P. Schatz and F. Holzapfel



Note that −→r F R , V KF R ∈ R3 and all the other components are real valued.
The current state of the trajectory generation module, previously presented in
[18, 19], which generates a trajectory online based on 3+1 given waypoints, employs
waypoints of the type fly-by, fly-over, and loiter, where just fly-by trajectories and
a loiter are considered in this paper. Note that the trajectory is only generated for
three-dimensional trajectories not employing the x-position on the trajectory, i.e. the
time component, as the airspeed is controlled independently by the auto-flight system
to maintain the aerodynamic integrity of the system.
A fly-by trajectory is generated using the current “from” waypoint, the fly-by
waypoint, and the next waypoint after the fly-by to generate a circle passing the
fly-by waypoint. Note that the radii of the circle of the fly-by maneuvers and loiters
are computed based on the current kinematic velocity, a wind estimation as well as
the current and commanded airspeeds. The maximum expected kinematic velocity
throughout the turn is used to calculate the radius by aiming for a turn rate of 5◦ /s.
In order to smoothly start the curve, the trajectory generation is currently based on
clothoids [19–22] for fly-by maneuvers, which provide a linear devolution of the
trajectory angular rate χ̇T . As a consequence, however, the angular acceleration χ̈T
employs non-continuous characteristics and hence, the angular accelerations remain
unused throughout this paper.

2.2 Outer - Inner Loop Command Interface

As mentioned earlier, the outer loops provide normalized specific force commands
in the kinematic frame with respect to unaccelerated flight, i.e. curvature commands
given by

T


u ol,nr m,K = Δf x,cmd,K f y,cmd,K Δf z,cmd,K
, (3)
g g g

where g represents the acceleration due to gravity. In the following, the curvature
commands are first transformed to the north-east-down (NED, O) frame, then con-
verted to absolute normalized specific forces including gravity, and ultimately rotated
about the heading Ψ as well as the pitch angle Θ, yielding
⎛ ⎛ ⎞ ⎞
0

→ −

u ol,nr m,B  = T B  O (Ψ, Θ) ⎝T O K (−γ K , −χ K ) u ol,nr m,K − ⎝0⎠ ⎠ , (4)
1 O

where T ∈ Ri3×3 depict transformation matrices, γ K is the kinematic flight path angle,
and χ K denotes the kinematic track / course angle. Finally, the command transfor-
mation to the body frame can be obtained by
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 169
⎡ ⎤
1 0 0


u ol,nr m,B = ⎣0 cos (Φ) sin (Φ) ⎦ −→
u ol,nr m,B  , (5)
0 −sin (Φ) cos (Φ)

where Φ depicts the roll angle of the aircraft. Now, as no lateral acceleration in the
body frame is desired for a coordinated turn, the second row of (5) is utilized to
compute

f y,cmd,B  f z,,B 
0= cos (Φcmd ) + sin (Φcmd ) , (6)
g g

ultimately yielding the roll angle command


 
f y,cmd,B 
Φcmd = atan − . (7)
f z,cmd,B 

Taking into account the second and third row of (5) and utilizing Φcurr , we have

f y,cmd,B  = − f z,cmd,B  tan (Φcurr ) (8)


f z,cmd,B f y,cmd,B  f z,cmd,B 
=− sin (Φcurr ) + cos (Φcurr ) , (9)
g g g

and the normal body load factor command in the longitudinal plane as commanded
to the inner loop can be computed as

f z,cmd,B f z,cmd,B 
= , (10)
g gcos (Φcurr )

where Φcurr is currently chosen as the measurement of the roll angle, but can be
altered by a small feedforward term based on the roll rate and the computational
rate. The command transformation as given by Eqs. (8) and (10) is designed in
this form to cope with the different time scales regarding longitudinal and lateral
motion. Therefore, the given longitudinal command is computed using the current
measurement of the roll angle as it takes more time to built up the angle rather than
the longitudinal acceleration to maintain the appropriate curvature in both axes.

2.3 Inner Loop

As mentioned in Sect. 2.2, the inner loop comprises a normal body load factor com-
mand system in the longitudinal plane and a roll angle command system in the lateral
plane. In case of the longitudinal plane, the normalized normal acceleration in the
body frame and the pitch rate q are used for a PI controller. The lateral inner loop
170 S.P. Schatz and F. Holzapfel

comprises feedback of roll and yaw rates, p and r , respectively, along with the nor-
malized body lateral acceleration and the roll angle for a MIMO control architecture.
Since the control design of the inner loop is based on linear approaches such
as LQR [23] for the longitudinal plane and eigenstructure assignment [24] for the
lateral plane, gain scheduling is required to compose the controller over the whole
envelope. In order to increase the validity of the linear controller and incorporate turn
compensation, the feedback signals are treated to achieve smaller errors as inputs to
the inner loop controller. As a consequence, the feedback signals as seen from the
inner loop are given by

δ f z,B f z,B cos (Θ)


= + , (11)
g g cos (Φ)
g
δp = p − R tan (Φ) , (12)
VK
g
δq = q − R tan (Φ) cos (Θ) sin (Φ) , (13)
VK
g
δr = r − R sin (Φ) cos (Θ) , (14)
VK

where VKR denotes the absolute kinematic velocity of the reference point and tan (μ K )
is approximated by tan (Φ) for turn compensation as the kinematic bank angle μ K
is not available for measurement. In order to remain in the same magnitude, also the
normal body load factor command is treated by means of

δ f z,cmd,B f z,cmd,B cos (Θ)


= + . (15)
g g cos (Φ)

The current gains are chosen in such a way that the inherent dynamics of the DA42
are not changed significantly. In the lateral plane, the roll dynamics and the natural
frequency of the dutch roll are maintained while the yaw damping is increased.
Furthermore, the spiral pole is set to −1 for the whole envelope. In the longitudinal
plane, the pitch damping is increased and the normal body load factor command
system is implemented. The tracking performance is achieved by the feedforward
part, while the feedback is designed primarily for disturbance rejection.

3 Trajectory Controller

In this section, the proposed trajectory controller is presented. Section 3.1 gives a
short derivation of the kinematic equations of motion for the reference point of a
rigid body aircraft. The error dynamics used for the trajectory controller are derived
in Sect. 3.2. The nonlinear dynamic inversion controller, which is applied based on
these error dynamics, is presented and analyzed in Sect. 3.3.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 171

3.1 Kinematic Equations of Motion

This section deals with the kinematic equations of motion used for the path dynamics
of an aircraft. For this purpose, the results known from e.g. [25, 26] are computed
based on Newton’s Second Axiom. For the usage addressed in this paper, the reference
point R of a rigid body aircraft is considered.
Assumption 1 The aircraft is assumed to be a rigid body. As a consequence, the
relative position between points on the aircraft does not change over time, resulting
in
→R P B
−
VK = 0. (16)

For computing the equations of motion, consider the position vector −



r P ∈ R3
−
→  → R  − 
r P = −
r + →
r RP , (17)

and the corresponding velocities in the inertial frame given by

→R I
− →  E −
−  → R 
V K = V KR + →ω IE × −r , (18)
− 
→R P I → I B  − 
VK = −
ω × →r RP , (19)

which are valid according to Assumption 1. In addition, the following assumption is


made, which is fairly standard [25]:
Assumption 2 The influence of the mass flow onto the impulse of the aircraft can
be neglected:
−→ E
ṁ V KP ≈ 0. (20)

Differentiating the position vector (17) twice and incorporating the velocities (18),
(19), and the Assumptions 1 and 2, Newton’s Second Axiom can be given as

 −  R E O
→R  −̇

F =m VK + m−

a add . (21)

Remark 1 Note that − →a add is a term containing all additional accelerations such as
the Coriolis term, the acceleration due to the transport rate, and the acceleration due
to difference of reference point R and center of gravity G. When considering a flat,


non-rotating earth and choosing the center of gravity as reference point, −
→a add = 0 .
For reasons of brevity, −
→a add is neglected in the subsequent sections.
172 S.P. Schatz and F. Holzapfel

Making use of the transformation into the kinematic frame


 R E O  R E K
−̇
→ −̇
→ → E
 → O K  −
VK = VK + −ω × V KR , (22)

the kinematic equations of motion can be computed as

V̇KR = Δf x,K , (23)


f y,K
χ̇ K = R , (24)
VK cosγK
−Δf z,K
γ̇ K = , (25)
VKR

where the specific forces are defined as

(X AR + X PR ) K
Δf x,K  − gsinγK , (26)
m
(Y R + Y PR ) K
f y,K  A , (27)
m
(Z AR + Z PR ) K
Δf z,K  + gcosγK , (28)
m

where m ∈ R denotes the mass of the aircraft and (X AR ) K , (Y AR ) K , (Z AR ) K ∈ R as


well as (X PR ) K , (Y PR ) K , (Z PR ) K ∈ R are the components of the aerodynamic and
propulsion forces at the reference point, respectively, noted in the kinematic frame.
For the further derivation of the trajectory controller, the aircraft dynamics related
to the trajectory are given by the kinematic Eqs. (23)–(25). Note that the forces affect-
ing these dynamics require an inner loop controller supplying the respective actuator
commands for these loads. In order to achieve this, the commands in the kinematic
frame are transformed into roll angle and normal body load factor commands as
discussed in Sect. 2.2, which are then utilized by the inner loop controller briefly
introduced in Sect. 2.3, whereas the airspeed is controlled by a speed controller as
introduced in [16, 17].

3.2 Nonlinear Error Dynamics

In this section, the nonlinear error dynamics between the reference point of the
aircraft and a reference trajectory are computed. The relative deviation is defined in
(1) and its time derivative is given by Eq. (2). This relative velocity can be further
computed as
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 173
−
→ F R T −
→  E → T O  → F R 
VK = V KF R + −
ω T
× −
r T
, (29)
T T

where the angular rate is specified as


⎛ ⎞
−  χ̇T sinγT

ω T O T = ⎝ −γ̇T ⎠ . (30)
−χ̇T cosγT

As mentioned earlier, the controller is designed to use the specific forces as inputs
to the inner loop. For this purpose, the error dynamics are differentiated once again
with respect to time, yielding
 F R T T  F R  E T  T −
−̇
→ −̇
→ → F R  −  → F R T
+ −̇
→ × − →
TO
VK = VK ω r T
+ ω TO
T
× VK ,
T T T T
(31)

which can be further derived using


 E T  E K −  F E T
−̇
→F R −̇
→R → T K  →R E −̇

VK = VK + −
ω T
× V K − V K ,des . (32)
T T T T

Employing
−
→  → T O  → O K 
ω TK T = −
ω T
+ −
ω T
, (33)

we arrive at
 F R T T  R  E K −  F E T
−̇
→ −̇
→ → O K  →R E −̇

VK = VK + −
ω T
× V K − V K ,des
T T T T
 T   (34)
−̇
→ TO −
→  −
→  −→ F R T −
→R E
+ ω × r FR
T
+ ω TO
T
× VK + VK ,
T T T

where the terms on the top row of (34) contain the kinematic aircraft dynamics (22)
with the control inputs Δf x,K , f y,K , Δf z,K , and the other terms are related to the
inputs to the trajectory controller specified in Sect. 2.1.

3.3 Nonlinear Dynamic Inversion Controller

The error dynamics (34) are now transformed using nonlinear dynamic inversion
[11, 12]. For this purpose, (34) is written as
174 S.P. Schatz and F. Holzapfel

−̈
→ −

y f ull = G f ull (γ K , γT , Δχ ) −

u f ull + f f ull (γ K , γT , Δχ , κ) , (35)

where Δχ  χ K − χT and
 
−
→  − → T
κ r F R T , V KF R (36)
T

for brevity. The input vector −



u f ull ∈ R3 is given by


→  T
u f ull = Δf x,K f y,K Δf z,K . (37)

Additionally, the matrix G f ull (γ K , γT , Δχ ) ∈ R3×3 essentially consists of the trans-


formation from the kinematic frame into the trajectory frame

TT K = TT K (−γ K , −Δχ , γT ) ∈ R3×3 , (38)

and the terms of (34) not containing the aircraft dynamics are incorporated in the non-


linearity vector f f ull (γ K , γT , Δχ , κ) ∈ R3 . Furthermore, −̈
→y f ull ∈ R3 represents
the second time derivative of the output according to the methodology of nonlinear
dynamic inversion, where the output is chosen


y f ull = (−

r F R ). (39)

Now, by choosing the control law


 −
→ 


u f ull = G−1 −→
f ull (γ K , γT , Δχ ) ν f ull − f f ull (γ K , γT , Δχ , κ) , (40)

the plant (35) would be transformed into

→y f ull = −
−̈ →
ν f ull , (41)

where −→ν f ull ∈ R3 denotes the pseudo control, which is chosen by the designer. Note
that (41) represents an integrator chain, which is stable for an adequate choice of this
pseudo control.

3.3.1 Reduced Dynamic Inversion

In an aircraft application, the focus lies on aerodynamic integrity of the aircraft.


Hence, for application to general aviation aircraft with lower never exceedance
speeds, the ground speed is not the control variable. Therefore, the control law (40)
is not applied in this paper since it is designed for geometric deviations incorporating
the kinematic x-axis.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 175

In case of the DA42, the calibrated airspeed is used as a control variable employing
an auto-thrust to compute thrust lever commands to the ECU. In case of waypoint
navigation and altitude hold modes, the speed is controlled by thrust whereas speed
by pitch is active for flight level change modes. Note that the trajectory controller
always implies speed by thrust as it is used to drive geometrical deviations in both
y- and z axes to zero. A planned climb from one waypoint to another is consequently
performed using speed by thrust. In case of unachievable vertical changes, certain
protections occur, which are addressed in Ref. [17].
As the x-axis is surrendered in the DA42 set-up, the specific force in direction of
the kinematic x-axis, Δf x,K , is not used as a control variable anymore. Consequently,
the control system is reduced to second order and Δf x,K is taken as a measurement.
In order to compute the pseudo control ν f ull,x , the corresponding row of (40) is
employed using Δx = 0, Δẋ = 0 and by insertion of ν f ull,x , we arrive at the reduced
system given by
  
u = G−1 (γ K , γT , Δχ ) ν − f γ K , γT , Δχ , κ, Δ f x,K , (42)
 T  
where u = f y,K Δf z,K ∈ R2 is the control input, f γ K , γT , Δχ , κ, Δf x,K =
 T
f y f z ∈ R2 is the nonlinearity vector with the components

f y = Δf x,K sin(Δχ )cos(γT ) − VKR χ̇T cos(γ K )cos(Δχ ) (43)


− (χ̇T γ̇T cos(γT ) + χ̈T sin(γT )) Δz − χ̇sin(γT )Δż,
f z = Δf x,K (cos(γ K )sin(γT ) (cos(Δχ ) − 1) − sin(γ K − γT )) (44)
+ VKR γ̇T (cos(γ K )cos(γT ) (cos(Δχ ) − 1) + cos(γ K − γT ))
+ VKR χ̇T cos(γ K )sin(γT )sin(Δχ ) + χ̇ sin(γT )Δ ẏ
+ (χ̇T γ̇T cos(γT ) + χ̈T sin(γT )) Δy,

and the input matrix G ∈ R2×2 is given by


 
cos(Δχ ) sin(Δχ )sin(γ K )
G .
−sin(Δχ )sin(γT ) sin(γ K )sin(γT ) (cos(Δχ ) − 1) + cos(γ K − γT )
(45)

Note that G is not invertible if the determinant given by

det (G) = cos(γ K )cos(γT ) (cos(Δχ ) − 1) + cos(γ K − γT ) (46)

is zero. This is the case for |Δχ | ≈ 90◦ as the remaining term sin(γ K )sin(γT ) is
zero for horizontal trajectories and / or horizontal flight. Since fly-by trajectories
are planned smoothly, no large deviations of the course angles occur and hence, the
inverse can be computed in these cases. Actually, the difference in course angles
Δχ stays close to zero even in the presence of wind as the trajectory controller is
176 S.P. Schatz and F. Holzapfel

designed to follow the geometric path rather than using a cascaded structure with
course angle commands as commonly used in the literature [1–10]. However, since
the determinant takes effect as an additional gain, the difference in course angles is
limited to |Δχ | = 60◦ , which corresponds to a gain of 2 if γT = 0 and γ K = 0.
For the ideal case of Δχ = 0, the inverse of the input matrix becomes diagonal
 
−1 1 0
G = (47)
0 1
cos(γ K −γT )
,

which facilitates the possibility to evaluate the effects onto different axes, while
the small terms due to the difference in course angles Δχ also disappear from the
nonlinearity terms (43), (44), yielding

f y = −VKR χ̇T cos(γ K ) − (χ̇T γ̇T cos(γT ) + χ̈T sin(γT )) Δz − χ̇sin(γT )Δż, (48)
fz = VKR γ̇T cos(γ K
− γT ) + (χ̇T γ̇T cos(γT ) + χ̈T sin(γT )) Δy + sin(γT )Δ ẏ (49)
− Δf x,K sin(γ K − γT ),

where the first terms correspond to feedforward elements due to the curvature χ̇T
and γ̇T , respectively, the specific force along the kinematic x-axis Δf x,K is incorpo-
rated by means of another feedforward element to deal with accelerations, and the
remaining terms serve as elements to rotate the deviations into the changing trajec-
tory frame. While the ideal case Δχ = 0 renders Eqs. (47)–(49), the small terms for
Δχ = 0 correlate to additional coupling terms.

3.3.2 Pseudo Control Law

The pseudo controls are chosen as PD controller as per


   
νy k p,y Δy + kd,y Δ ẏ
ν = , (50)
νz k p,z Δz + kd,z Δż

where the gains ki ∈ R− can be computed according to

k p,y = − ω2y ,
kd,y = − 2ω y ,
(51)
k p,z = − ωz2 ,
kd,z = − 2ωz ,

where ω y and ω y are the desired natural frequencies for an aperiodic second order
system since no overshoots are desired for trajectory tracking.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 177

4 Illustrative Examples

In this section, the functionality and the performance is further analyzed using illus-
trative examples. For this purpose, two simulation studies are presented. In the first
simulation example, the nonlinear dynamic inversion controller is compared to a lin-
ear controller to evaluate the performance with respect to classical linear approaches.
Then, the trajectory controller’s performance when subject to wind is discussed using
another example. Both tests are conducted with the same NDI controller as reference
at a commanded airspeed of 90kts.
For the comparison with the linear controller, all input and output treatments
applied to the controller remain as designed for the NDI approach. That is, the
implicit gain given by the inverse of the input matrix, G−1 , the command limits,
and the command transformation to the inner loop are retained. Furthermore, the
exact same PD control law (51) is used, where ω y = 0.23 rad s
and ωz = 0.45 rads
are
utilized in both cases. Consequently, the nonlinearity term given in Eq. (43) is the
only remaining difference between the control laws.
For the comparison, a flightplan in triangular form, which consists of various
fly-by maneuvers and a loiter at the end, is simulated. The flightplan and the actual
flight paths are displayed in Fig. 3. Note that the planned trajectory is identical as
the kinematic velocity used for radius computation does not vary throughout the
simulation as no wind is applied to address the conceptual differences.
It is evident that the linear controller cannot follow the trajectory in turns and
overshoots significantly both when entering and leaving the turn. This fact is further
supported by Fig. 4, where large deviations are obvious. In comparison, the NDI
controller as illustrated in Fig. 5 remains within deviations of 10 m when building
up the roll angle required for turning into or leaving the clothoid, respectively. This
deviation can be further reduced by a faster inner loop controller, which, however, is
not in the focus right now as conservatism is of higher interest for the current phase
of flight testing.
Furthermore, the linear controller exhibits significant steady-state deviations in
turns. Although also the NDI controller cannot achieve steady-state accuracy during
turns due to the lack of an integrator (in particular during the loiter at the end of
the flightplan in Fig. 5), the nonlinearity term approximately succeeds in driving the
deviation from the trajectory to zero by means of the feedforward term. Just using
a linear error controller as made use of in various applications inherently results in
large deviations with respect to curved trajectories as an error needs to be built up for
the controller to react. The specific forces commanded by the trajectory controller
are in the same magnitude for both controllers, where the NDI controller achieves the
slightly faster reaction and the basic turn specific force command by the feedforward
term while the linear controller generates its command amplitude by the control error.
For the second example, a spiral pattern is considered, which also consists of
various fly-by maneuvers and ends with a loiter. This pattern is chosen to solely
contain turns with changing kinematic velocities as the trajectory generation module
employs a combination of kinematic velocity, wind estimate, airspeed command, and
178 S.P. Schatz and F. Holzapfel

Fig. 3 Flight plan: triangular pattern

the actual airspeed to compute the trajectory’s curve as noted in Sect. 2.1. Hence, the
trajectory controller can be analyzed with respect to changing velocities, especially
with respect to the planned curve. The flightplan displayed in Fig. 6 exhibits the
different curves at south wind of 0, 20 and 40kts. As the wind streams towards
north, a larger kinematic velocity occurs flying “up” whereas flying south employs
the minimum kinematic velocity. As the trajectory generation module utilizes the
maximum expected velocity throughout a turn, the planned radii become larger with
increasing wind. In particular, this is evident for the loiter maneuver at the end of the
flightplan.
Figures 7 and 8 show that there are almost no differences in deviations and course
angles between no wind and 20kts of wind. The commands, however, change depend-
ing on the kinematic velocity, i.e. the commands required to follow the curve vary
significantly to achieve the same objectives. Whereas the turn commands in Fig. 7
retain a certain amplitude, the command’s magnitudes change depending on the
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 179

Fig. 4 Linear controller

Fig. 5 NDI controller


180 S.P. Schatz and F. Holzapfel

Fig. 6 Flight plan: spiral pattern, wind comparison

direction in the case of 20kts wind as displayed in Fig. 8. When performing the loiter
at the end of the flightplan, the change is most evident.
As a conclusion, the trajectory controller achieves superior performance with
respect of a similar linear PD controller and is robust against the influences of wind.
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 181

Fig. 7 NDI controller, no wind

Fig. 8 NDI controller, 20kts N-wind


182 S.P. Schatz and F. Holzapfel

5 Conclusions

In this paper, a modular trajectory controller was proposed and the concept for fly-
by trajectories was described in detail. Specifically, the environment including the
interfaces was presented and a brief introduction to the inner loop was given. In
simulations, the performance of the nonlinear controller was compared to a linear
controller of the same order and the influence of significant wind was analyzed.
In addition to previously-published principal flight tests, further flight tests with
the DA42 experimental aircraft of the institute are being conducted focusing on auto-
matic landing by generation of smooth landing trajectories. The modular design of
the overall control architecture enables fast applications to other aircraft. Specifi-
cally, flight tests with a motor glider and a fixed-wing aircraft of 6 tons are about to
be conducted while a small UAV of 150 kg is being tested in hardware-in-the-loop
environments.

Acknowledgements I would like to offer my special thanks to my colleague Volker Schneider,


who is responsible for the trajectory generation module, which was also used to generate the
figures of this paper. Furthermore, I would also like to extend my thanks to Agnes Gabrys, Erik
Karlsson, and Alexander Zollitsch, who provided the inner loop, the autopilot module including
energy protections, and the high-fidelity simulation model, respectively.

References

1. Beard RW, Kingston D, Quigley M, Snyder D, Christiansen R, Johnson W, McLain T, Goodrich


M (2005) Autonomous vehicle technologies for small fixed-wing uavs. J Aerosp Comput Inf
Commun 2(1):92–108
2. Low CB (2010) A trajectory tracking control design for fixed-wing unmanned aerial vehicles.
In: IEEE multi-conference on systems and control, pp 2118–2123
3. Ren W, Beard RW (2004) Trajectory tracking for unmanned air vehicles with velocity and
heading rate constraints. IEEE Trans Control Syst Technol 12(5):706–716
4. Subbarao K, Ahmed M (2014) Nonlinear guidance and control laws for three-dimensional
target tracking applied to unmanned aerial vehicles. J Aerosp Eng 27(3):604–610
5. Nelson DR, Barber DB, McLain TW, Beard RW (2007) Vector field path following for miniature
air vehicles. IEEE Trans Robot 23(3):519–529
6. Zhu S, Wang D, Low CB (2013) Ground target tracking using uav with input constraints. J
Intell Robot Syst 69(1–4):417–429
7. Beard RW, Ferrin J, Humpherys J (2014) Fixed wing uav path following in wind with input
constraints. IEEE Trans Control Syst Technol :1
8. Zhufeng Xie, Yuanqing Xia, Mengyin Fu (2011) Robust trajectory-tracking method for uav
using nonlinear dynamic inversion. In: IEEE 5th international conference on cybernetics and
intelligent systems (CIS) pp 93–98
9. Pashilkar AA, Ismail S, Ayyagari R, Sundararajan N (2013) Design of a nonlinear dynamic
inversion controller for trajectory following and maneuvering for fixed wing aircraft. In: IEEE
symposium on computational intelligence for security and defense applications (CISDA) pp
64–71
10. Oliveira T, Encarnação P (2013) Ground target tracking control system for unmanned aerial
vehicles. J Intell Robot Syst 69(1–4):373–387
11. Slotine J-JE, Li W (1991) Applied Nonlinear Control. Prentice Hall, Englewood Cliffs, NJ
Nonlinear Modular 3D Trajectory Control of a General Aviation Aircraft 183

12. Khalil HK (2002) Nonlinear Systems, 3rd edn. Prentice Hall, Englewood Cliffs, NJ
13. Schatz SP, Holzapfel F (2014) Modular trajectory, path following controller using nonlinear
error dynamics. In: IEEE international aerospace electronics and remote sensing technology
(ICARES) pp 157–163
14. Schatz SP, Schneider V, Karlsson E, Holzapfel F et al (2016) Flightplan flight tests of an
experimental da42 general aviation aircraft. In: The 14th International Conference on Control,
Automation, Robotics, and Vision
15. Krause C, Holzapfel F (2016) Designing a system automation for a novel uav demonstrator.
In: The 14th International Conference on Control, Automation, Robotics, and Vision
16. Karlsson E, Schatz SP et al (2016) Automatic flight path control of an experimental da42 general
aviation aircraft. In: The 14th International Conference on Control, Automation, Robotics, and
Vision
17. Karlsson E, Gabrys A, Schatz SP, Holzapfel F (2016) Dynamic flight path control coupling for
energy and maneuvering integrity. In: The 14th International Conference on Control, Automa-
tion, Robotics, and Vision
18. Schneider V, Mumm N, Holzapfel F (2015) Trajectory generation for an integrated mission
management system. In: 2014 IEEE International Aerospace Electronics and Remote Sensing
Technology (ICARES). IEEE
19. Schneider V, Piprek P, Schatz SP et al (2016) Online trajectory generation using clothoid
segments. In: The 14th international conference on control, automation, robotics, and vision
20. Meek DS, Walton DJ (2004) A note on finding clothoids. J Comput Appl Math 170(2):433–453
21. Henrie J, Wilde D (2007) Planning continuous curvature paths using constructive polylines. J
Aerosp Comput Inf Commun 4(12):1143–1157
22. Wilde DK (2009) Computing clothoid segments for trajectory generation. In: IEEE/RSJ inter-
national conference on intelligent robots and systems (IROS) pp 2440–2445
23. Lavretsky E, Wise KA (2013) Robust and Adaptive Control: With Aerospace Applications,
Ser. Advanced textbooks in control and signal processing. Springer, New York
24. Andry AN, Shapiro EY, Chung J (1983) Eigenstructure assignment for linear systems. IEEE
Trans Aerosp Electron Syst AES–19(5):711–729
25. Etkin B, Reid LD (1996) Dynamics of Flight: Stability and Control, 3rd edn. Wiley, New York
26. Stengel RF (2004) Flight Dynamics. Princeton University Press, Princeton and NJ
Modular Trajectory Generation Test
Platform for Real Flight Systems

Volker Schneider and Florian Holzapfel

1 Introduction

Over the last decades air traffic has been steadily increasing. Furthermore, the planned
integration of Unmanned Aerial Systems (UAS) and Optionally Piloted Vehicles
(OPV) in the non-segregated airspace confronts the field of trajectory generation
with tasks to combine a high level of safety with broad flexibility. It requires the
construction of complex flight paths, which are needed for further airspace- and route-
planning. One example is the development of new operational concepts including a
4-dimensional trajectory for the civil airspace as part of the programmes SESAR or
NextGen as shown in [1].
Various approaches exist to meet the upcoming challenges, which can be clustered
according to different criteria.
One famous approach is the use of optimal control for smooth path planning
[2, 3]. These approaches use iterative algorithms, which lead to special safety con-
siderations. Since the scope of the presented test platform lies on algorithms without
iteration parts, they were not considered in the requirement specification of the cur-
rent trajectory generation system.
The path parametrization is another important section of research. Here, for exam-
ple, Bézier curves [4], clothoids for transition between arc and straight line segments
[5, 6], or logistic curves as turn approaches [7] are discussed. Both two-dimensional
[8] as well as the coupling of all axes to a three-dimensional algorithm [9, 10] are
being used.

V. Schneider (B) · F. Holzapfel


Institute of Flight System Dynamics, Technische Universität München,
Boltzmannstr. 15, 85748 Garching bei München, Germany
e-mail: volker.schneider@tum.de
F. Holzapfel
e-mail: florian.holzapfel@tum.de

© Springer International Publishing AG 2018 185


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_10
186 V. Schneider and F. Holzapfel

Due to the wide range of possible research fields, the Institute of Flight System
Dynamics has developed a test platform, which allows the evaluation of new algo-
rithms in real flight. A short description of the system can be found in Chap. 6. The
flight control system software consists of a stabilizing inner loop system, an autopilot
system [11, 12] and trajectory flying.
The trajectory flying part is separated into the trajectory generation, which is
presented in this paper and the trajectory control. Trajectory control uses a second
order error dynamics controller [13, 14].
The present paper focusses on the functional design of the trajectory generation
system. The objective of the system is to combine two main aspects. On the one hand,
a robust interface to the adjacent systems with standardized specifications intends to
ensure the usage of the system together with external devices, e.g. from other project
partners. On the other hand, the structure is meant to provide the ability to easily
extend the functionalities or to replace sub modules, which is necessary to use it as
a test platform for different research approaches.
In Chap. 2 the requirements for the trajectory generation testing platform are
stated. Furthermore, the interfaces to the adjacent modules are specified. Chapter
3 presents the functional design, including the sub functions of the trajectory gen-
eration, while Chap. 4 especially considers non-nominal flight cases and presents
strategies to deal with them from trajectory generation view. In Chap. 5, system
aspects of the trajectory generation are discussed, including the allocation of the
functions to different systems due to their criticality. Chapter 6 presents two project
examples, where the trajectory generation system is used in different platforms.

1.1 Nomenclature

In the present paper the following waypoint names are used:

FROM – The waypoint, the aircraft comes from.


TO – The current active waypoint, the aircraft proceeds to.
NEXT – The waypoint, the aircraft will proceed to after reaching the TO.
MOD – A waypoint, which is modifiable within the current waypoint buffer.

The following coordinate frames are mentioned:


Trajectory frame: The trajectory frame is defined with its origin being located in the
trajectory reference point. The x-axis points along the trajectory tangent, the y-axis
points orthogonal to the x-axis to the right side of the trajectory.
North East Down (NED) frame: The origin of the NED frame is located in the
aircraft reference point, the x-axis points towards north, and the y-axis points to the
east, the z-axis points downwards, orthogonal to the earth surface.
Modular Trajectory Generation Test Platform for Real Flight Systems 187

2 Requirements and Interfaces

Since the trajectory generation platform is developed to cover a broad range of


projects and scopes, the functional requirements focus on a generic design. They
also distinguish between a first prototype demonstration and the future vision of the
functional extent, especially facing interface considerations. The top level functional
requirements are as follows:

1. The system shall be able to handle up to 8 flight plans, where each flight plan can
be activated during flight.
2. Each flight plan shall handle up to 99 waypoints.
3. The operator shall be able to start a flight plan at any desired flight plan waypoint.
4. The operator shall be able to edit at least one flight plan during flight via list
update.
5. The system shall be able to handle ARINC 424 “Navigation System Database”
[17] leg types, oriented on the subset of RTCA-DO 236C “Minimum Aviation
System Performance Standards: Required Navigation Performance for Area Nav-
igation” [18]. (Track to Fix, Radius to Fix, Course to Fix, Holding to altitude,
Holding to manual termination, Holding to Fix, Direct to Fix). The first prototype
shall provide “Track to Fix” leg type.
6. For a Track to Fix leg, the system shall be able to perform a Flyby or Flyover
maneuver or to perform a Loiter maneuver until exit command by the operator.
The maneuvers shall be performed as illustrated in Fig. 1.
7. The operator shall be able to command an “immediate Loiter” as a waiting maneu-
ver within each phase of trajectory flying.

Furthermore requirements regarding the module and interface design are stated:
1. The system shall be developed as a research platform, which is clustered in
replaceable sub modules.

Fig. 1 Required transitions between two “Track to Fix” legs


188 V. Schneider and F. Holzapfel

2. The sub modules shall provide a function separation, regarding safety aspects.
Low and high critical functions shall run independently, so that lower critical
functions can easily be substituted by new developments without affecting the
rest.
3. The system shall be able to combine vertical autopilot modes and autothrust
modes with horizontal waypoint flying.

Regarding the requirements, the system interface is specified in a way that allows
a wide variation of different trajectory generation algorithms without changing the
interface to the adjacent systems.
The input interface contains a commanded flight plan number, a commanded
waypoint number and furthermore at least one flight plan list to edit online. Each
flight plan consists of 99 waypoints, where Table 1 shows the waypoint attributes
used.
Each waypoint is uniquely addressable by a waypoint ID. Besides position, alti-
tude and desired speed, each waypoint contains an attribute “ARINC 424 leg type”,
which is responsible for choosing up to 3 generic attributes “Property 1–3”. For
the prototype development, the leg type “Track to Fix” needs an additional attribute
marking the desired transition type. In this case, “Property 2” and “Property 3” are
being left meaningless.
The output interface was designed to support a second order error dynamics con-
troller as published in [13, 14]. Hence, additional values, compared to a conventional
system, need to be provided. They are illustrated in Fig. 2.
The output interface of the trajectory generation system comprises the error
dynamics up to the first order, namely the error between aircraft and trajectory ref-

Table 1 Waypoint properties


Attribute Description Unit
Waypoint ID A unique waypoint ID to explicitly address the –
waypoint
Longitude WGS84 longitude position Rad
Latitude WGS84 latitude position Rad
Altitude Waypoint altitude (WGS84 or barometric, dependent Meter
on sensor source selection in the trajectory parameter
list)
IAS speed IAS speed on the leg before the waypoint Meter per second
ARINC 424 leg Leg type according to specification “ARINC 424 – –
type Navigation System Database”
Property 1 Free waypoint properties, which are dependent on Dependent
the ARINC 424 leg type, e.g. transition type for
“Track to Fix”
Property 2 Dependent
Property 3 Dependent
Modular Trajectory Generation Test Platform for Real Flight Systems 189

Fig. 2 Description of the system output interface

erence point plus the first derivative. All deviations and derivatives are given in the
trajectory frame. Furthermore the trajectory angles and the corresponding derivatives
are provided up to the second order.
Note that, in general, the trajectory controller is able to control the aircraft in
all three axes, where the x command corresponds to a desired kinematic speed.
However, the use of kinematic speed as control variable could lead to unsafe flight
states depending on the actual wind condition. Hence a direct airspeed control is
preferred, where speed protections can be realized much easier. As mentioned in the
introduction, the trajectory generation system is part of an integrated Flight Guidance
and Control System containing an independent autothrust with indicated airspeed
(IAS) control. Thus, the trajectory generation also provides an IAS command output,
which is directly used as control variable for the autothrust system during waypoint
flying.
With the use of this approach the question arises on how to determine the trajectory
reference point. Letting the reference run point through the trajectory with a constant
kinematic speed is invalid, since the aircraft does not use kinematic speed as control
variable. Hence, the current system determines the trajectory reference point always
as the point on the trajectory with the shortest distance to the aircraft. This is the point
on the trajectory where the vector between aircraft and reference point is orthogonal to
the actual trajectory tangent. Since the deviations are given in the trajectory frame, this
approach always results in a deviation x = 0 and in the corresponding derivative
ẋ = 0. The interface is nevertheless installed, since special projects could also use
approaches with a kinematic speed command.

3 Functional Design

The objective of the given system was to provide a basis for a wide range of projects
with different scopes containing replaceable sub functions. Therefore, the first step
was to classify the trajectory generation function into atomic units, which form the
190 V. Schneider and F. Holzapfel

main functional parts of the system. The classification yields the following 6 main
functional groups:
1. Flight plan handling
2. Geometry calculations
3. Function moding
4. Trajectory reference point
5. Error dynamics
6. Derivatives
In the following subsections, each of those sub modules will be explained in detail.

3.1 Flight Plan Handling

This module comprises all functions, which are related to the administration of the
available flight plans. This includes flight plan edition, such as adding or removing
waypoints, the determination of the current active waypoints and the moding, which
is responsible for flight plan activation or switching the waypoint when reaching the
current TO.

3.2 Geometry Calculations

The geometry calculations module contains all calculations which are needed for
the correct flight path generation. They can be determined using the current active
waypoints and the aircraft position. In general, the geometry calculations can be
separated into different sub parts. The position calculations include the transforma-
tion of the aircraft position and the waypoint positions into all necessary frames. All
waypoints and positions are initially given in WGS84, which requires a spherical or
even ellipsoid geometry calculation. For the cross track error dynamics in horizontal
behavior however, a Euclidian approach can be applied as long as the great circle
trajectory completely lies in a plane, orthogonal to the xy-plane of the used frame.
Figure 3 illustrates this aspect using the North-East-Down (NED) frame.
The NED frame, which has its origin at the aircraft reference point, fulfills the
upper requirement as long as the aircraft proceeds exactly on the commanded great
circle. If there exist deviations between commanded trajectory and aircraft flight
path, the resulting error can be neglected, assuming that for waypoint flying, the
aircraft is always located near the current trajectory. Since the NED frame moves
with the aircraft, the effect of a changing course angle on a great circle flight is
automatically covered. Hence, the NED frame is used as the basis for trajectory
calculation regarding the cross track error and its deviations.
The vertical error z cannot be determined using Euclidian geometry. Assuming
a flight with constant altitude on a great circle as illustrated in Fig. 3, the projection
Modular Trajectory Generation Test Platform for Real Flight Systems 191

Fig. 3 Use of the


North-East-Down frame circle
N
great WP2
during great circle flight for
xN
cross track error
determination aircraŌ

yN

WP1

on the corresponding linear connection would result in a change in altitude command


during flight. Hence, the vertical geometry always needs to be calculated using the
measured barometric or WGS84 altitude. An implementation example can be found
within Sect. 3.4.

3.3 Function Moding

The function moding is responsible for the correct activation and deactivation of all
necessary sub modes, such as straight line flight, leg transition (Flyby or Flyover)
and Loiter maneuver. The key aspect for the moding design was the ability to easily
extent the modes according to additional functionalities in the future. Hence, a two
level design was implemented. The top level contains modes, which are not neces-
sarily connected to an active flight plan. An example here is the required function to
activate an operator Loiter within each situation. This also comprises its use, when
the autopilot is active without waypoint flying. The second level contains sub modes
for each top level part. The most obvious are those of the trajgen mode, where the
sub structure separates into Straight Line, Flyby, Loiter at waypoint or a Flyover
command.
Figure 4 illustrates the moding design containing the currently implemented
modes.
Note, that Fig. 4 shows a vertical part, which contains the “Standard Mode” and
the “Separated Mode”. Since horizontal and vertical axes are calculated separately,
the moding needs to face this aspect, too. In most cases, the vertical modes are
192 V. Schneider and F. Holzapfel

Horizontal Moding
Top Level
InacƟve
InacƟve Mode
Trajgen

Straight Line Horizontal


Trajgen Mode Mode
Flyby

Flyover
Loiter Mode
WP Loiter
Loiter
Mode

VerƟcal Moding
VerƟcal
Standard Mode Mode

Separate Mode

Fig. 4 Moding design including the separation of horizontal and vertical behavior

Fig. 5 Vertical Flyby maneuver

identical to the corresponding horizontal behavior. These cases are represented by


the “Standard Mode”. However, in special flight situations the vertical moding needs
to act independently. Assuming a vertical Flyby, where the current and the following
leg are in line, the Vertical Flyby has to be activated during horizontal straight line
flight. Figure 5 illustrates such a case.
Here, the “Separate Mode” is activated at the moment when the Vertical Flyby
maneuver needs to start. Note, that any interruption of the current separate maneuver,
such as a new flight plan command or an operator Loiter command, resets the vertical
moding back to “Standard Mode”.
Modular Trajectory Generation Test Platform for Real Flight Systems 193

3.4 Trajectory Reference Point Calculation

This module is responsible for all calculations regarding the flight path. As men-
tioned in Sect. 2, the reference point is defined as the point on the trajectory with the
shortest distance to the aircraft. The current implementation comprises straight line
calculations, arc segments, as shown in [15] and clothoid maneuvers for the tran-
sition between straight line and arc, as published in [5]. The module comprises the
reference point and the trajectory course angle calculation for the horizontal behav-
ior (x T,F , yT,F , χT,F ) and the trajectory altitude and flight path angle (h T,F , γT,F )
calculation for the vertical behavior. As also explained in Sect. 3.2, the values for
vertical movement need to be determined using the barometric or WGS84 altitude
instead of the linear geometry. For the current projects, the implementation of alti-
tude and flight path angle distinguishes between straight line flight and turn flight.
For straight line flight, a linear altitude change between starting point and ending
point is assumed.

  dW p1r e f
h line = h W p2 − h W p1 . + h W p1 (1)
dW p1W p2
 
h W p2 − h W p1
γline = atan (2)
dW p1W p2,hor

For a turn flight, the altitude change is realized assuming a 5th order polynom, where
the coefficients are determined with the following constraints.

0≤x ≤d
h (0) = h star t , h (d) = h end
γ (0) = γstar t , γ (d) = γend
γ̇ (0) = 0, γ̇ (d) = 0

h tur n (x) = a · x 5 + b · x 4 + c · x 3 + d · x 2 + e · x + f (3)

γtur n (x) = atan(5a · x 4 + 4b · x 3 + 3c · x 2 + 2d · x + e) (4)

3.5 Error Dynamics and Derivatives

As mentioned above, the integrated Flight Guidance and Control System uses
a second order error dynamics controller. Hence, the necessary output for the
trajectory generation system is not only the reference point on the trajectory
but the error dynamics and its derivatives. The deviation itself can simply be
194 V. Schneider and F. Holzapfel

determined by transforming the trajectory reference point as well as the aircraft


position into a trajectory frame. This was also shown in [15].
The derivative determination is treated as an own sub system since the trajectory
generation system shall be developed as a generic system, which can be used for
different controller applications. Hence, the level of derivative calculation can differ.
In [15, 16], two ways for the determination of the derivatives were presented. The
current implementation uses the second approach, where the current aircraft position
is predicted using the equations of motion. The predicted aircraft position is then
used to determine a predicted trajectory reference point. The difference between the
current reference point and predicted reference point is then the basis for the desired
derivative value.

4 Non-nominal Behavior

For a safe and deterministic aircraft behavior in all situations, the trajectory generation
algorithm has to consider waypoint combinations, which yield non-nominal behavior.
In general, a non-nominal case is a combination of waypoints, which forms a
non-achievable trajectory due to limited aircraft performance. From the trajectory
generation view it is important to focus on a deterministic behavior of the system.
An automatic flight plan replanning would result in a route, which is not necessarily
desired. Only the operator himself is authorized to redesign given waypoints before
they get in command. On the other hand, a non-reachable waypoint, must not result in
undesired aircraft maneuvers, which try to reach the waypoint. Hence, the following
remarks are implemented for the trajectory generation system:

1. The switch conditions for the aircraft are not based on the aircraft position, but on
the calculated trajectory reference point. This guarantees, that the flight plan is
switched to the next waypoint, even if the aircraft has not reached the waypoint.
2. A safe aircraft flight state is guaranteed by controller limitations and not by
the trajectory generation. Hence, non-reachable waypoints are commanded to
the controller the same way as nominal waypoints. This approach guarantees a
maximum controller performance usage to get as close to the desired point as
possible.

There are few exceptions, where the trajectory generation can directly influence
the commanded path, since the nominal flight path would result in uncommon aircraft
maneuvers.

1. A Flyby Maneuver for a “Track to Fix” leg is only allowed for course changes
which are smaller than 125◦ , since maneuver for bigger course changes would
result in turns, which are very far away from the TO. For bigger course changes,
an automatic Flyover is performed at the TO.
2. A Flyby maneuver for a “Track to Fix” is only allowed as long as the target leg
is long enough to finalize the Flyby. Otherwise, the Flyby maneuver is replaced
Modular Trajectory Generation Test Platform for Real Flight Systems 195

Fig. 6 Flyby abort caused by too short target leg

by a Flyover at the Flyby starting point and a direct connection between starting
point and the NEXT, as illustrated in Fig. 6.
3. A Flyby maneuver is aborted and replaced by a Flyover maneuver, if the dis-
tance between aircraft and the TO waypoint is insufficient to perform the Flyby
maneuver at the moment of activation. The maneuver is aborted, since otherwise
it would result in an initial distance between aircraft and trajectory, yielding a
non-desired step in the controller commands. Figure 7 illustrates this case.

Note that the list above is based on the current implementation status. A function
extension can result in further situations, where a direct influence of the trajectory
generation system on the flight path is necessary.

5 System Structure and Internal Interface Considerations

The functional breakdown, described in Sect. 3, clusters the trajectory generation


into atomic sub parts with various tasks. The requirements, expressed in Sect. 2, also
describe the need to distinguish those functions from a safety point of view, that
is to cluster them according to their criticality. Analysing the extracted atomic sub
functions, there are two safety related categories:
Flight Planning: Those functions normally have a lower criticality, since they do not
directly command changes of the flight path or even direct flight control commands.
196 V. Schneider and F. Holzapfel

Fig. 7 Flyby abort caused by non-sufficient distance to TO waypoint

They are therefore not able to bring the aircraft into dangerous flight conditions.
Furthermore, those functions are not sensitive to a periodical update, and therefore
not time critical.
Flight Path Generation: This functional group contains all tasks which are necessary
to generate the controller commands. Since those commands need to be updated at
each time step and they directly affect the aircraft behavior, these functions have a
higher criticality. The “Flight Path Generation” comprises the geometry calculation,
the function moding, trajectory reference point calculations and the error dynamics
including the derivative determination.
Figure 8 illustrates the function separation according to safety aspects into two
independent models.
A separation of functions due to their criticality is only valid as long as there
exists an interface between them, which is able to cover the separation aspects. The
interface design needs to consider that the core functionalities have all information
needed, even in case of failure. Hence, at least a sub set of flight planning data must
remain available for the Flight Path Generation, containing those waypoints, that are
directly used for flight path construction, namely FROM, TO and NEXT. Even the
use of such a buffer leads to defective situations at the moment of a waypoint switch in
case of an interface error, since the former FROM has to be updated externally while
being in command. To avoid such a situation, a fourth waypoint MOD is added to
the waypoint buffer, which nominally contains the AFTERNEXT. During waypoint
flying, a waypoint switch is then realized as illustrated in Fig. 9.
As soon as the current TO is reached, the waypoint buffer is updated without
external data. The update of the TO, which is recognized via the ID change, triggers
the Flight Planning to refresh the MOD with a new waypoint from the flight plan.
Modular Trajectory Generation Test Platform for Real Flight Systems 197

Trajectory generation

Flight Planning

Flight plan edition

• Event
Flight plan selection based
• Not time
critical
Waypoint selection

Waypoint
command
Flight Path Generation

Waypoint
buffer

Geometry calculation

Moding Moding • Time frame


horizontal vertical based
• Safety critical
commands
Trajectory Trajectory
horizontal vertical
• Real time
ability
important
Relative
kinematics

Derivatives

Controller
commands

Fig. 8 System structure of the trajectory generation test platform

Fig. 9 Waypoint switch


during waypoint flying ID change message Flight Path GeneraƟon

FROM

TO

NEXT
Flight Transmission
MOD
Planning
198 V. Schneider and F. Holzapfel

Flight Path GeneraƟon

Aircra posi on FROM


Transmission 1
TO Handshake 1 Handshake 2 Handshake 3

NEXT
Flight Transmission 2
MOD
Planning
FROM

TO

NEXT

MOD

FROM

TO

NEXT
Transmission 3
MOD

Fig. 10 Serial transmission process for a new flight plan command

Since the MOD is then not in command, the update is not time critical and an external
update is valid.
A special case for waypoint update is the command of a new flight plan. In this
case, the whole waypoint buffer has to be updated and there is no alternative to
an access to the waypoints in command. To ensure a correct interpretation of the
new buffer content, the safest way is to send all waypoints at once. However, the
design for two independent systems directly yields the problem of a limited interface
bandwidth. Hence a serial transmission approach was developed as shown in Fig. 10.
Each waypoint transmission contains an attribute, if the actual data is a TO, a
NEXT or a MOD. A “TO” transmission results in an update of the waypoint buffer,
setting the FROM to the actual aircraft position and all other buffer entries to the
current TO. In case that this is the only message, the flight path generation algorithm
interprets the same waypoint ID for TO and NEXT as the flight plan end, proceeds
directly to this waypoint and performs a Loiter maneuver until a new command is
given.
The attribute “NEXT” for the transmission replaces NEXT and MOD in the buffer.
In case that this was the last message, the algorithm proceeds to TO, then to NEXT
and recognizes the end of the flight plan there.
Finally, a “MOD” transmission only replaces the MOD and is identical to the
waypoint switch transmission, presented above.
A complete update of the waypoint buffer is hence proceeded with three trans-
missions, where the actual MOD ID is used for handshake back to the flight plan
algorithm.
Modular Trajectory Generation Test Platform for Real Flight Systems 199

6 Integration Examples

The following subsection presents two project examples, where the described mod-
ular architecture was integrated and used on different implementation stages and
various flight systems.

6.1 Diamond DA42 Experimental Aircraft

The most important demonstration example is given by the experimental aircraft,


operated by the Institute of Flight System Dynamics, TU Munich. It is a modified
Diamond DA 42 M-NG, a CS-23 aircraft with two piston engines and a maximum
take-off weight of about 2000 kg. The institute’s aircraft is equipped with an experi-
mental flight control system, which has direct access to the control surfaces via addi-
tionally installed actuation. An experimental Flight Control Computer (FCC) allows
the operation of self-implemented algorithms ranging from pilot augmentation up to
autopilot or waypoint flying modes to operate the aircraft highly automated. For all
flights, a safety pilot is on board, who has access to the conventional flight controls.
A special safety system, which was explicitly developed for this aircraft, guarantees
that the safety pilot can always override the controls of the experimental system. The
standard crew of the aircraft comprises the safety pilot, an experimental pilot, who
can control the aircraft by an active stick or a mode control panel, which are con-
nected to the experimental system and a flight test engineer who always supervises
the behavior of the experimental system.
The flight control software for the system contains an inner loop, which generates
the actuator commands for surfaces and engines. The autopilot system is a load factor
based module. It contains a module for basic autopilot operations for all 3 axes and
a trajectory controller, which is responsible for horizontal and vertical trajectory
control. This controller is the basis for the presented trajectory generation system as
well as for the auto landing module.
All modules are supervised by a system automation, which is responsible for
the correct activation and deactivation of all functions dependent on the operator
commands and on the results of the input monitoring.
The flight control software structure is illustrated in Fig. 11.
The trajectory generation system was developed and demonstrated with this air-
craft in two steps.
The first version was implemented using a combination of straight lines and arc
segments for the trajectory reference point calculation. This version was mainly used
for simulation and Hardware-in-the-loop tests. Simulation results were presented
in [15]. This approach was also used to demonstrate the principal functionality of
the system during the first real flights with the DA42 experimental aircraft. The
functions of the system comprised the separation into Flight Planning and Flight
Path Generation, the flight plan- and waypoint handling as well as the maneuvers of
Flyby, Flyover, Loiter at waypoint and Loiter by operator.
200 V. Schneider and F. Holzapfel

Fig. 11 Breakdown of the Input Monitoring


Flight Guidance and Control
Sensor
module for the DA42 Values
experimental aircraft
System Automa on

Trajectory Flying
Sysauto
Trajectory
Cmd
Genera on
Automa c Take-Off
Flight
Flight
Path
and Landing
Planning
Gen.

Autoflight System
Trajgen
Cmd
Automa c Flight
Autoflight Command
Guidance and
Moding Selec on
Control

Trajectory Control

Autopilot
Cmd Inner Loop

Autothrust

Surface Thrust
Cmd Cmd

Output Monitoring

ACE ECU
Cmd Cmd

Since a straight line and arc concept leads to the problem of curvature steps
between straight line and arc, the trajectory reference point sub module was replaced
by a more accurate approach, which uses clothoid curves for the transition between
straight lines and arc segments. The extension was demonstrated during a real flight
experiment [5]. For the extended implementation, the general system architecture of
the trajectory generation system has not been changed. Only the clothoid specific
block has been adapted, so that the whole system could be upgraded quite easily.

6.2 Flight Path Generation for Electric UAV Project

For a project concerning the development of a flight control system for an elec-
tric UAV, the Institute of Flight System Dynamics also provided an autopilot system
including waypoint flying. The Flight Planning part however was not task of the insti-
tute but realized by another project partner. Hence, the Flight Path Generation is used
as a standalone module within the trajectory generation system in this project. Since
the Flight Path Generation has a fix input interface, which is able to run without time
critical restrictions, the external project partner was completely free in implementing
the Flight Planning. Besides this aspect and the non-existent autolanding module, the
software structure is more or less comparable to the structure described in Sect. 6.1.
Figure 12 illustrates the functional architecture of the whole project system.
Modular Trajectory Generation Test Platform for Real Flight Systems 201

Flight Flight Control Computer (internal)


Management Sensor values
(external)

Autoflight System
ThroƩle
AutomaƟc
Autothrust Cmd
Trajectory Flight Aileron Ace
Waypoint Input generaƟon Guidance Cmd
Mission and Control
Cmd Monitoring Flight
Autoflight Command Output Elevator
Management & System Path
Moding SelecƟon Monitoring Ace Cmd
AutomaƟon Gen. Trajectory Rudder Ace
Control Cmd
Inner Safety
Loop Clutch Cmd

Safety System Cmd

Fig. 12 Breakdown of the Flight Guidance and Control System for the standalone Flight Path
Generation operation within the trajectory generation system

Note, that due to a limited FCC-performance, only a functional subset of the


Flight Path Generation was realized. It merely calculates the course angle between
the aircraft and the TO at each time step and using this value as control variable. The
general separation of the functional sub modules was kept too, since this allows a
later upgrade to the more complex clothoid approach.

7 Conclusion

The present paper provides a modular platform for trajectory generation applications.
The software was designed as part of an integrated Flight Guidance and Control
System, where waypoint flying is possible in combination with standard autopilot
commands. The focus of the development was the modular structure, which allows
its usage within a broad range of research projects.
Future work is seen in extending the given functionality, as the current implemen-
tation provides only a subset of waypoint flying opportunities. An example is the
implementation of Holding patterns or additional ARINC 424 leg types.

Acknowledgements I would like to offer my special thanks to my colleague Simon Schatz, who
is responsible for the trajectory control module, which is the basis for the trajectory generation
system. Furthermore, special thanks to Christoph Krause, who supported the Hardware-In-The-
Loop-Simulation of the electric UAV project, and to Daniel Gierszewski, who supported the creation
of the presented paper.
202 V. Schneider and F. Holzapfel

References

1. Gardi A, de Ridder K, Sabatini R, Ramasamy S (2013) 4-Dimensional trajectory negotiation


and validation system for the next generation air traffic management. In: AIAA guidance,
navigation, and control conference
2. Diaz-Mercado Y, Lee SG, Egerstedt M, Young S-Y (2013) Optimal trajectory generation for
next generation flight management systems. 2013 IEEE/AIAA 32nd digital avionics systems
conference (DASC), pp 3C5-1–3C5-10
3. Zhao Y, Tsiotras P (2013) Time-optimal path following for fixed-wing aircraft. J Guid Control
Dyn 36(1):83–95
4. Choi J-W, Curry R, Elkaim G (2008) Path planning based on Bézier curve for autonomous
ground vehicles. In: Advances in electrical and electronics engineering - IAENG special edi-
tion of the world congress on engineering and computer science (WCECS), San Francisco,
California, USA, 2008, pp 158–166
5. Schneider V et al (2016) Online trajectory generation using clothoid segments. In: IEEE intern-
tational conference on control, automation, robotics and vision (ICARCV)
6. Brandse J, Mulder M, Van Paassen M (2004) Advanced trajectory design for the tunnel-in-the-
sky display: the use of clothoids. In: AIAA guidance, navigation, and control conference and
exhibit
7. Upadhyay S, Ratnoo A (2016) Smooth trajectory planning for MAVs with airspace restrictions.
In: AIAA guidance, navigation, and control conference
8. Bauer P, Dorobantu A (2013) Optimal waypoint guidance, trajectory design and tracking. In:
2013 American control conference (ACC), pp 812–817
9. Babaei AR, Mortazavi M (2010) Three-dimensional curvature-constrained trajectory planning
based on in-flight waypoints. J Aircr 47(4):1391–1398
10. Ambrosino G et al (2006) Algorithms for 3D UAV path generation and tracking. In: IEEE
conference on decision and control
11. Karlsson E et al (2016) Automatic flight path control of an experimental DA42 general avi-
ation aircraft. In: IEEE interntational conference on control, automation, robotics and vision
(ICARCV)
12. Karlsson E, Gabrys A, Schatz SP, Holzapfel F (2016) Dynamic flight path control coupling for
energy and maneuvering integrity. In: IEEE interntational conference on control, automation,
robotics and vision (ICARCV)
13. Schatz S, Holzapfel F (2014) Modular trajectory/path following controller using nonlinear
error dynamics. In: IEEE international conference on aerospace electronics and remote sensing
technology (ICARES)
14. Schatz SP et al (2016) Flightplan flight tests for experimental DA42 general aviation aircraft.
In: IEEE interntational conference on control, automation, robotics and vision (ICARCV)
15. Schneider V, Mumm N, Holzapfel F (2015) Trajectory generation for an integrated mission
management system. In: 2015 IEEE international conference on aerospace electronics and
remote sensing technology (ICARES)
16. Mumm, N, Schneider V, Holzapfel F (2015) Nonlinear continous and differentiable 3D tra-
jectory command generation. In: 2015 IEEE international conference on aerospace electronics
and remote sensing technology (ICARES)
17. ARINC 424-20: Navigation System Database (2011)
18. RTCA DO 236C: Minimum Aviation System Performance Standards: Required Navigation
Performance for Area Navigation (2013)
nxControl: Ground Mode for Manual Flight
Control Laws with Longitudinal Load Factor
Command

K. Schreiter, S. Müller, R. Luckner and D. Manzey

1 Introduction

Future air traffic is expected to grow and demanding requirements will intensify the
needs for more complex flight trajectories (e.g., Flightpath 2050 [4]). Especially,
precision requirements for flight path and speed enable a better utilisation of limited
airspace. The precision requirements hold for ground operation as runway capacity
is a bottleneck as well. Today, fully automated flight control systems fulfil these
requirements. However, pilots should be able to take over manual control at any
time. Furthermore, the Federal Aviation Administration (FAA) emphasised the loss
of manual flying skills due to excessive use of full automation [5] that could be
prevented by more manual flight in daily operations. As the expected requirements
on future flight precision will raise pilot workload at manual flight, improved handling
characteristics can counteract this trend. Modern cockpits are equipped with fly-by-
wire technology and flight control computers. The underlying flight control laws
improve handling qualities and stability of manual flight. Demand control laws for
sidestick/yoke and pedal inputs are used to achieve precise manual flight at lower
workload. But, there is a lack of control laws for manual thrust and spoiler control.

K. Schreiter (B) · R. Luckner


Department of Flight Mechanics, Flight Control and Aeroelasticity,
Technische Universität Berlin, Berlin, Germany
e-mail: karolin.schreiter@tu-berlin.de
R. Luckner
e-mail: robert.luckner@tu-berlin.de
S. Müller · D. Manzey
Department of Work, Engineering and Organizational Psychology,
Technische Universität Berlin, Berlin, Germany
e-mail: simon.mueller@tu-berlin.de
D. Manzey
e-mail: dietrich.manzey@tu-berlin.de

© Springer International Publishing AG 2018 203


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_11
204 K. Schreiter et al.

The nxControl system introduced by [11, 14] is designed as supplement for the
existing manual control laws. It replaces conventional command of fan rotation speed
or spoiler deflection and controls thrust and spoilers according to pilot’s command of
total longitudinal load factor in flight path direction n xk,tot . Various designations are
used for the total longitudinal load factor: specific excess thrust, potential flight path
angle, acceleration potential, change rate of specific energy level, and total energy
angle, see [2, 3, 6, 7]. To simplify the representation, n xk,tot will be abbreviated
longitudinal load factor n x . As derived by the longitudinal force equation of aircraft
motion, n xk,tot is directly influenced by thrust force F and drag force D related to
aircraft weight W and wind incidence angle αW :

F−D V̇K
n xk,tot = + sin αW = + sin γ = sin γ E . (1)
W g

These external forces influence speed and altitude changes (V̇K and γ ) and therefore
the change of kinetic and potential energy. The load factor n x therefore equals the
specific change of total energy represented by the total energy angle γ E . nxControl
uses these relations to control thrust via engines and drag via spoilers allocated with
a hierarchical logic, as described in Sect. 3. It enables pilots to directly control the
total energy state change of the aircraft instead of using the variables pitch and
fan rotation speed as a proxy. This assures more precise manual flight with lower
workload despite expected higher future requirements.
The impact of nxControl was tested in two evaluation studies described in [11,
13, 14] that covered three different flight scenario types: Single standard flight state
changes, a standard approach with instrumented landing system (ILS), and a demand-
ing steep approach with required navigation performance (RNP). After a short train-
ing phase with nxControl, the pilots were able to use the new system to achieve the
same flight precision in standard scenarios as with their well-trained conventional
manual controls but with a lower lever activity and therefore lower workload. More-
over, the results of the demanding manual RNP approaches showed significantly
better precision with respect to speed control and a significant reduction of subjec-
tive physical pilot workload. As flight path precision is already supported by normal
load factor control (n z -control with sidestick), nxControl did not affect the accuracy
of altitude and flight path angle.
The next step was to supplement the nxControl control laws with a ground mode
to support manual control in following phases: landing (including touch-and-go),
taxi, and take-off (including rejected take-off). There are existing systems that sup-
port pilots during the time critical phases of take-off and landing (e.g. autobrake).
However, using the conventional control on ground in combination with nxControl
in flight would require a mode change at the transitions of flight and ground motion.
Such mode changes from augmented to direct controls, and therefore changes in
aircraft behaviour, could disrupt the normal procedure of the pilots and may lead to
a lack of situation awareness. The ground mode of nxControl therefore enables con-
tinuity in augmented manual control of thrust and spoilers. Additionally, it supports
nxControl: Ground Mode for Manual Flight Control Laws … 205

the control of wheel brakes and thrust reverser that mainly affect the longitudinal load
factor at landing. With the ability to precisely control the deceleration/acceleration
V̇ , it is possible to precisely influence the used runway length s. With the kinematic
equations

V̇ 2
s= t + V0 t + s0 , V = V̇ t + V0 , (2)
2
the used runway length while landing can be calculated with initial values for runway
distance s0 and speed V0 at touch-down, taxi speed VT and deceleration V̇ :

VT2 − V02
s= + s0 . (3)
2 V̇
Note that this equation is simplified with the assumption of constant mean
deceleration.
The existing autobrake systems support the landing phase by controlling wheel
brakes. The systems provide various fixed deceleration levels that the pilots can select,
e.g., three levels at Airbus A320 aircraft [16]. This corresponds to three different
landing distances. However, these landing distances do not necessarily relate to the
distance between touchdown point and runway exits. Additionally, the touch down
point varies for every landing. To adjust the effects of the autobrake system and
to reach the appropriate runway exit, the pilots need to take over manual braking
at a certain point. However, pilots neither have sufficient nor effective information
about the impact of manual braking and thrust reverser. Airbus has implemented an
autobrake mode, called “Brake to Vacate” into Airbus A380. This system allows for
choosing a specific runway exit and the system automatically controls deceleration
with wheel brakes. If the pilots use thrust reverser, the autobrake system adjusts brake
force to maintain the given deceleration. However, the impact of thrust reverser is
not transparent for the pilots.
The command control system for longitudinal load factor nxControl allows both
precise setting and flexible adjustment of deceleration rate while getting a feedback on
its impact. This enables pilots to reach predefined targets while it permits corrections
if unexpected situations appear. In this way, nxControl allows a strategic use of
runway length and occupation time with the pilot in-the-loop.
The following sections give an overview of the status quo on ground operations,
examine preceding considerations of pilots to nxControl ground mode, and describe
the controller design as well as the human-machine interface (HMI). Additionally,
a feasibility study with airline pilots was conducted to test the control law functions
in different situations of landing, taxi and take-off. The results show pilots’ control
strategy with nxControl as well as their assessment of the nxControl system.
206 K. Schreiter et al.

2 Fundamentals on Ground Operations

The nxControl design process is pilot-centred, that means the technical and proce-
dural aspects as well as requirements of the future users are simultaneously consid-
ered. The aim of this approach is to address all relevant issues of the given human-
machine-system. While designing the nxControl ground mode, ground operations as
well as transitions between flight and ground had to be taken into account. There-
fore, recent procedures for take-off, landing, and taxi were analysed and enriched by
preceding considerations of pilots about nxControl on ground.

2.1 Typical Procedures on Ground and Transition Phases

An overview of the flight procedures is provided as collected from discussions with


pilots participating in previous studies, flight crew operation manuals (FCOM), e.g.,
[1], as well as state-of-the-art literature, e.g., [10].
Final Approach At least 1 000 feet above ground, a stabilised flight state is required
to prepare a safe landing. The aircraft must be in a steady decent on glide path
(trimmed and required thrust set) with wings level and landing configuration (flaps
full and gear extended). The pilots have to prepare landing by arming the spoilers for
lift dump and setting the autobrake system mode. The choice of brake mode depends
on runway and weather conditions and can be set to off (manual brake only), or levels
between low and maximum. However, the maximum level is not recommended for
landing. No autobrake may be used if the runway is long and dry as well as if
the runway is very short (full manual brake required). For short and contaminated
runways or at poor visual conditions, medium autobrake levels are recommended.
Autobrake low is used for good weather and runway conditions.
At decision height, the pilots decide whether the landing is continued or a go-
around procedure is initiated. When landing is continued, the flare phase starts shortly
above ground (20–30 feet) and the pilots set the engines to idle.
Landing After touch-down the spoilers are automatically fully extended as lift dump
if they were armed before. The brakes are controlled depending on the preset mode.
If the autobrake system is armed, constant default deceleration rates are adjusted
by the system corresponding to the level. Autobrake is disengaged if the pilots take
control by manual braking. Furthermore, autobrake is turned off automatically at
taxi speed. If manual braking was chosen, the pilots change incidence angle of the
pedals. In addition to wheel brakes, pilots can use thrust reverser that is most effective
at higher speeds. As idle forward thrust impede deceleration, idle thrust reverse is
recommended but it is not mandatory. Thrust reverser are recommended to use until
a minimum speed of 70 knots to prevent the suction of exhaust gas by the engines
but are not limited to this speed. The pilots decelerate the aircraft until it reaches taxi
speed. Spoilers are retracted at this speed.
nxControl: Ground Mode for Manual Flight Control Laws … 207

Go-Around If pilots decide to abort landing, the go-around procedure is initiated.


In first place, engines must be set to maximum (TO/GA) and the pitch angle must
be increased gradually to approx. 15◦ . To reduce drag, flaps are retracted one step.
After stabilising, a second approach is initiated at the same or an alternative airport.
Taxi After landing or before take-off, the aircraft rolls along taxi ways. The maximum
taxi speed is 20–25 knots. To start taxiing, pilots set thrust slightly above idle and
release wheel brakes. When taxi speed is reached, thrust is set to idle and adjusted
afterwards if necessary. If the idle thrust is greater than rolling friction, pilots have
to maintain speed by sequenced or continuous braking. Deceleration is initiated by
setting thrust to idle and pushing the pedal brakes. Before turns, pilots set thrust to
idle and reduce speed with brakes. Pilots keep brakes released and thrust in idle at
the turn as long as speed is not varying to much. Otherwise, corrections of thrust and
brakes are necessary.
Take-Off Pilots configure the aircraft before take-off (pitch trim, flaps). Spoilers and
autobrake mode maximum are armed to be prepared for take-off rejection. Then,
thrust levers are set to maximum or flexible take-off position (TO/GA or FLX) and
pedal brakes are released for acceleration. Until the aircraft reaches decision speed
V1 , the pilots can decide whether take-off is continued or rejected. Above V1 , the
take-off must be continued. At rotation speed VR the aircraft is ready to rotate and
lifts off with a climb rate set by commanding a recommended pitch angle. After
take-off, the climb phase follows, where thrust, gear, and flaps setting is adjusted.
Rejected Take-Off When a pilot decides to abort a take-off, the aircraft must be
decelerated as fast as possible. The engines are set to idle and thrust reverse is
activated. The autobrake system provides maximum braking force. If the braking
force of the autobrake system is not sufficient, pilots shall brake manually. Therefore,
deceleration during a rejected take-off procedure is similar to landing on a short
runway.

2.2 Pilot Considerations Regarding nxControl Ground Mode

The eleven airline pilots, who participated in the first flight simulator study for testing
the concept and the preliminary nxControl design in flight mode [11–13], were inter-
viewed about advantages and disadvantages of extending nxControl with a ground
mode. The new concept was explained for a landing procedure as example. The
answers are summarised below and categorised into three topics: Overall concept,
controller, and human-machine interface aspects.
The participants mentioned that the ground mode concept is a consistent extension
of the flight mode. The control of the aircraft’s reaction and the command of a
precise value for total acceleration would be more useful than a direct control of the
individual aircraft components. The control of deceleration could enable the selection
of a requested runway exit by means of an optimized use of brake and thrust force.
208 K. Schreiter et al.

However, the pilots were sceptical about the interpretability of the energy angle in
reference to the braking distance and recommended a predictor for a selected runway
exit or the end of runway. Some participants were concerned about the complexity
of the system that could reduce the understanding and direct influence of the pilots.
Also, one participant mentioned that existing automatic systems supporting landing
procedure might be redundant with the new system.
As advantage of the demand controller, the pilots mentioned the potential of opti-
mal allocation of the control elements, e.g., the relation of wheel brakes and thrust
reverser. Additionally, the wheel brakes could be used more balanced than in the
conventional manual way that could prevent brake wear. Compared to the existing
autobrake system, the demand controller could also offer a more variable control of
the ground velocity after touchdown without deactivation of the automation. Though,
the participants showed concerns about the situation awareness, e.g., in case of fail-
ures. The detection of subsystem failures could be delayed. Also, the priority of the
controlled elements should be clearly defined and authority to activate the thrust
reverser should rest with the pilots.
The concept of replacing several manual control inputs by one control lever was
perceived ambivalently. On the one hand, controlling just one input device with
one command value could ease operations and therefore lower workload. On the
other hand, the participants were worried about their situation awareness regarding
which actuation element is used. Additionally, the visual head-down feedback at the
displays might be difficult to use in the dynamic situation of landing and therefore
interfere with a precise command.

3 Functions and Architecture of the nxControl Ground


Mode

The controller architecture and the benefits of nxControl flight mode were described
in [14]. Recapped, the control and command variable is the longitudinal load factor
defined in Eq. 1. Instead of flight path speed (inertial speed) the calibrated airspeed
VC AS is primarily used by the control laws, as pilots control energy state by VC AS .
However, to damp turbulent atmospheric influences, inertial speed and airspeed are
complimentary filtered. A hierarchical allocation (daisy chain) of control laws for
engines and spoilers (with additional activation button) shall yield best pilot aware-
ness of the controller behaviour. Feedback of current flightpath angle, energy angle
and power limits are given on primary and secondary displays to the pilot. Addi-
tionally, the inceptor nxLever provides haptic feedback for its neutral position (zero
command). The new ground mode controller is harmonised with the flight mode,
to prevent transients during mode switching. So, the ground mode is fully inte-
grated into the entire controller structure. The ground mode adopts and extends the
flight mode requirements with the considerations described in Sect. 2.2 in a human-
centred design. The nxControl law comprises the control allocation logic, the single
nxControl: Ground Mode for Manual Flight Control Laws … 209

controllers for thrust, spoilers, wheel brakes, and reverser commands as well as the
feedback of load factor n x . The pilot is the higher-level controller that gives inputs
and gets feedback of this control loop via the adapted human-machine interface.

3.1 Control Allocation Logic

Figure 1 shows the control law architecture of the nxController. The control allocation
logic distributes the control error signal to the specific control laws. The hierarchical
structure of the flight mode is extended with logics that activate and deactivate the

1st PI controller 2nd PI controller


ʃ ʃ
1

KT T1T T2T 1 THRcom


Li dump 0 0 Engine
0
>1 dynamics
SPL
= THR controller IDLE REVcom N1, REV
0
Stop &
nx,com nx,err >1 dummy
dummy
BRK
- = Aircraft
0 dummy
1st PI controller 2nd PI controller dynamics
REV 1 dummy
= ʃ ʃ
0
1 1 SPLcom Spoiler
KS T1S T2S 1
dynamics
IDLE 0 0 0
0
SPL
=
N1
0
Spoiler < &
button nx,IDLE
SPL controller
V
>
VTaxi
&
<
0 Conditional PI controller Wheel
0.1 1 brake
1 1 BRKcom
KB TB 0
dynamics
0 0 0 BRK

ʃ 1

0 0
GMDE REVmax = Stop
REVcom >1
=
REVmin
0
BRK controller
&
IDLE
= PI controller
THRcom
ʃ
1
KR TR 1

0 0
0 0

REV controller
Reverse
lever &

V
> .
VRev,min H
1
V
.
V
1 dummy
Complementary
g filter
dummy .
Vk

Fig. 1 Control law architecture with control allocation logic and the individual control laws for
forward thrust, spoilers, wheel brakes, and thrust reverser
210 K. Schreiter et al.

control elements wheel brakes and thrust reverser on ground. As in flight, the thrust
controller is active as long as the spoilers (SPL) are fully retracted (except for lift
dump), wheel brakes (BRK) are released (except at full stop) and thrust reverser
(REV) is deactivated. Spoiler controller is active if fan rotation speed (N1) is com-
manded to idle and pilots allowed spoiler use by moving the spoiler switch at the
nxLever. When the aircraft is on ground (flag ground mode GMDE) and faster than
taxi speed, the spoilers are not controlled but fully extended for lift dump if the pilots
command deceleration. Otherwise, a positive command represents cancellation of
deceleration phase and therefore ground spoilers are retracted. Wheel brakes are
controlled if the aircraft is on ground (GMDE) and N1 is commanded to idle. If the
aircraft is slower than 0.5 knots and the command value is below zero (stop flag),
wheel brakes are activated with a constant deflection to prevent unintended rolling.
The use of thrust reverser is only allowed on ground and above the minimum thrust
reverser speed. If engines are in idle and the pilots engage the reverser lever at the
inceptor, the thrust reverser controller is active.
This allocation logic supports all phases of a turn-around and also all phase tran-
sitions, e.g., from flight to landing or take-off to rejected take-off. In addition, the
alignment to the given flight procedures allows for mental awareness of the pilots.
The separation of the actuation elements also allows for separate controller designs.

3.2 Controller Design

The design of the thrust (THR) and spoiler (SPL) controller is described in [14].
The controllers for wheel brakes and thrust reverser were designed with the same
requirements and the same process. The structures of the control laws and the pre-
liminary controller gains were developed with linear models and given requirements
(see below). Subsequently, the controller gains were optimised using a nonlinear
simulation model and additional requirements for time response of load factor n x .
The linear models for wheel brake and thrust reverse behaviour were derived from
time signals of a highly sophisticated nonlinear simulation. The step responses of the
load factor induced by reverser or wheel brake inputs were analysed and modelled
by linear transfer functions. A simple but sufficient approximation of the response
behaviour is given by first order lag elements for both control elements:

kBRK
Fn x ,BRK = , (4)
(τBRK s + 1)
kREV
Fn x ,REV = . (5)
(τREV s + 1)

The gains k and time lags τ depend on aircraft weight and configuration.
As for the flight mode, the main requirement for the controller design is steady
state accuracy. For the systems given by (4) and (5), a PI controller with the controller
transfer function FC
nxControl: Ground Mode for Manual Flight Control Laws … 211

TC s + 1
FC = K C (6)
s
is sufficient and leads to the closed loop transfer function FC L

k KC TC s + 1
FC L = . (7)
τ 1 k KC
s 2 + (k K C TC + 1) s +
τ   τ 
 
2ζ ωn ωn2

Equation (7) shows that the controller influences both zeroes and poles of the closed
control loop. The controller gains can be calculated by setting damping ratio ζ and
natural frequency ωn and therefore the poles. To avoid all-pass behaviour, the con-
troller gain TC must be positive. Additionally, overshooting actuation signals after
step inputs should be avoided. Therefore, the product |K C TC | needs to be lower than
the reciprocal system gain 1/|k|. These two demands limit the pole placements, e.g.,
by minimum and maximum natural frequency depending on damping ratio:

1 1
ωn,min = < ωn < = ωn,max (8)
2ζ TC ζ TC

These limitations in the frequency domain were the basis for the time response design
of the closed loop system. This was performed with the software tool MOPS (Multi-
Objective Parameter Synthesis) of the German Aerospace Centre [9]. The described
linear model as well as the sophisticated nonlinear model were implemented to gen-
erate time responses to predefined step inputs. Requirements for damping ratio, rise
time, overshoot, time delay margin, actuation signal damping, and steady state error
were defined as so called bad/good criteria. Depending on aircraft configuration and
weight, sets of controller gains for wheel brakes and thrust reverser were calculated.
The described controller design regards the control element dynamics separately.
As wheel brakes and thrust reverser act in the same direction, a distribution function
for the actuation signals is necessary. The distribution function can be freely selected
respecting given limitations, e.g., using less reverser to reduce noise emissions. The
designed controller architecture shown in Fig. 1 respects two cases, braking on the
runway with or without thrust reverser. If the pilots do not activate thrust reverser at
the inceptor device, the main actuation elements are the wheel brakes with the given
PI controller. If the pilots activate thrust reverser, wheel brakes become supportive
elements and the thrust reverser becomes the main control element. Therefore, the
integrative part of the wheel brake controller is cut off as the thrust reverse controller
takes over the integrative behaviour. If the thrust reverser reaches maximum deflec-
tion, the integrator of the wheel brake controller is switched on again to achieve the
commanded value by the pilot. Possible noise restrictions can be respected by lower
maximum deflections for thrust reverse controller (not depicted). For emergency
brake, e.g., at rejected take-off, the brake and reverser controllers are bypassed with
full deflection commands (not depicted).
212 K. Schreiter et al.

Load Factor nx (Total Energy Angle), Degree Load Factor n x (Total Energy Angle), Degree
5 5
0 nx,com nx 0 nx,com nx
-5 -5
-10 -10
-15 -15
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
True Airspeed, Knots True Airspeed, Knots
100 100
50 50
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
GMDE GMDE
1 1
0.5 0.5
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Forward Thrust Command Forward Thrust Command
1 1
0.5 0.5
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Spoiler Command Spoiler Command
1 1
0.5 0.5
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Wheel Brake Command Wheel Brake Command
1 1
0.5 0.5
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Thrust Reverser Command Thrust Reverser Command
1 1
0.5 0.5
0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Time, Seconds Time, Seconds

Fig. 2 Longitudinal load factor, speed, and actuation signals by nxController during a simulated
manual landing with (left) and without (right) thrust reverser activation

Figure 2 shows the result of this controller design for two manually flown landing
procedures, one with thrust reverser allowed (left) and one without thrust reverser
(right). In both cases the initial command value for longitudinal load factor (in the
form of total energy angle) of approx. −7.5◦ after touch down with landing speed of
108 knots was reduced after around 15 s to approx. −13◦ . Independent of wheel brake
and thrust reverser, forward thrust command is set to its minimum. Additionally, the
spoiler command is set to its maximum as the spoilers are used for lift dump until the
aircraft reaches taxi speed of 20 knots. In the left figure, it can be seen that the reverser
command gradually rises with time until it reaches the maximum deflection. At this
point the wheel brake controller takes over the integrative behaviour and rises the
wheel brake command. After around 19 s the thrust reverser is switched off because
the aircraft reached 50 knots minimum thrust reverser speed. This disturbance is
balanced by the wheel brakes. The right figure shows that the wheel brakes are the
only control element and the command for thrust reverser is zero. Both cases show
an accurate longitudinal load factor response and therefore a similar speed reduction
and duration of the procedure.

3.3 Human-Machine Interface

The human-machine interface includes visual outputs and a manual inceptor. The
HMI for the flight mode and its functionality are described in [11, 14]. The visual
feedback is given by additional symbols for flight path and total energy angle at
nxControl: Ground Mode for Manual Flight Control Laws … 213

Fig. 3 HMI of the nxControl system; nxPFD: Total energy angle and flight path angle at artificial
horizon, vertical degree scale for energy angle, command value and power limits next to vertical
speed scale; nxLever: handle with spoiler and thrust reverser switch

the artificial horizon of the primary flight display (nxPFD) as well as an additional
vertical degree scale for energy angle, command value and power limits of engines
and spoilers at the engine display (nxStatus). This concept is also used for the ground
mode with some improvements. Figure 3 shows the new version of the nxPFD at a
situation after touch down and with a commanded energy angle of zero degree. The
nxStatus scale was moved to the nxPFD at the right side of the vertical speed tape to
improve scanning pattern. Also, the colours and symbols were adjusted. A functional
change for the ground mode was necessary for the indication of power limitations.
As the actuation elements differ on ground compared to flight, new symbols had
to be introduced. On ground, power limits for forward thrust, wheel brakes and the
combination of wheel brakes and thrust reverser are shown on the nxStatus scale.
Both upper limits represent the maximum energy angle with (a) maximum thrust
(TO/GA) and (b) flexible thrust (FLX). The first lower limit (c) indicates the energy
angle with idle thrust. Commands below this value are achieved with wheel brakes
limited by the lower limit of the filled tape (d). If the pilot activates thrust reverser
the hollow lower limit (e) can be reached.
The concept for the inceptor of the nxControl flight mode, called nxLever (see
Fig. 3), was adopted for the ground mode. One handle is used to command the target
value for load factor in form of the energy angle although multiple engines are
controlled. By pulling the reverser lever up, the use of reverse thrust by the controller
is activated. The pressure pin on the bottom together with a grooved rail provide
the mechanism for haptic feedback. The pin snaps in on predefined positions. The
notch at the middle position, representing a zero command, is also used in flight
mode. Two more notches are provided for typical deceleration rates on ground. One
notch lies at the command value of −10◦ , as it is equal to the autobrake level low.
214 K. Schreiter et al.

The second notch represents the command value −15◦ that equals the autobrake level
medium on some Airbus aircraft. These positions were freely chosen and should be
adapted for particular aircraft. Commands below the last notch represent emergency
brake mode. In that case, all control elements are fully deflected to minimize energy
angle (thrust reverser only after activation).

4 Study with Pilots

An evaluation study was conducted with seven airline pilots in the fixed-base research
flight simulator SEPHIR (Simulator for Educational Projects and Highly Innovative
Research) at the Chair of Flight Mechanics, Flight Control and Aeroelasticity of
Technische Universität Berlin [15]. The simulator is based on a VFW614 ATD and
the cockpit is equipped with displays and sidestick (including control laws) similar
to an Airbus aircraft.
All pilots were male and in possession of Airbus type ratings (A320: 6, A380: 1).
The pilots’ age ranged between 25 and 64 years with a mean of 39 years (15 years
standard deviation). Their experience varied widely from 330 to 25 000 total flight
hours with a mean of 8 440 h (9 146 h standard deviation). Most of the pilots were
ranked as First Officer, only one participating pilot was Captain.
The pilots were trained with the nxControl system, which took 1.5 h. Afterwards,
the pilots had to fulfil different tasks in different scenarios with the nxControl system.
The test scenarios represent the flight phases on ground: landing, taxi and take-off.
All tasks were described by target values, but the procedure to fulfil the tasks lay
in the hands of the pilots. Thus, the pilot strategy with the new system could be
examined. There was no statistical comparison to the conventional control strategy.
As part of the pilot-centred design, the study aimed at examining the feasibility of the
concept, necessary changes to procedures, and exposing any issues that might have
been disregarded in advance. The focus lay on the questions whether the pilots could
succeed fulfilling their task, whether the pilots were aware of the system functionality,
or whether show stopper for the ground mode concept have to be expected and how
the pilots asses the system.

4.1 Test Scenarios and Interview Questionnaires

The tests were conducted at Frankfurt/Main airport former runway 25R (now 25C)
shown in Fig. 4. The first scenario was a final approach with touch down and decel-
eration to runway exit Ato (Landing Procedure Long). In this scenario the use of
the thrust reverser was not allowed. The second scenario was another final approach
with touchdown and deceleration to the near runway exit Gto that required the use of
thrust reverser. Before these two scenarios, the pilots were requested to calculate the
mean deceleration rate, transformed into a total energy angle, that was necessary for
nxControl: Ground Mode for Manual Flight Control Laws … 215

M
Taxi

H Landing Procedure Short

Take-Off Procedure with Engine Failure Landing Procedure Long

Fig. 4 Section of Frankfurt/Main (EDDF) airport chart [8] with runway 25R

the different runway lengths. The reversed Eq. (3) was provided. The objective was to
build up an awareness about load factor values at landing. Both scenarios started on
glide slope fully configured and with landing speed of 108 knots calibrated airspeed.
After touch down, the pilots had to decelerate to 20 knots taxi speed which led to
mean energy angles of −7◦ in scenario one and −13◦ in scenario two. The mean
values were introduced as reference values but the pilots were free to perform their
preferred braking strategies. After deceleration, the pilots had to leave the runway
and to stop at the holding point of the runway exits.
The third scenario was taxi on ground from runway exit Gto to the new take-off
position near runway entrance H. The pilots were requested to accelerate to 20 knots
taxi speed, stop at the intersection M, and continue taxi to the holding point of runway
entrance H.
Scenario four and five were take-off procedures beginning near runway entrance
H with engine failures. In scenario four, the pilots had to accelerate with TO/GA
thrust setting. The engine failure appeared shortly before 100 knots decision speed
V1 that induced take-off rejection. In scenario five, thrust setting FLX was requested
to accelerate and the engine failure appeared after V1 . Therefore, the pilots had to
continue take-off procedure with reduced climb performance at 120 knots speed. All
scenarios were performed twice and only the second trial was evaluated.
After each scenario, the pilots were asked about their opinion on the nxControl
system. The interview covered the topics procedure, steering strategy, HMI, and
controller/aircraft behaviour. The topic procedure included questions about potential
conflicts with existing procedures as well as safety aspects. Also, the pilots were asked
how they used the system and what kind of steering strategy they had in mind. As the
HMI changes the standard cockpit layout, the questions addressed the scanning and
input behaviour as well. Especially, the use of the added information on the primary
flight display as well as the haptic feedback of the nxLever were investigated. The
last topic addressed controller logic and aircraft response. The pilots were asked if
the aircraft behaviour was as expected, if they could anticipate the actuation element
behaviour, and if they could successfully fulfil their task.

4.2 Results and Discussion

The simulation data of commanded total energy angle, resulting calibrated airspeed,
state of ground mode (GMDE), activation of thrust reverser by the pilots, and the
216 K. Schreiter et al.

Landing Procedure Long Landing Procedure Short


Commanded Load Factor nx (Total Energy Angle), Degree Commanded Load Factor nx (Total Energy Angle), Degree
5 5
0 0
−5 −5
−10 −10
−15 −15
0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200

Calibrated Airspeed, Knots Calibrated Airspeed, Knots


100 100

50 50

0 0
0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200
GMDE GMDE
on on
off off
0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200
Thrust Reverse Activation Thrust Reverse Activation
on on
off off
0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200

Thrust Reverser Command − −, Forward Thrust Command — Thrust Reverser Command − −, Forward Thrust Command —
1 1

0.5 0.5

0 0

0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200

Spoiler Command − −, Wheel Brake Command — Spoiler Command − −, Wheel Brake Command —
1 1

0.5 0.5

0 0

0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200
Distance to Runway Threshold, Meter Distance to Runway Threshold, Meter

Fig. 5 Longitudinal load factor command, speed, and actuation signals by nxController of all
participants and median values (bold grey line) against distance from runway threshold at manual
landing procedures without (left) and with (right) thrust reverser activation by the pilot

commands by the nxController to forward and reverse thrust, spoiler, and wheel
brakes is presented in the Figs. 5, 6 and 7. The results of all participants are shown
in the background and were averaged with the median (bold grey line) that will be
the basis of result description.

4.2.1 Landing Procedures

Figure 5 shows the results of both landing scenarios. The ordinates represent the
distance from runway threshold. At 400 m distance, the touch down area is located.
The runway exits are located at 1 650 and 1 075 m respectively. In both scenarios,
the progress can be divided in the phases flare, first deceleration after touch down,
main deceleration, capture taxi speed, and turn to runway exit.
In scenario one, flare phase was entered by reducing thrust setting. Therefore,
the pilots changed energy angle command from −3◦ to averaged −7◦ , which cor-
responded to the calculated reference value. This caused forward thrust to decrease
to idle (represented by the value 0.15). After touch down, the command value was
further lowered for the first speed reduction. Consequently, the controller increased
the wheel brake command and set the spoilers into lift dump position. At approx.
600 m distance, pilots’ command was returned to nearly −7◦ , which lowered wheel
brake command to the appropriate value. This resulted in constant speed reduction
until taxi speed. Then, the pilots changed their command value gradually to zero
nxControl: Ground Mode for Manual Flight Control Laws … 217

Taxi Procedure
Commanded Load Factor nx (Total Energy Angle), Degree
10

−5

−10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Calibrated Airspeed, Knots
25
20
15
10
5
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
GMDE
on
off
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Thrust Reverse Activation
on
off
0 200 400 600 800 1000 1200 1400 1600 1800 2000

Thrust Reverser Command − −, Forward Thrust Command —


1

0.5

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Spoiler Command − −, Wheel Brake Command —


1

0.5

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Distance on Taxiway, Meter

Fig. 6 Longitudinal load factor command, speed, and actuation signals by nxController of all
participants and median values (bold grey line) against distance on taxiway at taxi procedure

(middle position of the nxLever). This released wheel brakes. As the idle thrust force
of the VFW614 is higher than the rolling friction, braking is necessary to maintain
speed. At turns, friction is rising and therefore energy angle would decrease. But,
the nxController compensated this by rising the thrust setting.
In the second scenario, the flare phase was entered in a similar way, but with a
lower command value for the total energy angle. The pilots changed their command
from −3◦ to averaged −10◦ . This value corresponded to a notch of the nxLever
(haptic feedback). After touch down, the pilots averagely commanded the reference
value of −13◦ for first deceleration and allowed thrust reverser by activation on the
nxLever. Therefore, the wheel brake command increased until thrust reverse became
active. Afterwards, the brake command decreased until thrust reverse reached its
maximum and additional amount of braking became necessary. Around 700 m after
threshold, the pilots reduced energy angle command under the reference value for a
218 K. Schreiter et al.

Take-Off Procedure with Engine Failure before Decision Speed Take-Off Procedure with Engine Failure after Decision Speed
Commanded Load Factor nx (Total Energy Angle), Degree Commanded Load Factor nx (Total Energy Angle), Degree
20 20

10 10

0 0

−10 −10

2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000

Calibrated Airspeed, Knots Calibrated Airspeed, Knots

100 100

50 50

0 0
2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000
GMDE GMDE
on on
off off
2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000
Thrust Reverse Activation Thrust Reverse Activation
on on
off off
2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000
Thrust Reverser Command − −, Forward Thrust Command — Thrust Reverser Command − −, Forward Thrust Command —
1 1

0.5 0.5

0 0

2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000
Spoiler Command − −, Wheel Brake Command — Spoiler Command − −, Wheel Brake Command —
1 1

0.5 0.5

0 0

2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 2400 2600 2800 3000 3200 3400 3600 3800 4000

Distance to Runway Threshold, Meter Distance to Runway Threshold, Meter

Fig. 7 Longitudinal load factor command, speed, and actuation signals by nxController of all
participants and median values (bold grey line) against distance from runway threshold at manual
take-off procedures with engine failure before (left) and after (right) decision speed

stronger speed decrease. Note that commands below −15◦ correspond to emergency
brake mode. As speed reached 50 knots, thrust reverser was automatically deactivated
and therefore wheel brake command increased again. With the beginning turn to the
runway exit, the pilots commanded 0◦ energy angle to hold taxi speed. Therefore,
brakes were released and thrust partially increased to compensate additional friction.
In the interviews, the pilots mostly recalled the steering strategies represented by
the median behaviours. Four of the seven pilots stated that they used the calculated ref-
erence energy angle in favour of constant deceleration. Due to safety considerations,
two pilots chose a higher deceleration rate at first and then reduced the deceleration
to the reference value. One pilot’s strategy was to keep runway occupation time short
with a low deceleration after touch-down and increased it closer to the runway exit.
Some pilots mentioned that they used emergency brake position by mistake as they
tended to use the lever’s end stop position while decelerating. To avoid accidentally
selecting emergency brake, a harder notch prior to emergency brake or secondary
inputs commanding emergency brake should be considered.
Concerning the handling of nxControl, a few pilots mentioned the extended head-
down time to select a specific energy angle with nxStatus scale. In their opinion, this
was very unusual and the priority in this phase should mostly remain on the outside
view. However, one pilot supposed that the lengthened head-down time could be
caused by missing deceleration clues in the fixed-base simulator.
nxControl: Ground Mode for Manual Flight Control Laws … 219

Despite criticism that braking with hands is unusual, there were also comments on
its advantage: The pedals would have one function and the pilots could concentrate
on lateral control.
The pilots were also asked, if nxControl made these tasks more difficult or easier.
For scenario one, six pilots answered with “slightly easier” or “easier”, one pilot
opted for “unchanged”. For scenario two, five pilots stated “slightly easier” and two
pilots stated “slighly more difficult”.

4.2.2 Taxi on Ground

Figure 6 shows the results of taxi scenario. The ordinate represents the distance
covered on taxiway. Between 90 and 170 m and between 170 and 350 m, a left turn
followed by a right turn led to the main taxiway. At 1 000 m distance, intersection M
was located. The turn to runway entrance H began at 1 850 m.
For acceleration at the beginning of the scenario and after the full stop at 1 000 m,
the pilots commanded a positive total energy angle (averaged 4–5◦ , maximum 8◦ ).
Consequently, engine command for forward thrust rose above idle level and brakes
were released. To overcome static friction, the initial thrust command was higher
than necessary for taxiing. Before the first two turns, the pilots accelerated to approx.
13 knots and selected the zero command afterwards to maintain speed while changing
the direction. As already seen at the turns after landing (Sect. 4.2.1), the additional
friction in a turn is compensated by additional thrust. The following acceleration to
taxi speed was again achieved by positive energy angle command – but with a lower
value (averaged approx. 1.5◦ , maximum 3◦ ) – which induced lower brake commands
and higher thrust commands. At the straight and steady segments after acceleration,
the pilots commanded 0◦ energy angle to maintain speed. Therefore, brake commands
increased to compensate idle thrust force. The full stop at 1 000 m was initiated with
a negative energy angle command. In average, the pilots chose −5◦ and in maximum
−10◦ leading to an incrementally rising brake command until full stop was reached.
The same sequence appeared at deceleration before the turn to runway entrance H,
but with a lower absolute command value (averaged approx. −3◦ , minimum −5◦ ).
The pilots reduced taxi speed to approx. 10 knots for the following turn.
The interviews revealed two main strategies while taxiing. One group determined
and used reasonable reference values to accelerate and decelerate, e.g., ±5◦ . The
other group did not utilize specific energy angle values. They used engine noise and
lever position as orientation. Most pilots approved and made use of the middle notch
(0◦ command) due to tactile feedback to comfortably hold taxi speed. However, some
noted that it was unusual at first to taxi with lever not in idle position.
A few pilots disliked the high fan rotation speeds when starting to roll. More-
over, almost every pilot was initially surprised that thrust was increased in a turn to
compensate for additional friction. This controller behaviour was rated differently
by the participating pilots. Some of them thought that this functionality is unnec-
essary or disturbing. Especially the A380 pilot stated that this could be a safety
issue when ground vehicles were in close proximity. Other pilots appreciated this
220 K. Schreiter et al.

behaviour in respect to holding taxi speed in turns and regarding the consistency of
nxControl’s overall concept. To resolve this issue, the commanded thrust could be
restricted to moderate limits at low speeds used while taxiing. The disunity among
pilot’s feedback was mirrored when asked if nxControl made this taxi task easier or
more difficult. Three pilots chose “slightly more difficult” or “more difficult”, one
pilot chose “unchanged”, and three pilots chose “slightly easier”.
As additional comment, it was noted that in some cases of taxi differential thrust
or brake is used, e.g., in turns on slippery runways. This could be addressed by an
additional function of lateral control laws that would balance thrust and brakes.

4.2.3 Take-Off Procedure

Figure 7 shows the results of both take-off scenarios. The ordinate represents the
distance from runway threshold. Both scenarios started at 2 400 m. Engine fail-
ures appeared in both scenarios at 90 knots (around 2 700 m) and 105 knots (around
2 800 m) respectively. At 4 000 m distance, the end of runway is located.
The first take-off scenario was initiated by commanding the total energy angle to
TO/GA setting (depicted as 20◦ ). This caused full-thrust command for acceleration.
After engine failure before V1 , the take-off was rejected by retarding the energy angle
command to the emergency brake position represented by values below −15◦ (only
one participant did not use the emergency mode). Most participants (except one) then
added thrust reverser to safely decelerate and to compensate the yawing moment
of the failed engine. Consequently, the command for forward thrust immediately
decreased to idle followed by increasing commands for thrust reverse, brakes, and
ground spoilers to their full position. By reaching 50 knots speed, thrust reverse was
automatically deactivated.
The beginning of the second take-off scenario was similar to the first. The com-
manded energy angle was at FLX position depicted by the value 18◦ . Therefore, the
command for engines increased to 85%. With the engine failure, the acceleration
rate decreased. As the failure appeared at rotation speed, this emerged to a decreased
climb rate compared to the nominal case (not shown in the figure). After lift-off, the
most pilots chose to maintain the FLX setting and stabilised climb with steady speed.
Some participants added more thrust by setting TO/GA.
The majority of pilots stated at the interview that the take-off procedure using
nxControl corresponded closely to conventional thrust control. Furthermore the
deceleration phase while rejected take-off was very similar to conventional pro-
cedure. The pilots steering strategy was to push the lever in TO/GA or FLX position
and pull it all the way back and enable thrust reverser to decelerate. In the case of
engine failure after V1 , three pilots mentioned that they consciously used flight path
angle and/or energy angle to stabilise their flight and air speed. The pilots, which
did not command emergency brake or thrust reverser, stated that it happened acci-
dentally. This may be caused by their lack of practice since some company policies
only allow captains to taxi and perform take-off decisions.
nxControl: Ground Mode for Manual Flight Control Laws … 221

Two minor conflicts with current procedures were reported. First, regarding the
rejected take-off procedure, thrust reverse should be used until complete stop. This
can be resolved by an adjusted controller logic. Second, it is not possible to increase
fan rotation speed with brakes applied to check for synchronisation of all engines
before take-off. It could be complied with this procedure by using parking brake.
Concerning the usability, two pilots thought that they could perform the first take-
off scenario “easier” or “slightly easier” with nxControl, while the other five pilots
answered “unchanged”. For the second take-off scenario, four pilots stated “slightly
easier” and three pilots chose “unchanged”.

5 Conclusion

To maintain manual flight in future air traffic, supporting systems that allow com-
manding demand values instead of control surface deflections will become neces-
sary. Today’s cockpits provide such functions spawned by fly-by-wire technology.
The nxControl system supplements these functions with a demand control law and
display elements for the longitudinal load factor represented by the total energy
angle. In flight, the system controls thrust and spoiler deflection according to pilot’s
commands and aims at supporting the manual energy management. It relieves the
pilot of controlling the parameters fan rotation speed or lever deflection as proxy for
energy change by means of direct control of the relevant physical parameters.
After validation of the nxControl concept during flight in a previous study, the con-
cept was extended for operation on ground to prevent mode changes at the time critical
phases of take-off and landing as well as to enable a precise but still flexible control of
take-off and landing distances. Therefore, the control logic of the demand controller
was supplemented by the actuation elements wheel brakes and thrust reverser. The
control philosophy and the control law design process was consistently applied to
the new ground mode. In addition, the HMI was improved considering the results of
the previous flight mode study as well as the concept extensions for ground mode.
In a study with seven airline pilots in a research flight simulator, the presented
ground concept was tested at landing, taxi, and take-off. The results showed the
feasibility of the new system. The pilots used the system as it was intended in all
given scenarios after a limited training phase. At two landing scenarios, the pilots
reached the near and far runway exits at taxi speed with goal oriented inputs. The
use of the command value as well as the thrust reverser activation was not rated
as a problem. Taxi on ground was also feasible with the system despite the use of
inceptor and actuation elements slightly differ from the conventional case, e.g., rising
thrust at turns with zero command, taxi with lever in middle position instead of the
rear position, and braking with the lever instead of the pedals. The behaviour of the
participants at a rejected or continued take-off after engine failure was similar to the
standard procedure. Therefore, nxControl did not affect the conventional behaviour
of the pilots in this very fast take-off situation and would not lead to loss of basic
skills. Moreover, some participants mentioned the good stabilisation opportunity
222 K. Schreiter et al.

after take-off with engine failure. As disadvantage, the pilots mentioned a longer
head-down time to set the appropriate command that may have been reinforced by
the missing physical loads of the fixed-base simulator. Also, some procedural details
ought to be adjusted when using nxControl, e.g., using parking brake until initial
engine synchronisation at take-off or introducing energy angle values as reference
in briefing material.
Despite some improvement opportunities, the study showed that the extended
nxControl system can be used on ground and during transition phases. Therefore,
the system can provide support of manual control in all phases of an aircraft turn-
around. Mode changes at the time critical transitions could therefore be avoided.
In addition, the direct manual control of the aircraft reaction is possible and could
provide more precise control with lower workload at future demanding trajectories.

Acknowledgements This work is funded by the DFG (German Research Foundation) under con-
tract LU 1397/3-2, MA 3759/3-2. The authors thank the pilots who participated in the described
studies as well as I. Karakaya, S. Lademann, M. Schaumburg, and S. Sellmann for their support.

References

1. Airbus Industries (2006) A330 flight crew operating manual – 1 system description (Rev. 20),
2 flight preparation (Rev. 19), 3 flight operations (Rev. 19). Toulouse
2. Brockhaus R, Alles W, Luckner R (2011) Flugregelung, 3rd edn. Springer, Berlin
3. Deutsches Institut für Normen (1990) DIN 9300 Teil 1: Begriffe, Größen und Formelzeichen
der Flugmechanik
4. EC (European Commission) (2011) Flightpath 2050, Europe’s vision for aviation. Report of
the High Level Group on Aviation Research
5. FAA (Federal Aviation Administration) (2013) Safety alert for operators, manual flight
operations, SAFO 13002. http://www.faa.gov/other_visit/aviation_industry/airline_operators/
airline_safety/safo/all_safos/media/2013/SAFO13002.pdf
6. Filippone A (2012) Advanced aircraft flight performance. Cambridge University Press
7. International Standard Organisation (ISO) (1988) Flight dynamics - concepts, quantities and
symbols - Part 1: Aircraft motion relative to the air, ISO1151-1
8. Jeppesen Sanderson, JeppView 3.5.2.0 (2006) Airport chart eddf frankfurt/main, germany.
http://eaip.austrocontrol.at/lo/150430/Charts/LOWS/LO_AD_2_LOWS_24-6-6_en.pdf. 27
October 2006
9. Joos H, Bals J, Looye G, Schnepper K, Varga A (2002) A multi-objective optimisation-based
software environment for control systems design. In: IEEE international symposium on com-
puter aided control system design, pp 7–14 (2002)
10. Mensen H (2013) Handbuch der Luftfahrt, 2nd edn. Springer, Berlin. https://doi.org/10.1007/
978-3-642-34402-2
11. Müller S, Schreiter K, Manzey D, Luckner R (2016) nxControl instead of pitch-and-power:
a concept for enhanced manual flight control. CEAS Aeronaut J 107–119 (2016). https://doi.
org/10.1007/s13272-015-0169-9
12. Schreiter K, Müller S, Luckner R, Manzey D (2014) nxControl instead of pitch-and-power:
concept and first results of a control system for manual flight. Deutscher Luft- und Raum-
fahrtkongress, Augsburg 2014. Urn:nbn:de:101:1-201507202447
13. Schreiter K, Müller S, Luckner R, Manzey D (2016) Verbesserung von Flugpräzision und
Arbeitsbeanspruchung bei manuellen RNP-Anflügen durch Vorgaberegler und Anzeigen für
den Energiewinkel (nxControl). Deutscher Luft- und Raumfahrtkongress 2016, Braunschweig
nxControl: Ground Mode for Manual Flight Control Laws … 223

14. Schreiter K, Müller S, Luckner R, Manzey D (2017) Enhancing manual flight precision and
reducing pilot workload by using a new manual control augmentation system for energy angle.
In: AIAA guidance, navigation, and control conference, AIAA science and technology forum
and exposition 2017, Grapevine, Texas
15. TU Berlin, Department of Flight Mechanics, Control and Aeroelasticity: Sephir - simulator
for educational projects and highly innovative research. http://www.fmra.tu-berlin.de/menue/
forschung/ausstattung/sephir/
16. Villaumé F (2009) Brake-to-Vacate system. FAST 44 – flight, airworthiness, support, technol-
ogy 44:17–25. ISSN 1293-5476
Helicopter Pilot Model for Pitch Attitude
Tracking Task

Milan Vrdoljak, Franz Viertler, Manfred Hajek and Matthias Heller

1 Introduction

Aircraft and rotorcraft present examples of complex man-machine-interface what


has been recognized from the development of the flight control system and since
then a numerous descriptions of this interface were dedicated to the human part, a
mathematical description of the pilot. With rising demand on improvement of flight
safety and accuracy of manual pilot tasks for modern highly augmented aircraft or
rotorcraft, development of flight control system requires consideration of the whole
pilot-vehicle system (PVS) including a reliable description of the human part. Pilot
can be seen as a feedback loop closure element of the PVS, strongly influencing the
dynamic properties of the whole PVS.
A great number of human sensing mechanisms available for the detection of the
aircraft states and their perturbations, with psychological elements such as stress,
motivation or fear, and along with a human ability to quickly adapt and learn in

M. Vrdoljak (B)
Faculty of Mechanical Engineering and Naval Architecture, Department of Aeronautical
Engineering, University of Zagreb, I. Lucica 5, 10002 Zagreb, Croatia
e-mail: milan.vrdoljak@fsb.hr
F. Viertler · M. Hajek
Department of Mechanical Engineering, Institute of Helicopter Technology (HT),
Technical University of Munich (TUM), Boltzmannstr. 15, 85748 Garching, Germany
e-mail: viertler@tum.de
M. Hajek
e-mail: hajek@tum.de
M. Heller
Department of Mechanical Engineering, Institute of Flight System Dynamics (FSD),
Technical University of Munich (TUM), Boltzmannstr. 15, 85748 Garching, Germany
e-mail: matthias.heller@tum.de

© Springer International Publishing AG 2018 225


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_12
226 M. Vrdoljak et al.

variable conditions, makes the task of pilot behavior modeling a difficult task. Fur-
thermore, an individual pilot characteristics and specificity of the required flight task
on given flight dynamics of particular aircraft/rotorcraft puts additional demand on
pilot modeling techniques. Due to these reasons definition of a general model of the
pilot is not available, yet they are usually restricted to a specific task applicable only
for a particular aircraft/rotorcraft.
Applications of the pilot model in general would be for the task of design of
optimal PVS capable of achieving a required level of flying qualities (FQ) and han-
dling qualities (HQ). Specifically it could be applied for pilot’s display design, flight
control system design, improvement of agreements between simulator-based and
flight-based estimation of HQ, PVS HQ assessment, analysis of aircraft’s pilot cou-
pling phenomena (PIO) and for the development of criteria for FQ and HQ.
In this paper emphasis is on the application of classical control theory for devel-
opment of helicopter pilot model.

1.1 Subject Overview

In classical control theory approach a pilot model is described with transfer functions
as a dynamic control element, a more or less complex block in the PVS. The most
widely used pilot model is the McRuer’s crossover model which described PVS as
an integrator around the crossover frequency [24, 25]. The idea is that the pilot will
adapt to the aircraft dynamics and the PVS dynamics will remain unchanged, at
least in the crossover frequency range. Values of the model parameters depend on
the aircraft dynamics, but also on the task. Examples of helicopter application of
crossover pilot model with time delay for hover task are given for multi-loop case in
[4, 26] and for single-loop case in [34].
A second group of pilot models, proposed by Hess [10, 11], can be described
as a structural model with a proprioceptive feedback. This sensory model depends
on the adaptability of the pilot to the altering flight dynamics around the crossover
frequency. Experimental data are required for the adaptation of this model. Limita-
tions of Hess’ structural model [5–7] are: resonant peek of modeled closed loop PVS
is considerably lower in high frequency range; assumption of constant crossover
frequency for different dynamic configurations; visual model described only with
gain coefficient. Structural model has been applied for the description of helicopter
pilot model by Hess for cross-coupling [20] and near-Earth flight [17] based on the
pilot-in-the-loop simulations and flight tests.
There are different rotorcraft applications of structural model: for assessment
of handling qualities [12, 15]; for the design and evaluation of cockpit display for
hovering task [18]; for the analysis of simulator fidelity assessment [19, 35]; for flight
task of lateral reposition of the helicopter with a slung load [8, 21] with correlated
multi-loop pilot model (inner loop with roll angle feedback and outer loop with lateral
position feedback). Additional analysis of multi-loop of helicopter in hover task is
presented in [13–15]. Multi-axis pilot model for pitch and roll is used in analysis of
Helicopter Pilot Model for Pitch Attitude Tracking Task 227

the ability of the refined adaptive pilot model to accommodate significant and sudden
variations in the elements of the flight control system [16].
Another application of structural model for helicopter in hover based on linearized
helicopter flight dynamics with stabilization feedback is presented in [29]. Pilot
model was implemented for four control channels (longitudinal and lateral cyclic,
collective and collective for the tail rotor), although they have been defined as single
axis models, one independent from another. Flight task given in [29] is preservation
of rotorcraft’s constant attitude with zero vertical velocity in hover in single axis
turbulent atmosphere.
Vorst [32] also used structured helicopter pilot model for description of ADS–33
maneuvers [2]. A separate pilot model was made for each control channel, without
evidence of their interaction. A time delay block from the structural pilot model used
in this study was removed, due to the stability problems.
A comprehensive review of pilot modeling can be found in [23, 33].

1.2 Efremov’s Modification of the Structural Model

A modification of Hess’ structural model (Fig. 1) was proposed by Efremov [5, 7]


introducing more complex visual system model, a nonlinear pilot’s remnant, mod-
ifications of inner loop and adjustment rules. This quasi-linear modified structural
model provides better agreement with experimental results in comparison to original
structural model, especially at higher frequencies for aircraft configurations.
Focus of this research will be on the application of the Efremov’s pilot model,
that has been proven for aircraft configuration [5, 7, 30], for the helicopter pilot
modeling. This pilot model has a defined and easy to interpret structure with emphasis
on display system while the vestibular system less important. A flight simulator with
high fidelity visual system and a fixed base presents a good set-up for the experiments
with emphasis on visual model.

Fig. 1 PVS model structure of the Efremov’s modification of the structural model
228 M. Vrdoljak et al.

2 Analytical Analysis

In the analytical analysis of the pilot model a linearized helicopter flight dynamics
model of the helicopter was applied in the off-line PVS simulations.

2.1 Helicopter Model and Flight Task

The rotorcraft type chosen for the analysis is a BO-105 helicopter, a twin-turbine
light weight utility helicopter. A flight task chosen for this analysis is a pitch tracking
in forward flight. The helicopter model has a high level of coupling between the
longitudinal and lateral motion what complicates the pilot model. A simple tracking
task for pitch attitude is chosen for the case of forward speed where the coupling is
of less significance. Analysis is limited to longitudinal motion only and longitudinal
command pilot model presents a single channel and single loop problem.
The flight model for BO-105 is available in literature [9, 27, 28] and for this
work a reference is a linearized model of the 8th order with coupled longitudinal and
lateral dynamics from [28]. In this analysis a manipulator system was not considered,
and since the helicopter BO-105 doesn’t have a stability augmentation system, the
vehicle system is presented only with flight dynamics model of interest.
Flight task of interest is a pitch tracking at forward flight with airspeed of 80 kt,
specifically it concentrates on a relation of the pitch attitude of the rotorcraft in
reference to the longitudinal cyclic control for the given pitch command. For this
flight task a reduced model from [28] with decoupled dynamics is applied describing
just longitudinal rotorcraft dynamics at forward speed of 80 kt

46.82s 2 + 39.33s + 1.034


YθΘ1s (s) = , (1)
s 4 + 4.854s 3 + 2.609s 2 + 0.3468s + 0.2426

what presents a transfer function from longitudinal cyclic θ1s to the pitch angle Θ.

2.2 Pilot Model Structure

For the structure of the pilot model an Efremov’s pilot-vehicle-system model [5, 7]
is used (Fig. 1). Elements of the given structure have defined transfer functions as
following.
Visual system has transfer function

TL s + 1
Yvis (s) = K p · , (2)
TI s + 1
Helicopter Pilot Model for Pitch Attitude Tracking Task 229

with lead time constant TL = K ė


Ke
and visual block gain K P = K e . Neuromuscular
block is described as

ω2N M
Y N M (s) = , (3)
s2 + 2ζ N M ω N M s + ω2N M

with given values of ζ N M = 0.1 and ω N M = 12 rad/s according to [5]. Proprioceptive


feedback is
s2
Y P F (s) = K P F . (4)
TP2 F s 2 + 2ζ P F TP F s + 1

Central time delay, with τ0 = 0.2 s, is described with Padé approximation, 4th order
[30]

s 4 − 100s 3 + 4500s 2 − 1.05 · 105 s + 1.05 · 106


Yt0 (s) = e−τ0 ·s = . (5)
s 4 + 100s 3 + 4500s 2 + 1.05 · 105 s + 1.05 · 106

Following the given transfer functions ((2)–(5)) a pilot model would be

Y N M (s)
Y P (s) = Yvis (s) · Yt0 (s) · . (6)
1 + Y P F (s)

2.3 Pilot-Vehicle System

With given transfer functions for the pilot (6) and for the vehicle dynamics (1) an
open loop transfer function for PVS would be:

Y N M (s)
Y O L (s) = Yvis (s) · Yt0 (s) · · Y Θ (s) . (7)
1 + Y P F (s) θ1s

Closed loop for the PVS system is

Y O L (s)
YC L (s) = . (8)
1 + Y O L (s)

Unknown parameters in the given structure can be described as a parameter set:


 
K P TL T I K P F ζ P F T P F . (9)

A fixed values are chosen for parameters of damping from proprioceptive feedback
ζ P F = 1 and lag time constant from visual block TI = 0.01s according to [30], so
parameters of the pilot model left to be determined are: K P , TL , K P F and TP F .
230 M. Vrdoljak et al.

For the helicopter model (1), with unstable phugoid mode, a determination of the
parameter set (9) was conducted following the optimization algorithm [30] based on
minimum variance of the error
⎡ ⎤
σ2 σ2  ∞
1 + TL2 σė,i2 + σ e02 |YC L| 2
⎢ ⎥
σe2 = σe,i
2
· ⎣1 + 1  ∞ e,i e,i
· dω⎦ . (10)
K ∗ − 0 |Y CL | 2 dω
0 1 + ω 2T 2
L
ni

Variances correlated to the input signal, of error σe,i


2
and error rate σė,i
2
are defined as
 2
1 ∞
1
σe,i =
1 + Y Sii dω ,
2
2π −∞ OL
 ∞ 2
1 2
1
σė,i
2
= ω Sii dω ,
2π −∞ 1 + YO L

while residual remnant is neglected, σe02


= 0. Factor of the level of remnant spectral

density K ni is defined with the fraction f i of the pilot’s attention for the task

0.01
K ni∗ = .
fi

Standardized form of the power spectral density of the input forcing function is
chosen as
K i2
Sii = 2 .
ω2 + ωi2

For the given flight task following parameter values were chosen: f i = 23 , K i = 2
and ωi = 0.5 rad/s.
Optimization algorithm includes additional constrains, regarding the open loop
M gain and φ phase margin, applied in order to ensure stable result for the PVS
model:
M > 1 and φ > 10◦ . (11)

For the flight task of forward pitch tracking task at 80 kt, with helicopter dynam-
ics (1) with open loop transfer function (7) for PVS, a parameter set resulting from
the optimization algorithm with minimal variance of the error is:
   
K P TL T I K P F ζ P F T P F = 1.04 0.268 0.01 40.0 1.0 3.59 .
(12)
Results for the PVS with parameter set (12) are presented on Figs. 2, 3, 4 and in
Table 1.
Helicopter Pilot Model for Pitch Attitude Tracking Task 231

Fig. 2 Bode plots for the PVS elements: aircraft dynamics YC and open loop Y O L

Fig. 3 Bode plots for the PVS elements: pilot model Y P and closed loop YC L

Fig. 4 Nichols plot for the


open loop of the PVS, Y O L
232 M. Vrdoljak et al.

Table 1 Characteristics of Gain margin: M = 3.57 dB Gain margin frequency:


the open loop PVS, Y O L ω M = 6.54 rad/s
Phase margin: φ = 39.6◦ Crossover frequency:
ωc = 3.26 rad/s
Variance σe2 = 0.155

3 Experimental Analysis

In addition to the analytical pilot model obtained from the optimization algorithm and
used in off-line simulations, an objective of the research was to conduct a nonlinear
on-line simulations, an experiment at flight simulator with pilot-in-the-loop.

3.1 Experiment Setup

Experiment was conducted on a research helicopter flight simulator The Rotorcraft


Simulation Environment – ROSIE [31] at the Institute of Helicopter Technology at
Technical University of Munich.
ROSIE is a pilot-in-the-loop flight simulator with fixed base and high fidelity
visual system. It utilizes GENSIM, a nonlinear flight model with the blade aero-
dynamic model based on blade element/momentum theory with simple analytical
downwash models and rigid blades [3, 22]. The research environment enables modi-
fications in the simulation and also access to the output data. More detailed description
of ROSIE can be found in [31].
A flight task for the pilot-in-the-loop on-line simulations is task of pitch tracking
in forward flight at 80 kt. Experiment is designed to record the pitch attitude of the
rotorcraft as a response to the pilot’s control following (tracking) the commanded
pitch. Commanded pitch is given as a time variant signal at the pilot’s primary flight
display in the form of a magenta bar (Fig. 5), to be followed by the rotorcraft’s pitch.
Three different signals for the excitation function were prepared, according to [1]:
two variants of the series of step/ramp inputs (with different amplitudes; signals 1
and 2) and a sum of sinusoids (with different frequencies and amplitudes; signal 3).
Experiment on the ROSIE (Fig. 6) was performed in two sessions and thirteen sim-
ulation flights were recorded in total. Three different simulation flights recordings
for each signal of pitch command were used in this analysis. These nine simula-
tion flights were flown by two pilots, experienced simulator pilots. They were well
prepared for the experiment, with the detailed introduction to the flight task, each
performing a trial run. Flight model applied for the experiment was coupled in lateral
and longitudinal motion what can be noticed by the small value of roll angle at Fig. 5.
Because of this, pilots were instructed to neglect the lateral motion (pedal and lateral
stick inputs), after they have achieved trimmed horizontal flight at 80 kt, and to focus
only on the commanded pitch given at the primary flight display.
Helicopter Pilot Model for Pitch Attitude Tracking Task 233

Fig. 5 Pitch command (magenta bar) added in the primary flight display

Fig. 6 Experiment flight in ROSIE

3.2 Experiment Results

The recordings of the rotorcraft’s pitch attitude following a pilot response, as well as
the pitch command signals 1, 2 and 3 are presented on Figs. 7, 8 and 9, respectively.
It is of interest to compare responses of the analytical pilot presented in previous
section, with results from on-line simulations with pilot-in-the-loop. It should be
noted that the PVS with analytical pilot model is based on the simplified helicopter
model which doesn’t include the definition of the pilot controls (pilot manipulator).
Furthermore, simulations of linear analytical pilot model where conducted in time
domain with remnant assumed to be zero. Comparisons of the time domain record-
ings from pilot-in-the-loop simulations, presented as a zone that covers all flight
234 M. Vrdoljak et al.

0
[deg]

pitch command
−5 pitch, run 1
pitch, run 2
pitch, run 3

0 20 40 60 80 100 120 140 160


t [s]

Fig. 7 Measurements of the helicopter’s pitch attitude from simulation flights with pitch command
signal 1

5
[deg]

pitch command
−5 pitch, run 1
pitch, run 2
pitch, run 3

0 20 40 60 80 100 120 140 160


t [s]

Fig. 8 Measurements of the helicopter’s pitch attitude from simulation flights with pitch command
signal 2
Helicopter Pilot Model for Pitch Attitude Tracking Task 235

5
[deg]

pitch command
−5 pitch, run 1
pitch, run 2
pitch, run 3

0 20 40 60 80 100 120 140 160


t [s]

Fig. 9 Measurements of the helicopter’s pitch attitude from simulation flights with pitch command
signal 3

Fig. 10 Time domain comparison between all measured helicopter’s pitch attitudes and response
of the PVS with analytical pilot model for pitch command signal 1

measurements for each signal, with rotorcraft’s pitch response of analytical pilot
model (6) with optimal parameter set (12) in PVS model (8) are given on Figs. 10,
11 and 12. For a better illustration of this results comparison for signal 3 is given on
Fig. 13 for the selected time range.
236 M. Vrdoljak et al.

Fig. 11 Time domain comparison between all measured helicopter’s pitch attitudes and response
of the PVS with analytical pilot model for pitch command signal 2

Fig. 12 Time domain comparison between all measured helicopter’s pitch attitudes and response
of the PVS with analytical pilot model for pitch command signal 3

4 Conclusion

Efremov’s modification of structural model was applied for the helicopter pilot model
for the pitch attitude tracking task. In the pilot-vehicle system approach a reduced
model of BO-105 helicopter with decoupled dynamics was analyzed, with analytical
approach for the estimation of the pilot model applicability. The resulting analytical
pilot-vehicle system with minimal variance of the error, including the given constrain,
Helicopter Pilot Model for Pitch Attitude Tracking Task 237

Fig. 13 Time domain


comparison between all
measured helicopter’s pitch
attitudes and response of the
PVS with analytical pilot
model for pitch command
signal 3: a detailed view
from Fig. 12 for the selected
time range

presents a stable PVS with higher value of the crossover frequency. Its stability gain
and phase margins could be improved but this is still left to be investigated, possibly
with some additional adaptations in the pilot model structure.
Experiments were conducted on the Rotorcraft Simulation Environment
(ROSIE) at the Institute for Helicopter Technology, TUM, a pilot-in-the-loop flight
simulator with fixed base and high fidelity visual system. Helicopter’s pitch responses
from the pilot’s longitudinal cyclic control are recorded as an output to the input of
pitch command displayed at the primary flight display. Three different input signals
of pitch command were investigated with two pilots.
The PVS with analytical pilot model, not including model of the pilot manipulator
and remnant, was analyzed with the same input pitch command signals used in
experiments. From the time domain comparison of the experiment results with the
results of the PVS with the analytical pilot model (especially for pitch command
signal 3, Figs. 12 and 13) it can be concluded that the described pilot model with
minimal error variance presents an acceptable model for the description of the pilot-
vehicle system of the helicopter for the pitch tracking task.

Acknowledgements This research was supported by Deutscher Akademischer Austauschdienst –


DAAD.

References

1. Anon (1997) Flying qualities of piloted aircraft. Technical report MIL-HDBK-1797B, U.S.
Department of Defense
2. Anon (2000) Aeronautical design standard performance specification, handling qualities
requirements for military rotorcraft. Technical report ADS-33E-PRF, United States Army Avi-
ation and Missile Command Engineering Directorate, Redstone Arsenal, AL, USA
238 M. Vrdoljak et al.

3. Dietz M, Maucher C, Schimke D (2010) Addressing today’s aeromechanic questions by indus-


trial answers. In: American helicopter society specialists’ conference on aeromechanics. San
Francisco
4. Dillow JD (1971) The ‘paper-pilot’-a digital computer program to predict pilot rating for the
hover task. Technical report, DTIC Document
5. Efremov A, Tjaglik M (2011) The development of perspective displays for highly precise
tracking tasks. Advances in aerospace guidance, navigation and control. Springer, Berlin, pp
163–174
6. Efremov AV, Ogloblin AV (2006) Progress in pilot-in-the loop investigations for flying qual-
ities prediction and evaluation. In: 25th international congress of the aeronautical sciences -
ICAS2006
7. Efremov AV, Alexandrov VV, Koshelenko AV, Tjaglik MS, Tzyan TV (2010) Development of
pilot modeling and its application to manual control tasks. In: 27th international congress of
the aeronautical sciences - ICAS2010
8. Heffley R (2001) Application of classical-control techniques for computer modeling and sim-
ulation of helicopter pilotage tasks. In: 57th annual forum of American helicopter society
9. Heffley RK, Jewell WF, Lehman JM, Van Winkle RA (1979) A compilation and analysis of
helicopter handling qualities data. NASA Contract Rep 3144:375
10. Hess RA (1980) Structural model of the adaptive human pilot. J Guid Control Dyn 3(5):416–
423
11. Hess RA (1982) Prediction of aircraft handling qualities using analytical models of the human
pilot. Technical report TR-84233, NASA
12. Hess RA (1989) Theory for aircraft handling qualities based upon a structural pilot model. J
Guid Control Dyn 12(6):792–797
13. Hess RA (2006) Simplified approach for modelling pilot pursuit control behaviour in multi-loop
flight control tasks. Proc Inst Mech Eng Part G: J Aerosp Eng 220(2):85–102
14. Hess RA (2008) Obtaining multi-loop pursuit-control pilot models from computer simulation.
Proc Inst Mech Eng Part G: J Aerosp Eng 222(G2):189–199
15. Hess RA (2009) Analytical assessment of performance, handling qualities, and added dynamics
in rotorcraft flight control. IEEE Trans Syst Man Cybern Part A: Syst Hum 39(1):262–271
16. Hess RA (2016) Modeling human pilot adaptation to flight control anomalies and changing
task demands. J Guid Control Dyn 39(3):655–666
17. Hess RA, Chan K (1988) Preview control pilot model for near-earth maneuvering helicopter
flight. J Guid Control Dyn 11(2):146–152
18. Hess RA, Gorder PJ (1990) Design and evaluation of a cockpit display for hovering flight. J
Guid Control Dyn 13(3):450–457
19. Hess RA, Siwakosit W (2001) Assessment of flight simulator fidelity in multiaxis tasks includ-
ing visual cue quality. J Aircr 38(4):607–614
20. Hess RA, Watson DC (1986) Cross coupling in pilot-vehicle systems. J Guid Control Dyn
9(6):614–620
21. Hess RA, Zeyada Y, Heffley RK (2002) Modeling and simulation for helicopter task analysis.
J Am Helicopter Soc 47(4):243–252
22. Johnson W (2012) A history of rotorcraft comprehensive analyses. Technical report TP-2012-
216012, NASA
23. Lone M, Cooke A (2014) Review of pilot models used in aircraft flight dynamics. Aerosp Sci
Technol 34:55–74
24. McRuer D, Jex H (1967) A review of quasi-linear pilot models. IEEE Trans Hum Factors
Electron HFE-8(3):231–249
25. McRuer D, Graham D, Krendel E (1965) Human pilot dynamics in compensatory systems: the-
ory, models and experiments with controlled element and forcing function variations. Technical
report AFFDL-TR-65-15, Air Force Flight Dynamics Laboratory
26. Miller DP, Vinje EW (1968) Fixed-base flight simulator studies of VTOL aircraft handling
qualities in hovering and low-speed flight. No. 67-152 in AFFDL-TR. Defense Technical
Information Center
Helicopter Pilot Model for Pitch Attitude Tracking Task 239

27. Ockier CJ (1998) Evaluation of the ADS-33D handling qualities criteria using the Bo 105
helicopter. DLR, Dt. Zentrum für Luft-und Raumfahrt e. V., Abt. Unternehmensorganisation
und-information
28. Padfield GD (2007) Helicopter flight dynamics. Blackwell Publishing, Oxford
29. Perhinschi MG (1998) A study of helicopter handling qualities in turbulence using a human
pilot structural model. In: AIAA-4148, atmospheric flight mechanics conference, Boston
30. Schuck F (2014) Ein integriertes auslegungskonzept zur sicherstellung exzellenter handling
qualities für kleinflugzeuge. Ph.D. thesis, München, Technische Universität München, Disser-
tation
31. Viertler F, Hajek M (2015) Requirements and design challenges in rotorcraft flight simula-
tions for research applications. In: Proceedings of AIAA SciTech-modeling and simulation
technologies conference
32. Vorst J (2001) A pilot model for helicopter manoeuvres. Technical report NLR-TP-98448,
National Aerospace Laboratory NLR
33. Yilmaz D, Jump M, Linghai L, Jones M (2011) State-of-the-art pilot model for RPC prediction
report. Technical report ACPO-GA-2010-266073 D2.3, TU Delft
34. Yilmaz D, Pavel M, Jones M, Jump M, Lu L (2012) Identification of pilot control behavior
during possible rotorcraft pilot coupling events. In: Proceedings of 38th European rotorcraft
forum. Amsterdam
35. Zeyada Y, Hess RA (2000) Modeling human pilot cue utilization with applications to simulator
fidelity assessment. J Aircr 37(4):588–597
UAV Control System Reconfiguration Under
Physical Constrains

Marcin Żugaj

1 Introduction

The number of Unmanned Aerial Systems (UAS) operations increase, but safety of
such systems still appears not to be sufficient to integrate with the civil airspace.
Various institutions around the world are now focusing on the safety aspects of the
UAS usage [7–9, 12]. The researches have shown that safety should be taken into
account from the beginning of the development process and that it does not have
to significantly increase the cost of the system. It is well known that the safety of a
complex system depends on the safety of its elements. However, there are ways to
assure that the failure of a single element or subsystem will not lead to an accident.
The UAV aircraft safety depends on several unpredictable factors, such as an
aircraft system failure or hostile actions both inside and outside the aircraft. When
failures occur, the most important action is to maintain the aircraft controllability.
That is why the flight control system reliability has significant impact on the aircraft
safety. A typical control system of fixed wing aircraft uses several control surfaces
to control the aircraft, and some of them work in pairs and are located on opposite
sides of the longitudinal plane of symmetry of the aircraft (Fig. 1). This configura-
tion is easy to handle but its redundancy is highly limited. The redundancy can be
increased by splitting all paired control surfaces and controlling them individually.
This feature of the control system is referred to as “structural redundancy” [2, 18]
and results in increasing the flexibility of aircraft handling in the event of fault. The
general approach to design a fault tolerant flight control system is to use the hard-
ware redundancy (multiplication of control system equipment, e.g. actuators, power
sources, wires, etc.). Unfortunately, redundant hardware increases the control sys-
tem complexity, its weight, volume and cost [14]. That is why reconfiguration of the

M. Żugaj (B)
The Institute of Aeronautics and Applied Mechanics, Warsaw University
of Technology, 00-665 Warszawa ul. Nowowiejska 24, Warszawa, Poland
e-mail: zugaj@meil.pw.edu.pl

© Springer International Publishing AG 2018 241


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_13
242 M. Żugaj

Fig. 1 A UAV airframe configuration

flight control system seems to be a better solution for improving a small fixed wing
UAV reliability.
The Reconfiguration of the flight control system [6, 16] makes the control system
fault tolerant and ensure the aircraft controllability in the event of fault. The process
of flight control system reconfiguration is aimed to take advantage of the working
part of the control system in the case of partial system failure. The reconfiguration
is usually performed by software algorithms designed to use the remaining control
surfaces to compensate the failure effects and modify the strategy of control surfaces
handling [2]. The reconfiguration may be performed on three levels. Level 1 performs
two actions: sets control surfaces to compensate the failure effects and modifies the
strategy of control surfaces handling [2]. In level 2, an attempt is made to rearrange
the autopilot control laws to adopt to different aircraft performances [1, 4]. In level
3, on the basis of a prediction about the future situation, refinement of the flight
trajectory is performed [10, 15].
The efficiency of the control system reconfiguration depends on the control system
structural redundancy (number and positions of the control surfaces), the occurred
failure and the performed manoeuvre. Despite the fact that the decoupled control
system is more reliable for the reconfiguration process and can be supported by a
broad scope of reconfiguration schemes (e.g. Model Reference Adaptive Control
[17], Control Allocation [11, 13], Multiple Model Control [3]), the reconfiguration
efficiency would be limited by the control surfaces deflection constrains. Moreover, it
could be reduced by the cross-coupling effects which result from individual deflection
of decoupled control surfaces.
The aim of the present work is to analyse the efficiency of the UAV control system
reconfiguration. A six-degree-of-freedom nonlinear model with decoupled control
surfaces is employed to determine an optimal control allocation within the bounds
of the control surfaces deflection in case of typical control system failures, such as
control surface jam [5, 13]. Various algorithms for optimal control allocation are
investigated to assess the influence of control system redundancy and constrains on
reconfiguration efficiency. The analysis of susceptibility of the control system to
UAV Control System Reconfiguration Under Physical Constrains 243

the reconfiguration and the simulation tests of control system reconfiguration are
performed for various single and multiple control surfaces failures for a broad scope
of input signals.

2 Fixed-Wing UAV Dynamic Model

The UAV airplane of 2.6 m wingspan, 1.25 m length, 3 kg max. mass, and 10 N max.
thrust is modelled in this study, Fig. 1. The control forces and moments are produced
by two ailerons and two flaps, placed on the wings trailing edges, two elevators
placed on the horizontal stabilizer trailing edge, and a rudder located on the trailing
edge of the fin. The aircraft is propelled by one electric motor with a constant pitch
tracking propeller placed in front of the fuselage.
The elevators, ailerons and flaps normally work in pairs and operation of each
pair is controlled by a single control input, but each control surface is treated as an
individual control input in reconfigurable configuration. The presented UAV dynamic
model contains the models of control loads (forces and moments generated by control
surfaces) of each individual control surface, and can be widely used for analysis and
validation of control methods, including control system reconfiguration.
The aircraft equations of motion are derived in the body coordinate system
Ob xb yb z b (Fig. 2) fixed to the airplane fuselage. The centre of the system is placed at
the UAV centre of gravity. The Ob xb axis lies in the plane of aircraft symmetry and
is directed forward. The Ob yb axis is perpendicular to the aircraft plane of symmetry
and points right, the Ob z b axis points “down”.
The aircraft translations and attitude angles are calculated in the inertial coordinate
system On xn yn z n ; the centre of this system is placed at an arbitrary point on the Earth
surface. The On z n axis is along the vector of gravity acceleration, and points down.
The On xn z n plane is horizontal, tangent to the Earth surface, the On xn axis points to
the North and the On yn axis to the East.
The vector y = [xn yn z n    ]T defines the position and attitude of the aircraft
(Fig. 2). It is composed of the vector of the aircraft position rn = [xn yn z n ]T in the

Fig. 2 The coordinate


systems overview
244 M. Żugaj

ground system of coordinates On xn yn z n and the roll , pitch  and yaw  angles
describing the aircraft attitude. The airplane state vector x = [v ω]T is composed of
linear velocity components v = [U V W ]T and the angular rate ω = [P Q R]T in
the body system of coordinates Ob xb yb z b .
The vectors of the aircraft state, position and attitude are related by a kinematic
equation:
ẏ = Tx (1)

The transformation matrix T is composed of two matrices: TV relating to velocities


and T − to rates:  
TV 0
T= (2)
0 T

where:
⎡ ⎤
cos · cos sin · sin · cos − cos · sin cos · sin · cos + sin · sin
TV = ⎣ cos · sin sin · sin · sin + cos · cos cos · sin · sin − sin · cos ⎦
−sin sin · cos cos · cos
(3)

⎡ ⎤
1 sin · tan cos · tan
T = ⎣ 0 cos -sin ⎦ (4)
0 sin · sec cos · sec

The airplane equations of motion have been obtained by summing up forces and
moments from inertia, gravity fG , aerodynamic f A , and propulsion fT loads [19]:

A ẋ + B (x) x = f A (x, y, δ) + fG (y) + fT (x, y, δT ) (5)

The matrix A describes the inertia properties of the aircraft, and the matrix B (x) =
 (x) A [19]:
⎡ ⎤ ⎡ ⎤
m 0 0 0 0 0 0 −R Q 0 0 0
⎢0 m 0 0 0 0 ⎥ ⎢ R 0 −P 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 0 ⎥ ⎢ 0 ⎥
A=⎢
0 m 0 ⎥ ,  (x) = ⎢ −Q P 0 0 0 ⎥ (6)
⎢0 0 0 Ix ⎥
0 −Ix z ⎥ ⎢ 0 −W V 0 −R Q ⎥
⎢ ⎢ ⎥
⎣0 0 0 0 Iy 0 ⎦ ⎣ W 0 −U R 0 −P ⎦
0 0 0 −Ix z 0 Iz −V U 0 −Q P 0

where mis the aircraft mass, Ix , I y , Iz are moments of inertia, and Ix z is the product
of inertia.
The aerodynamic loads vector has the form:

T
fA (x, y,δ) = fa (x, y, δ) ma (x, y,δ) , (7)
UAV Control System Reconfiguration Under Physical Constrains 245

where δ is the control vector, consisting of control surfaces deflections:



T
δ = δ A R δ AL δ E R δ E L δ R δ F R δ F L , (8)

where: δ A R —right aileron deflection angle, δ AL —left aileron deflection angle,


δ E R —right elevator deflection angle, δ E L —left elevator deflection angle, δ F R —right
flap deflection angle, δ F L —left flap deflection angle, and δ R —rudder deflection
angle.
The aerodynamic force and moment vectors can be expressed as:


fa = fas + FAδ = fas + X Aδ Y Aδ Z Aδ , (9)

and


ma = mas + MAδ = mas + L Aδ M Aδ N Aδ , (10)

where: fas and mas are the vectors of the polar component and stability derivatives,
and FAδ and MAδ are the vectors of control derivatives.

3 Reconfiguration of the Flight Control System

3.1 Reconfiguration Algorithms Definitions

A typical configuration of the control system of a fixed-wing aircraft consists of pri-


mary control surfaces, which are used to control the aircraft attitude, and secondary
control surfaces, used to modify the aircraft flight performances during take-off,
landing and transition flight conditions. One of the typical control system failures is
the control surface jam, and the reconfigurable flight control system should be able
to ensure the controllability of the aircraft in the event of such a failure. The control-
lability of the aircraft with failed control system depends on the type of the failure
and the flight conditions. Generally, it can be defined as an ability of the aircraft to
perform manoeuvres which assure as safe a flight as possible. The reconfigurable
flight control system should provide the ability to return the aircraft to the airport,
land on off-airport location or event perform controlled crash out of the urban area,
depending on the magnitude of the failure. For the purposes of a substantial number
of control surfaces there is not only one configuration of control surfaces deflection,
which enables to control the aircraft after failure. The success of the reconfiguration
process depends on the number of operating control surfaces and their deflection
limits (bounds). The reconfigured control system provides good controllability per-
formances of the aircraft if the two following conditions are fulfilled: the reconfigured
control system produces the same control force and moment vectors as the fault-free
system, and the smallest deflections of the working control surfaces are achieved.
246 M. Żugaj

Fig. 3 Structure of the


control system
reconfiguration method

The first condition guarantees the same modules, directions and senses of the control
load vectors, and the second condition allows to avoid the control system bounds
problem. In fact, the reconfiguration is an optimal control allocation issue where the
appropriate control loads are produced within the system bounds.
There is a broad scope of methods of reconfiguration of the flight control system
but their efficiencies depend on the structural redundancy and the bounds of the
control system. The control system susceptibility to the reconfiguration should be
analysed at first, before the appropriate reconfiguration scheme is applied and the
nonlinear aircraft dynamic model with decoupled control surfaces is a good tool to
perform such an analysis.
The Fig. 3 presents a typical structure of the reconfiguration of the flight control
system via control allocation scheme. The input signals δ0 vector comes from pilot
or autopilot, and contains demanded signals for the ailerons δ0 A , the elevators δ0E
and the rudder δ0R in fault-free conditions. The reconfiguration algorithm distributes
these signals to all working primary and secondary control surfaces (denoted as vector
δf ) in the case of a control system failure. The reconfiguration method analysed in
this study uses the optimization algorithm to calculate the working control surfaces
deflections to obtain, in an ideal case, the same control loads as in an undamaged
system with respect to the control system bounds. The reconfiguration algorithm
equation has the form:
min f δ f for fAcon = 0, (11)
δf

where f δ f is the objective function, fAcon is the vector of constrains function, and the
control system bounds are expressed by:

δf min < δf < δf max , (12)

where δf min and δf max are the vectors of maximum and minimum range of working
control surfaces deflection (bounds).
The four algorithms have been investigated during this study to analyse the influ-
ence of the control system redundancy configuration and the constrain functions on
the reconfiguration efficiency. The first one (denoted as case1) employs primary and
secondary control surfaces without decoupling them. The reconfigured control signal
is distributed to rudder δfR , and ailerons δfA , elevators δfE and flaps δfF which still
work in pairs:

δf = δfA δfE δfR δfF , (13)
UAV Control System Reconfiguration Under Physical Constrains 247

the objective function minimizes the sum of squares of these control surfaces deflec-
tion:
fδ f = δfi2 , (14)
i

and the constrain function compares the components of control moment vector, and
y and z components of control force vector of referenced control system with the
failed one:
  y,z   y,z
FAδ_ref − FAδ_fail FAδ x, y,δ0 − FAδ (x, y, {δf , υ})
fAcon = = , (15)
MAδ_ref − MAδ_fail MAδ x, y,δ0 − MAδ (x, y, {δf , υ})

where υ is the vector of jammed control surfaces deflection and:




δ0 = δ0 A δ0E δ0R . (16)

This form of the optimization procedure allows to obtain the same control force
and moment vectors as for undamaged aircraft with the lowest deflections of the
working control surfaces. The objective function minimizes the control surfaces
deflection and the constrain function provides equality of control force and moment
vectors components, which guarantees the same modules, directions and senses of
the control loads vectors of the reference (fault-free) system and the failed system
after reconfiguration. The x component of the force vector is omitted because it is
assumed that this component can be compensated by the thrust force.
The second algorithm (case2) employs the decoupled primary and secondary con-
trol surfaces and the working control surfaces vector δf consisting of 7 − m elements,
where m is the number of failed control surfaces:


δf = δ f 1 δ f 2 · · · δ f 7−m . (17)

These two algorithms are used to analyse the influence of the control system redun-
dancy on reconfiguration efficiency. The next two algorithms are formulated to assess
the form of constrains function. These algorithms are based on the second one, and
the only constrain function is modified. It is assumed that the variation in z force
can be compensated by the change of the angle of attack. That is why equality of z
component of the control force is removed from the constrain function in the case3:
   
FAδ_ref − FAδ_fail Y Aδ x, y,δ0 − Y Aδ (x, y, {δf , υ})
fAcon = = . (18)
MAδ_ref − MAδ_fail MAδ x, y,δ0 − MAδ (x, y, {δf , υ})

The algorithm case4 is used to assess the reconfiguration efficiency without the
control force equality, and the only control moment is considered in the constrain
function:
 
fAcon = MAδ_ref − MAδ_fail = MAδ x, y,δ0 − MAδ (x, y, {δf , υ}) . (19)
248 M. Żugaj

3.2 Reconfiguration Algorithm Performances Analysis

The analysis of the susceptibility of the control system to the reconfiguration and the
simulation tests of control system reconfiguration using proposed algorithms have
been performed using the nonlinear simulation model of fixed-wing UAV. The tests
of control system reconfigurability for single failures of right aileron, left elevator
and the rudder, and multiple failures of all possible combinations of these three
control surfaces include the reconfigured control system response to the sequence of
combinations of input signals δ0 within a range same as in a normal flight, i.e. ±5◦
for roll δ0 A and pitch δ0E controls, and ±3◦ for yaw δ0R control with an interval of
1◦ . The control surface jam at deflection in a range of ±5◦ for ailerons and elevators,
and ±3◦ for rudder have been chosen as the control system failures. The failed
surfaces deflection has remained constant during each particular test. All tests have
been performed for cruise flight conditions (velocity of 16 m/s and altitude 30 m),
and constant mass properties (mass of 2.22 kg, CG of 32% of MAC).
The reconfiguration efficiency has been assessed by analysis of the working con-
trol surfaces deflection and comparison of the control force and moment vectors
produced by the failed control system with those produced by the fault-free one.
The differences between the fault-free and failed control loads vectors have been
expressed by the force and moment vectors deviation angles ϕ f and ϕm (Fig. 4), and
module differences defined as:
       
FAδ = 1 −  FAδ_fail / FAδ_ref , M Aδ = 1 − MAδ_fail /MAδ_ref , (20)

where fail and ref sub-indices relate to the control load vectors of the reconfigured
and faultless control systems respectively. The working control surfaces deflection,
the deviation angles, and the module differences have been subjected to statistical
analysis. Furthermore, the raw data of ϕ f and ϕm angles are classified in three classes:
Low - the value does not exceed 30◦ ; Medium - the value is between 30 and 90◦ ; High
- the value is between 90 and 180◦ . Similarly, the values of control surfaces deflection
are classified in four classes: Low - the value does not exceed 1/3 of the maximum

Fig. 4 The control loads


deviation angles definition
UAV Control System Reconfiguration Under Physical Constrains 249

100 100
case1 case1
80 80
case2 case2
60 60
case3 case3
40 40
case4 case4
20 20
0 0
Low Med. High Low Med. High

Fig. 5 Proportion of control force vector deviation angle in each class for single (left) and double
(right) failure

Table 1 The statistics of control force vector deviation angle (in degrees) for single and double
failure
Single failure Double failure
Statistic Case1 Case2 Case3 Case4 Case1 Case2 Case3 Case4
Mean 11.5 6.7 56.8 63.5 17.9 18.6 99.6 89.6
Std. 25.9 24.0 65.0 66.3 29.5 36.3 68.9 68.6
Max 180 180 180 180 180 180 180 180
Min 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

deflection; Medium - the value is between 1/3 and 2/3 of the maximum deflection;
High - the value is between 2/3 of the maximum deflection and full deflection; Max
- the control surface reaches its full deflection.
The algorithms of case1 and case2 provide lower control force deviation than
in the cases 3 and 4 (Fig. 5), which is obvious, since the equality of force vector
components has been removed from the constrains equations of Algorithms 3 and 4.
Most samples of ϕ f values for cases 1 and 2 fall in the Low region. The samples for
cases 3 and 4 fall mainly in the regions Low and High, and the samples distribution
depends on the failure type: there are more samples in the Low region for single
failures, and in High for multiple failures. The mean values of deviation angle are
not higher than 12◦ and the standard deviations do not exceed 26◦ in case1 and case2,
while the means and standard deviations for case3 and 4 are much higher (Table 1).
The lowest values of moment deviation ϕm are achieved by the algorithms of case3
and case4, since almost 100% of samples fall in the class Low (Fig. 6). The ϕm values
of cases 1 and 2 are distributed in all classes, and the number of the samples in the
Low class does not exceed 75%, regardless of the failure type. The deviation angles
means and standard deviations are close to zero for cases 3 and 4, and are significantly
higher for cases 1 and 2 (Table 2). The maximum value of deviation angle reaches
180◦ (reverse action) in some cases. It means that the reconfiguration algorithm can
lead to the loss of control for some combinations of failure and input signals. The
most control surfaces deflections are located in the Low region for both single and
250 M. Żugaj

100 100
case1 case1
80 80
case2 case2
60 60
case3 case3
40 40
case4 case4
20 20
0 0
Low Med. High Low Med. High

Fig. 6 Proportion of control vector moment deviation angle in each class for single (left) and double
(right) failure

Table 2 The statistics of control moment vector deviation angle (in degrees) for single and double
failures
Single failure Double failure
Statistic case1 case2 case3 case4 case1 case2 case3 case4
Mean 24.0 23.4 0.03 0.04 52.7 1.9 0.6 0.3
Std. 34.0 39.3 0.6 0.9 56.2 52.5 2.0 1.1
Max 180 180 43.0 43.0 179.7 179.7 20.0 21.5
Min 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

100 100
case1 case1
80 80
case2 case2
60 60
case3 case3
40 40
case4 case4
20 20
0 0
Low Med. High Max Low Med. High Max

Fig. 7 Proportion of control surfaces deflections in each class for single (left) and double (right)
failures

multiple failures, although the samples distribution changes according to the failure
type (Fig. 7). The proportion of surfaces which reach the full deflection is not higher
than 10%. The analysis of module differences FAδ and M Aδ prove the above
conclusions. The algorithms case3 and case4 provide lower module differences in
control moment vector and higher in control force vector than cases 1 and 3. This
analysis is not presented in the paper due to its complexity, especially for reference
vectors modules close to zero.
UAV Control System Reconfiguration Under Physical Constrains 251

40 Roll control Pitch control Yaw control

Amplitude [%]
20

0
0 1 2 3 4
-20 time [s]

-40

Fig. 8 The simulated input signals as a percentage of their maximum values

The simulation tests of the algorithms have been performed for simple aircraft
manoeuvres. The simulated dataset is a collection of input signals δ0 and aircraft state
variables scattered by 7 failure configuration (the same as above) and 7 configura-
tion of simulated input signals, i.e. multi-impulse signal 3211 for pitch δ0E , double
impulses for roll δ0 A and yaw δ0R , and all combinations of these three signals (Fig. 8).
The results of the analysis show that the algorithm case2 provides good performances
for single failure with both single and multiple input signals excitation. The dam-
aged aircraft response is similar to or the same as the response of undamaged aircraft
in most test cases (Fig. 9). However, the algorithm causes an unstable behaviour of
the aircraft in some case, especially for multiple failure (Fig. 10). The algorithms
case3 and case4 provide moderate reconfiguration performances for almost all fail-
ures and input signals configurations (Fig. 9). What is significant, these algorithms
work properly in the case of multiple failures (Fig. 10). The algorithm case1 pro-
vides pure reconfiguration performances, and the aircraft response is often similar to
the response of damaged aircraft without reconfiguration (Fig. 9), which proves that
decoupled control system guarantees better reconfiguration performances.
The detailed analysis indicates that the aileron jam is the most problematic fail-
ure for reconfiguration in the case of all algorithms. It results from its position and
size. The aileron produces high aerodynamic force and moment increment, which
are difficult to compensate by the rest of the control surfaces. This problem could be
partially avoided by redesigning the flaps driving system. The negative flap deflection
would help to compensate the lift force increment caused by non symmetric aileron
deflection. The redesign of the fin could also improve the efficiency of the reconfig-
uration. The tests show that the weak efficiency of the reconfigured control system
results from the fairly high roll moment produced by the rudder, which compounds
the aileron jam reconfiguration.
The algorithm of case3 and case4 provide only moderate reconfiguration perfor-
mances for single failure and fairly good (better than in case1 and case2) for multiple
failure, which results from the reduction of constrains equations. The tests show that
both force vector and moment vector constrains can only provide the optimal solution,
but are too stiff for multiple failures reconfiguration. Therefore modification of the
constrains can enable the reconfiguration of the flight control system in presence of
252 M. Żugaj

No fail. case1 case3


40 No rec. case2 case4
30
Θ [deg] 20
10
0
-10 0 1 2 3 4

-20 time [s]


-30
No fail. case1 case3

5 No rec. case2 case4

-5 0 1 2 3 4
time [s]
Φ [deg]

-15

-25

-35

-45

No fail. case1 case3


20
No rec. case2 case4
0
0 1 2 3 4
time [s]
Ψ [deg]

-20

-40

-60

-80

Fig. 9 An example of aircraft response for rudder jam at 3◦ , and pitch and roll control signals

more serious (e.g. multi-surface) failures with lower controllability performances.


The tests analysis also shows that the constrains stiffness problem can be avoided by
violating the optimisation bounds. The reconfiguration algorithm finds the optimal
solutions within the bounds (Eq. 12), but if the solution which satisfy the constrains
cannot be found it can give unexpected results. The reconfiguration algorithm which
allows to violate the bounds finds the optimal solution regardless of the bounds if it
cannot be found in the bounds at first. It means that it may provide the control sig-
nals δf , the values of which may exceed the physical bounds, but the control surfaces
cannot exceed them. The tests indicate that the reconfiguration performances are
UAV Control System Reconfiguration Under Physical Constrains 253

No fail. case1 case3


No rec. case2 case4
80

Θ [deg] 40

0
0 1 2 3 4
time [s]
-40

-80

No fail. case1 case3


No rec. case2 case4
0
0 1 2 3 4
time [s]
-50
Φ [deg]

-100

-150

No fail. case1 case3


No rec. case2 case4
0
0 1 2 3 4
time [s]
-100
Ψ [deg]

-200

-300

Fig. 10 An example of aircraft response for left aileron and right elevator jam at 5◦ both, and pitch
control signal

better for algorithms where bounds violation applies despite the fact that the physi-
cal bounds of control surfaces deflection still exist. It results from the control signals
distribution around the bounds, which is reflected by a more feasible constrains solu-
tion. If the signals exceed the bounds but, by a small amount, the algorithm finds
the constrained minimum, the control force and moment vectors deviations caused
by physical bounds are not as significant as in the case of an inviolate algorithm.
The Fig. 11 presents an example of comparison of the algorithm of case2 with and
without the bounds violation. The algorithm without bounds violation cannot find a
feasible solution within the bounds, which leads to unexpected results and unstable
254 M. Żugaj

No fail. No violation
No rec. Violation
80

40
Θ [deg]

0
0 1 2 3 time [s] 4
-40

-80

50 No fail. No violation
No rec. Violation
0
0 1 2 3 time [s] 4
Φ [deg]

-50

-100

-150
No fail. No violation
No rec. Violation
-10
0 1 2 3 4
-60 time [s]
Ψ [deg]

-110
-160
-210
-260

Fig. 11 An example of comparison of algorithm case2 with and without bounds violation, aircraft
response for left aileron and right elevator jam at 5◦ both, and pitch control signal

behaviour of the aircraft. The algorithm with bounds violation finds the constrained
minimum out of the bounds. It provides the flaps deflections out of the limits, but
the flap driving system is not able to reach these positions. As can be seen in Fig. 11,
the response of the aircraft is fairly good despite the fact that the flaps do not reach
the demanded position. It results from a better estimation of other working control
surfaces deflection. The test results analysis indicates that the negative flaps deflec-
tion is the most common bounds violation, which confirms that the redesign of the
flap driving system will improve the reconfiguration efficiency.
UAV Control System Reconfiguration Under Physical Constrains 255

4 Conclusions

The influence of UAV control system redundancy and constrains on control system
reconfiguration performances are investigated and the nonlinear model-based control
allocation method for control system reconfiguration in the event of control surface
jam is presented in the paper. The six degrees of freedom UAV aircraft model is used
to assess and demonstrate the proposed control system reconfiguration algorithms
performances.
The simulation tests results proved the influence of control system redundancy and
constrains on reconfiguration performances. The analysis of control system suscep-
tibility to reconfiguration also shows the reconfiguration limitations due to airframe
configuration.

References

1. Bodson M (2003) Reconfigurable nonlinear autopilot. J Guid Control Dyn 26(5):719–727


2. Burcham B (1997) Landing safely when flight controls fail. Aerosp Am 35(10):20–23
3. Fekri S, Gu D, Postlethwaite I (2009) Lateral imbalance detection on a UAV based on multiple
models. In: Joint 48th IEEE conference on decision and control and 28th Chinese control
conference, pp 8488–8493. Shanghai, 16–18 Dec 2009
4. Hass RA, Wells, SR (2003) Sliding mode control applied to reconfigurable flight control design.
J Guid Control Dyn 26(3):452–461
5. Kozak V, Shevchuk D, Kravchuk N, Vasilyev M (2013) Intelligent active fault tolerant control
system and flight safety. In: Th 7-th IEEE international conference on intelligent data acquisition
and advanced computing systems: technology and application, pp 912–916. Berlin, 12–14 Sept
2013
6. Kozak V, Shevchuk D, Vovk V, Levchenko M (2014) Automation of aircraft control Rrecon-
figuration in flight special situations. In: Proceedings of IEEE 3rd international conference on
methods and systems of navigation and motion control, pp 14–17. Kyiv (2014)
7. Lin X, Fulton NL, Horn MET (2014) Quantification of high level safety criteria for civil
unmanned aircraft systems. In: Proceedings of aerospace conference, big sky, pp 1–13
8. Loh R, Bian Y, Roe T (2009) UAVs in civil airspace: safety requirements. IEEE Aerosp Electron
Syst Maga 24(January):5–17
9. Lyu Y, Pan Q, Zhao C, Zhang Y, Hu J (2016) Vision-based UAV collision avoidance with 2D
dynamic safety envelope. IEEE Aerosp Electron Syst Mag 31(7):16–26
10. Masui K, Tomita H, Komatsu Y (2004) Flight experiment on flight path optimization algorithm
for aircraft in trouble. In: Proceedings of 24th international conference of the aeronautical
science
11. Naskar A, Patra S, Sen S (2015) Reconfigurable direct allocation for multiple actuator failures.
IEEE Trans Control Syst Technol 23(1):397–405
12. Nussberger A, Grabner H, Van Gool L (2016) Robust aerial object tracking from an airborne
platform. IEEE Aerosp Electron Syst Mag 31(7):38–46
13. Peni T, Vanek B, Szabo Z, Bokor J (2014) Supervisory fault tolerant control of the NASA
AirStar aircraft. Am Control Conf Portland 4–6(June):666–671
14. Steinberg M (2005) A historical overview of research in reconfigurable flight control. Proc Inst
Mech Eng Part G: J Aerosp Eng 219:263–275
15. Suzuki S, Kawamura F, Masui K (2004) Autonomous flight control and guidance system of
accident aircraft. In: Proceedings of 24th international conference of the aeronautical science
256 M. Żugaj

16. Yang Z, Hua S, Hongzhuan Q, Chengrui L (2012) Control reconfigurability of nonlinear system
based on control redundancy. In: 10th IEEE international conference on industrial informatics
(INDIN), pp 815–820. Beijing
17. Zhang Y, Jiang J (2003) Bibliographical review on reconfigurable fault tolerant control systems.
In: 5th IFAC symposium on fault detection, supervision and safety for technical processes.
Washington, D.C
18. Ż ugaj M, Bibik P, Jacewicz M (2016) UAV aircraft model for control system failures analysis.
J Theor Appl Mech 54(4): 1405–14015
19. Ż ugaj M, Narkiewicz J (2009) Autopilot for reconfigurable flight control system. ASCE J
Aerosp Eng 22(1): 78–84
Part II
Estimation and Navigation
Identification of a Cessna Citation II Model
Based on Flight Test Data

M.A. van den Hoek, C.C. de Visser and D.M. Pool

1 Introduction

As a result of new aviation legislation, from 2019 on all air-carrier pilots are obliged
to go through flight simulator-based stall recovery training [1]. This implies that
all aircraft dynamics models driving flight simulators must be updated to include
accurate pre-stall, stall, and post-stall dynamics. For this reason, the Control and
Simulation (C&S) division at Delft University of Technology has set up a task force
to develop a new methodology for high-fidelity aircraft stall behavior modeling and
simulation. This research effort is twofold. First, the current simulation framework is
to be updated together with the implementation of a newly developed aerodynamic
model identified from flight test data obtained from TU Delft’s Cessna Citation II
laboratory aircraft. As second part of this research effort, an aerodynamic stall model
for the Citation II based on flight test data will be developed and integrated into the
upgraded simulation framework.
At this moment, the C&S division uses a simulation model of the Cessna Cita-
tion I, known as the Delft University Aircraft Simulation Model and Analysis Tool
(DASMAT) [2] as its baseline model. This simulation model was designed as stan-
dard Flight CAD package for control and design purposes within the C&S division
of the Faculty of Aerospace Engineering, Delft University of Technology. DASMAT
is known for a number of deficiencies; most significant is its unsatisfactory match
with the current laboratory aircraft’s flight dynamics. The Citation I model is the
result of a flight test program executed for the development of mathematical models

M.A. van den Hoek (B) · C.C. de Visser · D.M. Pool


Delft University of Technology, Delft, The Netherlands
e-mail: m.vandenhoek@onderzoeksraad.nl
C.C. de Visser
e-mail: c.c.devisser@tudelft.nl
D.M. Pool
e-mail: d.m.pool@tudelft.nl

© Springer International Publishing AG 2018 259


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_14
260 M.A. van den Hoek et al.

describing the aerodynamic forces and moments, engine performance characteris-


tics, flight control systems and landing gear [3]. Earlier attempts at modeling the
longitudinal forces and the pitching moment were made by Oliveira et al. [4]. How-
ever, parameter estimates were only obtained for a limited range of flight conditions
with a very limited set of measurements. In addition, in the same paper the authors
state that dependency of the aerodynamic model from higher order terms, such as α 2
and terms relating to the time rate of change of the aerodynamic angles, such as α̇,
are yet to be investigated [4].
The estimation of stability and control derivatives from flight test data can be
formulated in the framework of maximum likelihood estimation [5]. In the context
of this paper, aerodynamic model identification will be done by employing the Two-
Step Method (TSM) [6, 7]. This method effectively decomposes the non-linear model
identification problem into a non-linear flight path reconstruction problem and linear
parameter estimation problem, allowing the use of linear parameter estimation tech-
niques for a significant simplification of the latter procedure. This decomposition
can be made under certain conditions concerning accuracy and type of the in-flight
measurements [7]. New to the TSM approach is the use of the Unscented Kalman
Filter [8] (UKF) for an improved accuracy and robustness of the state estimates in
the first step.

2 Research Vehicle and Flight Data

In this paper, aerodynamic model identification was applied to the Cessna Citation II
laboratory aircraft, model 550, which is co-owned by Delft University of Technology
(DUT) and the Netherlands Aerospace Center (NLR). The Citation II is a twin-jet
business aircraft, with two Pratt & Whitney JT15D-4 turbofan engines. Both engines
deliver a maximum thrust of 11.1 kN each. The maximum operating speed is limited
at 198.6 m/s, with a maximum operating altitude of approximately 13 km [9].

2.1 Instrumentation

The Flight Test Instrumentation System (FTIS) of the Cessna Citation II laboratory
aircraft combines the sensor measurements from a variety of instrumentation systems.
An overview of the instrumentation systems is highlighted in Fig. 1a and summarized
in Table 1.
Identification of a Cessna Citation II Model Based on Flight Test Data 261

Inflight test display


Experimental FBW computer
Rudder synchro Static port Yb
Elevator synchro
Air data boom
Alpha and beta vane
IMU
Pitot probe
Temperature probe
Magneto meter Alpha vane
Autopilot computer
Gyrosyn compass
Flight director
Aileron synchro ADC
AHRS

Xb Zb

(a) Overview of the aircraft instrumen- (b) Definition of the aircraft body-fixed
tation systems reference frame or coordinate system Fb

Fig. 1 Aircraft instrumentation systems and reference frame

Table 1 Flight Test Instrumentation System sensor variables used in flight path reconstruction with
their associated 1σ standard deviation and sampling rate Fs
Parameter Unit 1σ std Fs [Hz] *Source
Altitude m 3.00×10−1 16.67 Static probe
X b -axis rotation rad 8.70×10−3 50 Sperry vertical gyro
Yb -axis rotation rad 8.70×10−3 50 Sperry vertical gyro
Z b -axis rotation rad 1.73×10−2 10 Gyrosyn compass
True airspeed m/s 1.00×10−1 16.67 Pitot-static probe
Angle of attack rad 3.50×10−3 1000 Alpha vane
Angle of sideslip rad 3.50×10−3 1000 Beta vane
X b -axis linear acceleration m/s2 2.00×10−2 100 Q-Flex 3100 accelerometer
Yb -axis linear acceleration m/s2 2.00×10−2 100 Q-Flex 3100 accelerometer
Z b -axis linear acceleration m/s2 3.00×10−2 100 Q-Flex 3100 accelerometer
X b -axis rotational rate rad/s 2.00×10−3 100 LITEF μFORS rate gyro
Yb -axis rotational rate rad/s 2.00×10−3 100 LITEF μFORS rate gyro
Z b -axis rotational rate rad/s 5.00×10−3 100 LITEF μFORS rate gyro
∗ Sampling rate values correspond to the new FTIS. Data obtained from the old FTIS have different

sampling rates

3 Flight Path Reconstruction

In this section, the methodology for the flight path reconstruction procedure is pre-
sented.
262 M.A. van den Hoek et al.

3.1 Kalman Filtering Preliminaries

The set of stochastic differential equations, in the context of aircraft dynamics, can
in general be described by:

ẋ(t) = f [x(t), u(t), t] + G(x(t), t)w(t)


zn (t) = h [x(t), u(t), t] (1)
z(t) = zn (t) + v(t)

where f [·] is the non-linear state transition function and h [·] the non-linear mea-
surement function. The process noise and (output) measurement noise are assumed
to be zero-mean, white and uncorrelated and can be parametrized by:

E {vv } = Q E {ww } = R E {wv } = 0 (2)

where the diagonal elements of the process and measurement noise covariance matri-
ces are composed of the squared standard deviation as given in Table 1. The full
kinematic model is given by combining the differential equations for the flat earth
position, body velocity components and the equations of rotational motion. The
whole set of differential equations is then given by:

ż E = −u sin θ + (v sin φ + w cos φ) cos θ φ̇ = p + q sin φ tan θ + r cos φ tan θ


u̇ = ax − g sin θ − qw + r v θ̇ = q cos φ − r sin φ (3)
v̇ = a y + g cos θ sin φ − r u + pw sin φ cos φ
ψ̇ = +r
ẇ = az + g cos θ cos φ − pv + qu cos θ cos θ

In this set of kinematic equations, the IMU measurements are used as system input.
In order to model the noise characteristics and bias of the IMU signals, these were
modeled as:

axm = ax + λax + wx pm = p + λ p + w p
a ym = a y + λa y + w y qm = q + λq + wq (4)
azm = az + λaz + wz rm = r + λr + wr

where λ indicates the bias of the associated signal and w indicates the process noise
of the subscripted variable.
In the context of this paper, angle of attack and angle of sideslip measurements
were primarily obtained through the use of an intrusive nose boom (see Fig. 1a). To
this end, the set of observation equations was extended by including the equation
for the angle of attack and angle of sideslip as measured by the boom [10] including
the sensor biases [11]. This model contains an unknown fuselage-upwash coefficient
Cαup together with a kinematically induced angle of attack and angle of sideslip, under
Identification of a Cessna Citation II Model Based on Flight Test Data 263

the assumption of a zero vertical wind component and alignment of the boom with
the X b -axis. The complete set of observation equations, or the navigation model, is
given by:

VTASm = u 2 + v2 + w2 + vVTAS
h m = h + vh w (q − λq )xvα
αv = (1 + Cαup ) tan−1 + √ + vα
φm = φ + vφ u u 2 + v2 + w2
θm = θ + vθ (5)
ψm = ψ + vψ v (r − λr )xvβ
β = tan−1 √ −√ + vβ
u +w
2 2 u 2 + v2 + w2

where v is the standard notation for the measurement noise of the subscripted variable
and xv denotes the location of the boom along the X b -axis for the alpha and beta vane.
For use in flight path reconstruction with a Kalman filter, the set of equations
in Eq. (3) was extended with the time derivatives of additional states that require
reconstruction, i.e. sensor biases. Commonly, the state transition function is simply
assumed to be zero since the bias is constant in reality. For increased excitation of
the sensor bias state, the state transition function for the linear accelerations and
fuselage-upwash coefficient was modeled as zero-mean unit-variance random walk
scaled by a factor k, as earlier applied in the work of Mulder et al. [12]:

λ̇ ∼ k · N (0, 1) (6)

The bias state transition function for the rotational rates was assumed to be zero for
its usually very small bias. On balance, the state vector together with the augmented
bias terms is given by:

x = [h u v w φ θ ψ λax λa y λaz λ p λq λr Cαup ] (7)

3.2 Kalman Filtering Procedure

To begin with the formulation of the augmented UKF [8, 13–15], the augmented
state vector and covariance matrix are defined as:
 
x̂a (k) = x̂(k|k) v(k) w(k) (8)
⎡ ⎤
P(k) 0 0
Pa (k) = ⎣ 0 Q 0 ⎦ (9)
0 0 R
264 M.A. van den Hoek et al.

where v and w in the augmented state vector represent the means of the process
and measurement noise; these can therefore be assumed to have zero mean, hence
their values will be zero. The augmented state vector and covariance matrix can then
easily be transformed to the unscented domain by:


X ia (k) = x̂a (k) + (L + λ)Pa (k) i = 1, 2, . . . , L



(10)
X ia (k) = x̂a (k) − (L + λ)Pa (k) i = L + 1, L + 2, . . . , 2L

This set of transformed points, indicated by X a , is referred to as the set of sigma


points. Parameters L and λ are, respectively, the dimensionality of the state vector
and a scaling factor defined as λ = α 2 (L + κ) − L. α is a parameter to reflect the
spread of the sigma points around its mean, state vector x̂, and β is a factor to account
for any prior knowledge. The latter is set to a value of 2 for Gaussian distributions.
κ is an extra scaling factor which is usually set to zero. Subsequently, the weights
for the set of transformed means and covariances are defined as follows:
λ
W0(m) =
L +λ
λ
W0(c) = + (1 − α 2 + β) (11)
L +λ
1
Wi(m) = Wi(c) = i = 1, 2, . . . , 2L
2(L + λ)

From this point, the equations of the UKF become more trivial. Analogously to the
EKF, the state vector which is now expressed as sigma points are propagated through
the system’s dynamics:
tk+1  
X (k + 1|k) = X (k|k) +
a a
f X a,x (k|k), u(k), X a,v (k|k), τ dτ (12)
tk

where X a,x refers to the columns of the sigma points matrix related to the state and
superscript v refers to the sigma points related to the process noise. The one step
ahead state estimation can be calculated by:


2L
x̂ (k + 1|k) = Wi(m) X a (k + 1|k) (13)
i=0

and the one step ahead covariance matrix by:


2L
 
P (k + 1|k) = Wi(c) X ia,x − x̂(k|k) X ia,x − x̂(k|k) (14)
i=0
Identification of a Cessna Citation II Model Based on Flight Test Data 265

Again, similarly to the EKF, the sigma points representing the state vector and
measurement noise are propagated through the measurement equations and subse-
quently the transformed means for the measurements are calculated:
 
Y (k + 1|k) = h X a,x (k + 1|k), X a,w (k + 1|k) (15)

with the transformed measurements given by taking the mean of the transformed
sigma points:

2L
ŷ = Wi(m) Y i (k + 1|k) (16)
i=0

The measurement covariance and measurement-state cross-covariance can be cal-


culated by:


2L
 
Pyy = Wi(c) Y i (k + 1|k) − ŷ(k|k) Y i (k + 1|k) − ŷ(k|k) (17)
i=0


2L
 
Pxy = Wi(c) X ia,x − x̂(k|k) Y i − ŷ(k|k) (18)
i=0

Finally, to complete the definition of the augmented UKF, gain matrix K , cor-
rected state estimation x̂(k + 1|k + 1) and corrected covariance matrix estimation
P(k + 1|k + 1) are expressed as:
−1
K (k + 1) = Pxy Pyy (19)
 
x̂(k + 1|k + 1) = x̂(k + 1|k) + K y(k + 1) − ŷ(k + 1|k) (20)

P(k + 1|k + 1) = P(k + 1|k) − K (k + 1)Pyy K  (k + 1) (21)

For additional numerical stability and guaranteed semi-definite state covariance


matrix, the square-root implementation of the UKF can be used [16]. This type uses
the Cholesky decomposition to address certain numerical advantages in the calcula-
tion of the transformed statistical properties. Further extensions to the UKF, e.g. the
Sigma-Point Kalman Filter [17] and its iterative counterpart [18] were introduced
later. However, these filters populate the whole state-space with sigma points instead
of only a selected optimal range. Therefore, the computational burden of such filters
do not outweigh the advantages and their application is restricted [19].
266 M.A. van den Hoek et al.

4 Aerodynamic Model Identification

4.1 Preliminaries

The six non-dimensional forces and moments can be calculated by:



m ax − λax − Tx
CX = (22)
qS

m a y − λa y
CY = (23)
qS

m ax − λaz
CZ = (24)
qS
 
Ix x Ix z    Izz − I yy 
Cl = ṗ − p − λ p q − λq + ṙ + q − λq (r − λr )
q Sb Ix x Ix x
(25)
 
I yy I x x − Izz  I x z  2 
Cm = q̇ + p − λ p (r − λr ) + p − λ p − (r − λr )2 − MT
q Sc I yy I yy
(26)
 
Izz Ix z   I yy − Ix x  
Cn = ṙ − ṗ − q − λq (r − λr ) + p − λ p q − λq
q Sb Izz Izz
(27)

where λ denotes the bias obtained from the flight path reconstruction procedure for
each of the accelerations and rotational rates. Since the derivatives of the rotational
rates are not measured directly, these can be obtained by numerical differentiation.
Corrections to the non-dimensional force in X b and the non-dimensional pitch rate
were made by making use of an engine model. The engine-produced thrust in Z b
was neglected and assumed to be approximately zero.

4.2 Parameter Estimation

The principles of regression analysis are well known and previously applied in many
different researches in the framework of aerodynamic system identification [20–22].
The ordinary least squares (OLS) estimator, defined as the minimum residual

Θ OLS = min X · Θ − y (28)


Θ∈R
Identification of a Cessna Citation II Model Based on Flight Test Data 267

where · denotes the L 2 norm in Euclidean space Rn . The well-known solution in
terms of linear operations is given by:

Θ̂ OLS = (X X)−1 X y (29)

According to the Gauss-Markov theorem, the OLS estimator is the best linear
unbiased estimator under the assumption that the variance of the residuals should be
homoscedastic and the correlation terms should vanish [23]. In addition, under the
assumption of a normally distributed residuals vector the OLS estimator is identical
to the maximum likelihood estimator, effectively attaining the Cramér-Rao lower
bounds (CRLB) [24]. The standard bounds of the parameter estimates are given by
the diagonal elements of the variance-covariance matrix:
   
Cov {Θ} = E Θ̂ − Θ Θ̂ − Θ = σ 2 (X X)−1 (30)

where σ 2 can be approximated by the mean squared error of the residuals. Using
the estimated covariance, pair-wise correlation of the estimated parameters can be
assessed by:
⎛ ⎞ ⎛ ⎞
1
σ (Θ̂1 )
0 ... 0 1
σ (Θ̂1 )
0 ... 0
⎜ ⎟ ⎜ ⎟
  ⎜ 0 1
... 0 ⎟  ⎜ 0 1
... 0 ⎟
⎜ σ (Θ̂2 ) ⎟ ⎜ σ (Θ̂2 ) ⎟
Corr Θ̂ = ⎜ Cov Θ̂ ⎜
.. ⎟ .. ⎟
(31)
⎜ .. .. .. ⎟ ⎜ .. .. .. ⎟
⎝ . . . . ⎠ ⎝ . . . . ⎠
0 0 ... 1
σ (Θ̂ p )
0 0 ... 1
σ (Θ̂ p )

Because aircraft parameter estimation is often associated with data collinear-


ity [25], a biased parameter estimation technique known as Principal Components
Regression (PRC) was used. PCR is able to increase the accuracy of the parameter
estimates in case of multi-collinearity among the predictor variables [20].

4.3 Model Structure Selection

Stepwise regression [26] is a method specifically aimed at data-driven selection of an


appropriate model structure from a set of candidate regressors. Later modifications
to this approach restricted the selection of candidate regressors to higher order terms,
starting at a fixed linear model structure [27]. The pool of candidate regressors is to
be formed by single terms, cross-interactions and higher order terms corresponding
to the independent variables in the model. The downside of the stepwise regression
method is that it includes addition and elimination criteria [28]. In addition, regressors
cannot be evaluated independently because of their interaction with other regressors
in the selected model structure.
268 M.A. van den Hoek et al.

Table 2 Estimated parameters mean variance, minimum variance and maximum variance for the
C X model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
C X0 −0.051 −0.594 0.019 1.553×10−5 4.134×10−8 4.710×10−4
C Xα 0.862 −0.213 12.733 1.115×10−3 2.059×10−5 5.349×10−2
C Xq −4.465 −100.213 17.117 8.591×10−1 1.296×10−2 8.320
C X δe −0.172 −3.602 0.842 2.572×10−3 3.688×10−5 2.736×10−2

Table 3 Estimated parameters mean variance, minimum variance and maximum variance for the
CY model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
C Y0 0.004 −0.056 0.059 8.638×10−8 3.190×10−10 8.079×10−7
C Yβ −0.794 −2.258 −0.169 4.389×10−4 1.362×10−6 4.080×10−3
CY p −0.159 −4.163 2.583 1.403×10−2 3.772×10−5 1.152×10−1
CYr 1.958 −1.813 13.569 2.199×10−2 3.163×10−5 1.496×10−1
CYδa −0.180 −4.305 1.397 2.083×10−3 1.548×10−6 2.282×10−2
CYδr 0.839 −1.988 26.784 4.846×10−2 1.152×10−6 1.427
C Yβ 2 2.754 −14.888 48.476 1.028 2.795×10−5 9.398

Table 4 Estimated parameters mean variance, minimum variance and maximum variance for the
C Z model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
C Z0 −0.213 −0.941 0.025 1.575×10−4 1.075×10−6 5.183×10−3
C Zα −4.037 −8.231 2.868 8.074×10−3 2.369×10−4 4.290×10−1
C Zq −57.766 −267.955 189.902 1.320×10+01 2.363×10−1 1.979×10+02
C Z δe −0.836 −6.355 25.163 4.456×10−2 7.952×10−4 6.847×10−1

More recently, Morelli [21, 29] and Grauer [30] applied a multi-variate polynomial
model obtained from an orthogonal model structure selection to various aircraft.
The latter model structure selection technique transforms the full set of candidate
regressors to the orthogonal domain in order to test the significance of each parameter.
By defining a predicted square error (PSE) [30], selection of the orthogonal basis
functions can be done by minimization of the latter metric. Terms contributing less
than a certain threshold value can also be removed from the model structure.
The process of orthogonal basis functions model structure selection begins with
the orthogonalization process of the set of candidate regressors:


j−1
p0 = 1, p j = x j − γk j pk for j = 1, 2, . . . , n (32)
k=0
Identification of a Cessna Citation II Model Based on Flight Test Data 269

where x j is the j th vector of independent variables and coefficient γk j is defined as:



pk x j
γk j =  for k = 0, 1, . . . , j − 1 (33)
pk pk

Orthogonal vectors p0 , p1 , . . . , pn now form the columns of orthogonal regression


matrix P. The parameter estimate can now be obtained by the least squares estimator
in Eq. (29). This can be done by subsequently calculating the contribution to the total
least-squares cost independently for each candidate regressor with:
 2

pj y
J (aˆj ) =  (34)
pj pj

a selection can be made based on the PSE, which is defined as:

1  2 n
PSE = (y − ŷ) y − ŷ + σmax (35)
N N
The maximum model fit error variance can be obtained from:

1
N
σmax
2
= (yi − y)2 (36)
N − 1 i=1

5 Results

In this section the results of the flight path reconstruction, model structure selection
and parameter estimation procedure are presented.

Table 5 Estimated parameters mean variance, minimum variance and maximum variance for the
Cl model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
Cl 0 −0.002 −0.020 0.010 1.826×10−8 1.182e−10 3.285×10−7
Cl β −0.073 −0.143 −0.006 1.407×10−6 9.575×10−8 1.490×10−5
Cl p −0.494 −0.710 0.056 2.656×10−5 1.727×10−6 1.508×10−4
C lr 0.376 0.024 0.785 6.498×10−5 4.639×10−7 4.298×10−4
Clδa −0.178 −0.276 0.121 6.081×10−6 1.585×10−7 9.996×10−5
Clδr 0.102 −1.309 2.314 6.865×10−4 2.784×10−8 1.619×10−2
270 M.A. van den Hoek et al.

Measurement Filtered Reconstructed

0.04
5200
0.2
0.02

φ [rad]

θ [rad]
h [m]

0 0.1

-0.02 0
5150
0 10 20 0 10 20 0 10 20
1.76 82
0.2

VTAS [m/s]
ψ [rad]

α [rad]
1.74 80
0.15
78
1.72
76 0.1
0 10 20 0 10 20 0 10 20

0.02
β [rad]

-0.02

-0.04
0 10 20
Time [s]

Fig. 2 Measurement values together with filtered and reconstructed measurement sequences

5.1 Flight Path Reconstruction

The results for the flight path reconstruction procedure comprises a total of more than
200 individually reconstructed dynamic maneuvers, both longitudinally and laterally
induced. For this reason, only a selection of results is shown in this paper. For a
typical 3-2-1-1 dynamic maneuver in elevator, the results are depicted in Figs. 2 and
3. In these figures, the filtered and reconstructed measurements and control surface
deflections during the maneuver are shown.

5.2 Aerodynamic Model Identification

The results from the model structure selection procedure and parameter estimation
are presented in this section together with a model validation by applying the iden-
tified least squares model to flight derived non-dimensional forces and moments
together with a comparison versus the currently implemented aerodynamic model in
the DASMAT simulation framework (Fig. 4).
Identification of a Cessna Citation II Model Based on Flight Test Data 271

2
0.5 δa δe δr
0 0
-0.5 ax ay az

Acceleration [m/s2 ]
-2
-1
Deflection [deg]

-4
-1.5
-2 -6
-2.5 -8
-3 -10
-3.5
-12
-4
-4.5 -14
0 5 10 15 20 25 0 5 10 15 20 25
Time [s] Time [s]
(a) Control surface deflections (b) Measured accelerations

p q r
4
Rotational rate [deg/s]

-2

-4

-6
0 5 10 15 20 25
Time [s]
(c) Measured rotational rates

Fig. 3 Control surface deflections for a typical δe induced longitudinal 3-2-1-1 dynamic maneuver

Table 6 Estimated parameters mean variance, minimum variance and maximum variance for the
Cm model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
Cm 0 0.021 −0.022 0.089 4.918×10−7 1.252×10−8 5.698×10−6
Cm α −0.488 −0.855 −0.253 2.509×10−5 2.856×10−6 1.904×10−4
Cm q −11.935 −22.066 −1.489 3.466×10−2 2.968×10−3 2.920×10−1
C m δe −1.250 −1.508 −0.351 1.204×10−4 9.907×10−6 1.097×10−3

The final model structure of the non-dimensional forces and moments in X b ,


obtained from an orthogonal least squares model selection scheme, consisted of a
total of 5 terms, i.e. C X 0 , C X α , C X q , C X δe , C X α2 . However, the term related to the
squared angle of attack was removed from the model for its high pairwise correla-
tion with the angle of attack term. Identified values for the parameters as tabulated
in Table 2. Tabulated values represent the parameters in the total number of locally
identified models. The minimum, maximum and mean values for the estimated para-
272 M.A. van den Hoek et al.

Table 7 Estimated parameters mean variance, minimum variance and maximum variance for the
Cn model, obtained from an orthogonal least squares model structure selection approach
θ θmin θmax σ (θ) σ (θ)min σ (θ)max
Cn0 0.000 −0.002 0.002 1.158×10−8 2.084e−10 1.326×10−7
Cnβ 0.079 −0.056 0.145 3.689×10−6 1.548×10−7 5.965×10−5
Cn p −0.142 −0.677 0.284 1.307×10−4 5.361×10−6 3.267×10−3
Cnr −0.295 −0.474 0.374 1.005×10−4 3.055×10−6 5.440×10−4
Cn δa −0.025 −0.155 0.073 4.720×10−5 5.616×10−7 1.049×10−3
Cn δr −0.065 −0.611 0.578 7.338×10−4 1.783×10−7 1.770×10−2

meters and corresponding variance were included as performance measure to indicate


consistence of the estimates.
The models for the 6 dimensionless forces and moments resulting from the model
structure selection procedure and parameter estimation (see Tables 2, 3, 4, 5, 6 and
7 for parameter estimates) were parametrized as follows:



C X = C X 0 + C X α α + C X α 2 + C X q q̂ + C X δe δe (37)
 α2

CY = CY0 + CYβ β + CY p p̂ + CYr r̂ + CYδa δa + CYδr δr + CYβ 2 β 2 (38)

C Z = C Z 0 + C Z α α + C Z q q̂ + C Z δe δe (39)

Cl = Cl0 + Clβ β + Cl p p̂ + Clr r̂ + Clδa δa + Clδr δr (40)

Cm = Cm 0 + Cm α α + Cm q q̂ + Cm δe δe (41)

Cn = Cn 0 + Cn β β + Cn p p̂ + Cnr r̂ + Cn δa δa + Cn δr δr (42)

5.3 Model Validation

The identified models for all six non-dimensional forces and moments were applied
to an independent validation data set consisting of 20% of the total data set. A
comparison between the longitudinal forces and moments obtained from flight data,
predicted by the old DASMAT model, and the new model are shown in Fig. 5. The
results for the lateral forces and moments are qualitatively similar. In addition, fit
statistics in terms of the coefficient of determination and the relative root mean square
error (RRMSE) are tabulated in Table 8.
A time-domain comparison between the new least-squares model and DASMAT
for a longitudinally induced 3-2-1-1 maneuver is presented in Fig. 6. This figure
Number of terms in Cl models Number of terms in CX models

0
50
0

10
20

5
40
45
80

20
25
35
10
40
50
70

15
30
30
60

Cl
δ CX0
Cl a
βp
Cl pr CXα
Cl
2
Clp CX 2
δ α
Cl r
β δa
Clr CXα q
Cl

Cl a CX 2
β q
Cl p
Number of terms in Cn models Cl 2 Number of terms in CZ models CX
qδe
Cl β

0
20

10
80

40
50
70

30
60

0
40

20
80
100

60
120
Cl a CXq
2
Cnβ
Cnr Cl r CZ0
βδ

(d) Terms in Cl models


(a) Terms in CX models
Cl r CX
Cnδ pδr αδe
r Cl
Cn p 0
Cl CX
rδ δe
Cnδ Cl r CZα
a βr
Cn 2 Cl CX 2
β δa 2 δe
Cnβ r
Cn 2 CZq
p
Cnβ δ
a
Number of terms in Cm models Number of terms in CY models
0

0
20

10
80
90

40
50
70

20
30
60

10
80
90

40
50
70

30
60
Cnβ p
Cn pr CY
Cmα β
CYp
Cnrδ
r

(f) Terms in Cn models


CYr

(c) Terms in CZ models


Cm 2 CZ 2
Cnrδ q α CY
a βp
CY
Cn pδ
r Cm 2 0
α CY
Cn 2 2
r CZ CYp
δ
Cn 2 Cmδ δe CY a
δa e 2

from an orthogonal least squares model structure selection procedure


CYβ
Identification of a Cessna Citation II Model Based on Flight Test Data

βr
Cm0 CY
δ
CY r

Cmq CY a
βδ
CY r

CY r
Cm 2 βδ
δe CY a
2
CYrpr
(b) Terms in CY models

(e) Terms in Cm models


Cmα q
CY
pδr
CY
Cmqδ δ δ
e CY a r
2
CYδr
2
Cmαδ CYδa
e rδa
273

Fig. 4 Absolute number of model terms selected in the longitudinal and lateral models obtained
274 M.A. van den Hoek et al.

Fig. 5 The identified Flight data Model fit DASMAT

models for the longitudinal


0.2
non-dimensional forces and
moments (blue) applied to 0.1
validation data, consisting of

Magnitude [-]
20% of the total data 0

collection, in comparison 0 0.5 1 1.5 2 2.5


with the currently ×104
implemented aerodynamic 0.15 0.06
0.2
model in the DASMAT 0.1 0.04
simulation framework 0.1 0.05 0.02
(green) and the flight derived 0 0
non-dimensional forces and 0
moments (grey). For every 0.05 0.1 0.15 0.66 0.7 0.74 1.45 1.5 1.55
model, three close-ups of ×104 ×104 ×104

interesting portions of the Sample [k]


complete validation set are (a) Identified CX model applied to a validation set
presented below each subplot
0

-0.5

-1

-1.5
Magnitude [-]

0 1 2 3 4 5 6 7 8
×104
0 0
-0.4
-0.2
-0.5
-0.4
-0.6
-1 -0.6
-0.8 -0.8
0.6 0.7 0.8 2.4 2.45 2.5 2.55 5.56 5.6 5.64
×104 ×104 ×104
Sample [k]
(b) Identified CZ model applied to a validation set
0.2

0
Magnitude [-]

-0.2
0 1 2 3 4 5 6 7 8
×104
0.2
0.1 0.1

0.05
0 0
0
-0.1
-0.05 -0.2
0.3 0.35 0.4 0.45 3.4 3.45 3.5 3.92 3.96 4 4.04
×104 ×104 ×104
Sample [k]
(c) Identified Cm model applied to a validation set
Identification of a Cessna Citation II Model Based on Flight Test Data 275

Table 8 Fit statistics for the least squares model and the existing DASMAT (D) model averaged
over all validation sets
CX CY CZ Cl Cm Cn
R2 0.76 0.77 0.77 0.75 0.76 0.85
R 2D 0.60 0.55 0.64 0.25 0.00 0.50
R R M S E (%) 6.76 5.32 6.38 4.96 5.8 4.72
R R M S E D (%) 8.79 7.34 7.97 8.65 12.65 8.50

Flight data Model fit DASMAT


0.1
v [m/s] r [rad/s] p [rad/s]

w [m/s] u [m/s] q [rad/s]


0.2
0 0
-0.2
-0.1
2 4 6 8 2 4 6 8
0.1 110
105
0 100
-0.1 95
2 4 6 8 2 4 6 8
4
20
0 10
-4 0
-8 -10
2 4 6 8 2 4 6 8
δr [deg] δa [deg] θ [rad]

0.3
δe [deg] ψ [rad] φ [rad]

0.2
0 0.2
-0.2 0.1
2 4 6 8 2 4 6 8
0.6 0.4
0
0.4 -0.4
2 4 6 8 2 4 6 8
4 0.1
2
0 0.05
-2 0
-4 -0.05
2 4 6 8 2 4 6 8
Time [s]

Fig. 6 Time domain response of the newly implemented aerodynamic model together with the
currently implemented aerodynamic model in the DASMAT simulation framework and the flight
derived aircraft states and control surface deflections for a longitudinally induced δe 3-2-1-1 maneu-
ver

indicates an increased fidelity of the predicted aircraft states by the new least-squares
model in comparison to the DASMAT model. Most significant is the better fit of the
new model for the velocity in the direction of the X b axis and the Euler angles.

6 Conclusion

In this paper, the methodology regarding the identification of an aerodynamic model


for flight simulation training from flight test data was developed for the normal post-
stall flight envelope. By employing the Two-Step Method (TSM), the Unscented
276 M.A. van den Hoek et al.

Kalman Filter (UKF) was used in cooperation with linear parameter estimation tech-
niques. Results indicate that the state estimates and measurement reconstructions by
the UKF are in good agreement with the presented data.
This research effort results in a simple and parsimonious set of aerodynamic mod-
els describing the 6 non-dimensional forces and moments. The model presented in
this paper outperforms the current aerodynamic model implemented in the DASMAT
framework in terms of goodness of fit, in all 6 degrees of freedom, when compared
to the recorded forces and moments of the Cessna Citation II laboratory aircraft.
The explained variance of the non-dimensional forces was increased with at least
13%. More significant improvements were made to the non-dimensional moments;
an increase of the explained variance of at least 35% was achieved.
The work presented in this paper will serve as a basis for the integration of a stall
and post-stall model, resulting from a parallel research effort. Together, these models
will be used in future research into, e.g., the behavior of pilots during aerodynamic
stall and the development of new control algorithms.

References

1. Federal Aviation Administration, Qualification, Service, and Use of Crewmembers and Aircraft
Dispatchers, Technical Report, Department of Transportation, US, 2013
2. van der Linden CAAM (1998) DASMAT - Delft University Aircraft Simulation Model and
Analysis Tool. Delft University Press, Delft
3. Mulder JA, Baarspul M, Breeman JH, Nieuwpoort AMH, Verbaak JPF, Steeman PSJM (1987)
Determination of the Mathematical Model for the New Dutch Government Civil Aviation
Flying School Flight Simulator, Society of Flight Test Engineers, 18th Annual Symposium.
Delft University of Technology, Amsterdam
4. Oliveira J, Chu QP, Mulder JA, Balini HMNK, Vos WGM (2005) Output error method and
two step method for aerodynamic model identification. In: AIAA Guidance, Navigation, and
Control Conference and Exhibit, pp 1–9, August, 2005
5. Nahi NE (1969) Estimation Theory and Applications. John Wiley and Sons, New York
6. Mulder JA, Chu QP, Sridhar JK, Breeman JH, Laban M (1999) Non-linear aircraft flight path
reconstruction review and new advances. Prog Aerosp Sci 35(7):673–726
7. Mulder JA, Sridhar JK, Breeman JH (1994) Identification of Dynamic Systems- Applications
to Aircraft Part 2: Nonlinear Analysis and Manoeuvre Design, vol 3. North Atlantic Treaty
Organisation, Neuilly Sur Seine
8. Julier SJ, Uhlmann JK (1997) A New Extension of the Kalman Filter to Nonlinear Systems.
International Symposium for Aerospace Defense Sensing Simulutation and Controls 3(2):26
9. Cessna Aircraft Company (1990) Operating Manual Model 550 Citation II, Unit -0627 And
On. Technical Report, Wichita, Kansas, USA
10. Laban M (1994) On-Line Aircraft Aerodynamic Model Identification, Ph.d. thesis, Delft Uni-
versity of Technology, Delft
11. de Visser CC (2011) Global Nonlinear Model Identification with Multivariate Splines, Ph.D.
thesis, Delft University of Technology, Delft
12. Mulder M, Lubbers B, Zaal PMT, van Paassen MM, Mulder JA (2009) Aerodynamic hinge
moment coefficient estimation using automatic fly-by-wire control inputs. In: Proceedings of
the AIAA modeling and simulation technologies conference and exhibit, chicago (IL), No 2,
pp 2009–5692
Identification of a Cessna Citation II Model Based on Flight Test Data 277

13. Chowdhary G, Jategaonkar R (2010) Aerodynamic parameter estimation from flight data apply-
ing extended and unscented Kalman filter. Aerosp Sci Technol 14(2):106–117
14. Julier SJ, Uhlmann JK (2004) Unscented filtering and nonlinear estimation. Proc IEEE
92(3):401–422
15. Wan EA, Van Der Merwe R (2000) The unscented kalman filter for nonlinear estimation,
adaptive systems for signal processing, communications, and control symposium 2000. AS-
SPCC IEEE 2002:153–158
16. Van Der Merwe R, Wan EA (2001) The square-root unscented Kalman filter for state and
parameter-estimation. In: Proceedings. (ICASSP ’01). 2001 IEEE international conference on
acoustics, speech, and signal processing, vol 6, pp 3461–3464
17. van der Merwe R, Wan EA (2004) Sigma-Point Kalman Filters for integrated navigation. In:
Proceedings of the 60th annual meeting of the institute of navigation (ION), pp 641–654
18. Sibley G, Sukhatme GS, Matthies LH (2006) The Iterated Sigma Point Kalman Filter with
Applications to Long Range Stereo, Rss
19. Armesto L, Tornero J, Vincze M (2008) On multi-rate fusion for non-linear sampled-data
systems: Application to a 6D tracking system. Robot Auton Syst 56(8):706–715
20. Klein V (1989) Estimation of aircraft aerodynamic parameters from flight data. Prog Aerosp
Sci 26(1):1–77
21. Morelli EA (1998) Global nonlinear parametric modelling with application to F-16 aerody-
namics. In: Proceedings of the american control conference, vol 2, pp 997–1001
22. Morelli E, Derry SD (2005) Aerodynamic parameter estimation for the X-43A (Hyper-X) from
flight data. In: AIAA atmosperic flightmechanics conference and exhibit, August 2005
23. Goldberg MA, Cho HA (2003) Introduction to Regression Analysis. WIT Press, Southampton,
UK
24. Watson PK, Teelucksingh SS (2002) A Practical Introduction to Econometric Methods: Clas-
sical and Modern. University of the West Indies Press
25. Morelli EA (2006) Practical aspects of the equation-error method for aircraft parameter esti-
mation. AIAA Atmos Flight Mech Conf 6114:1–18
26. Batterson JG, Klein V (1989) Partitioning of flight data for aerodynamic modeling of aircraft
at high angles of attack. J Aircr 26(4):334–339
27. Klein V, Batterson JG, Murphy PC (1981) Determination of Airplane Model Structure from
Fflight Data by Using Modified Stepwise Regression. Technical Report, NASA Langley
Research Center, Hampton
28. Lombaerts T, Oort EV, Chu QP, Mulder JA, Joosten D (2010) Online aerodynamic model
structure selection and parameter estimation for fault tolerant control. J Guid Control Dyn
33(3):707–723
29. Morelli E (2012) Efficient global aerodynamic modeling from flight data. In: 50th AIAA
aerospace sciences meeting including the new horizons forum and aerospace exposition.
aerospace sciences meetings, american institute of aeronautics and astronautics Jan 2012
30. Grauer JA, Morelli EA (2014) Generic global aerodynamic model for aircraft. J Aircr 52(1):13–
20
Characterising Angular Accelerometer
Calibration Setup Disturbance Using
Box–Jenkins Method

D. Jatiningrum, C.C. de Visser, M.M. van Paassen, E. van Kampen


and M. Mulder

1 Introduction

Angular acceleration feedback is a powerful concept when designing a model-free,


state-of-the-art Fault-Tolerant Flight Control (FTFC) system. Such feedback is cur-
rently being obtained by differentiating the rate gyro signals [1], which amplifies
the noise component and introduces delay [2]. Considering feedback is a valuable
tool to adjust the performance and to ultimately meet the desired result, the feedback
signal accuracy will determine the system’s successful control actions.
To incorporate the angular acceleration feedback in the FTFC system design,
analysis and simulation, a proper angular accelerometer model is of substantial con-
cern. Creating a controller based on an incorrect angular accelerometer, for exam-
ple, could result in the control not meeting the desired control variables. Therefore,
establishing a proper angular accelerometer system identification method is crucial
to achieving the correct model.
The frequency response data generates the current angular accelerometer model in
a transfer function form [3]. Frequency domain data provides the required accuracy
to calculate the Frequency Response Function (FRF) in this approach. Specifying the

D. Jatiningrum (B) · C.C. de Visser · M.M. van Paassen · E. van Kampen · M. Mulder
Faculty of Aerospace Engineering, Delft University of Technology, Kluyverweg 1,
2629HS Delft, The Netherlands
e-mail: D.Jatiningrum@tudelft.nl
C.C. de Visser
e-mail: C.C.deVisser@tudelft.nl
M.M. van Paassen
e-mail: M.M.vanPaassen@tudelft.nl
E. van Kampen
e-mail: E.vanKampen@tudelft.nl
M. Mulder
e-mail: M.Mulder@tudelft.nl

© Springer International Publishing AG 2018 279


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_15
280 D. Jatiningrum et al.

sensor bandwidth as well as recognising the system’s phase are the additional advan-
tages of this method. The Auto-Regressive with exogenous terms (ARX) model is
employed as the first stage estimation due to its efficiency in estimating the polyno-
mial because it is the result of solving linear regression equations in analytic form.
Moreover, the result is distinctive; it always fulfils the global minimum of the loss
function. The ARX model, therefore, is favoured, especially when the model order
is high.
However, the coupling between the deterministic and stochastic dynamics can
distort the estimation of the ARX model when the disturbance of the system is not
white noise. The model order is set higher to minimise the equation error, especially
for a low signal-to-noise ratio. Nevertheless, since the ARX model defines both the
system dynamics and noise properties using the similar set of poles, the resulting
model order may be needlessly high, which can alter some dynamic aspects of the
model such as the stability.
This study establishes an angular accelerometer model that considers the calibra-
tion measurement setup noise in a separate term. Errors may exist in the calibra-
tion table (CT) regarding installation error, wobble error and angular error [4], as
well as sensor quantisation error [5], which influence the generated model noise and
decrease accuracy. The search for a suitable model to better describes the relationship
employs the Box–Jenkins (BJ) structure [6], which provides a complete model with
disturbance properties independently parametrised from system dynamics as rational
functions [7]. Box–Jenkins analysis refers to a systematic method of identifying, fit-
ting, checking, and using integrated autoregressive, moving average (ARIMA) time
series models,1 with numerous application in the different fields [8–10]. The Box–
Jenkins model is useful when one has disturbances that enter later in the method,
such as, measurement noise on the output. Measurements performed throughout the
frequency range using sinusoidal excitation at each frequency point, resulting in
some input-output data sets. The process then carries out a multi-channels modelling
approach to obtain the concatenated model.
The paper is divided into five sections, opening with an introduction to the topic.
Section 2 contains background knowledge regarding the measurement setup and the
BJ model properties. Section 3 describes the experiment plan including the system
identification approach. Section 4 discusses the transfer function model development
as well as its performance criteria evaluation. Finally, Sect. 5 gives final remarks on
the angular accelerometer BJ model for sensor-based FTFC system application.

2 Modelling the Disturbance

A 2-axis, high precision position CT generates the excitation input for the angular
accelerometer. The CT only measures the angular displacement, from where the
angular rate and angular acceleration of the motion are derived. The derivation means

1 http://www.ncss.com/software/ncss/time-series-and-forecasting-in-ncss/#ARIMA.
Characterising Angular Accelerometer Calibration … 281

that there is a delay present not only in the CT estimated angular acceleration but
also between the input motion and the angular accelerometer measurement data.
Such delay is expected to have an impact on the identified model.

2.1 Angular Accelerometer and Calibration Table


Measurement Set-Up

Figure 1 illustrates the angular accelerometer and CT measurement setup in a block


diagram that is formulated the previous work [11]. Five subsystems construct the
framework: (I) the control centre, (II) the turntable, (III) the sensor, and (IV) the
sensor data acquisition system. Table 1 lists the blocks, variables, and disturbances
involved.
In modelling the sensor using this setup, several types of disturbances are present.
Subsystem II includes motor related noise m from the turntable axis’ motor. Load
disturbance d from the payload package, external or environmental disruption t, and
sensor noise s, affect the sensor output in subsystem III. Lastly, measurement noise
n is a part of recording in subsystem IV.
Holding that the CT is position-based, the angular accelerometer calibration would
be inclined to model the sensor by referring to position feedback f or position
estimate p1 . These references ensure precise and accurate standard. Nevertheless,
they contain all the mentioned disturbances in the preceding paragraph. A more
perceptive angle is to designate the CT angular acceleration a1 or p2 instead for an
equivalent input-output relation. Even so, this system will still include d, t, s, and n
in the system dynamics but rule out m, at the very least.

Fig. 1 Angular accelerometer calibration measurement setup framework [11]


282 D. Jatiningrum et al.

Table 1 List of blocks, variables and disturbances of the system block diagram
Blocks Variables Disturbances
C Control center r User input or position m Motor related noise
demand
T Turntable e Error d Load disturbance
R Position transducer p1 Position estimate s Sensor noise
A Angular accelerometer p2 Position command t External/environmental
disturbance
D Sensor data acquisition a1 Generated angular n Measurement noise
system acceleration
a2 Angular acceleration
motion
a3 Angular accelerometer
raw data
y Sampled angular
accelerometer data
fr Raw position feedback
f Position feedback

2.2 Approach to Model the Disturbance

Consider that the angular accelerometer is an unknown system; various parametric


black-box model structures apply to represent the sensor. In this regard, rational
transfer functions are primarily the immediate means of parametrising the determin-
istic (G) and stochastic (H ) part of the system. Among the models, the equation error
or ARX is the first choice in many applications due to its valuable property where
the predictors distinguish a linear regression.
The general family of discrete model structure is [12]:

B(q) C (q)
A (q)y(k) = u(k) + e(k) (1)
F (q) D(q)

where u(k) is the input channel, y(k) is the output channel, and e(k) is the disturbance
channel. A , B, F , C , and D are polynomials in the shift operator q, defined as
follows:
A (q) = 1 + a1 q −1 + a2 q −2 + · · · + ana q −na
B(q) = b1 q −1 + b2 q −2 + · · · + bn b q −n b
C (q) = 1 + c1 q −1 + c2 q −2 + · · · + cn c q −n c
D(q) = 1 + d1 q −1 + d2 q −2 + · · · + dn d q −n d
F (q) = 1 + f 1 q −1 + f 2 q −2 + · · · + f n f q −n f
Characterising Angular Accelerometer Calibration … 283

Fig. 2 The ARX model structure

In the above equations, a, b, c, d, and f are the polynomial’s coefficients, whereas


n a , n b , n c , n d , and n f are the polynomials order.
The ARX model represented in Fig. 2 can be obtained from the general model by
choosing C (q) = D(q) = F (q) = 1, and A (q) and B(q) arbitrary polynomials

B(q) 1
y(k) = u(k) + e(k) (2)
A (q) A (q)

The drawback of the ARX model is that disturbances are part of the system dynam-
ics. The transfer function of the deterministic and stochastic part of the structure has
the similar pairs of poles. This coupling can be nonsensical since they do not nec-
essarily share the same array of poles. Although, a good signal-to-noise ratio can
reduce this disadvantage.
The Box–Jenkins methodology2 is a five-step method for identifying, selecting,
and assessing conditional mean models that valid for discrete, univariate time series
data. The steps start with establishing the stationarity of the time series by a succes-
sive difference to achieve stationarity. The example autocorrelation function (ACF)
and partial autocorrelation function (PACF) of a stationary series decline exponen-
tially or cut off entirely after a few lag. Subsequently, some formulations transform
the series by subtracting the mean of the set from each data point. The subtrac-
tion yields a conditional mean model for the data or a series with a mean of zero.
Specifying the model and estimating the model parameters are the third step. The
models can be extended to include the desired degree of seasonal autoregressive and
seasonal moving average terms. Next, conduct goodness-of-fit checks to ensure the
model describes the data adequately. This limit means residuals should be uncor-
related, homoscedastic, and normally distributed with constant mean and variance.
Afterwards, use the model to forecast or generate simulations over an expected time
extent.

2 http://nl.mathworks.com/help/econ/box-jenkins-methodology.html, accessed on April 2016.


284 D. Jatiningrum et al.

Fig. 3 The BJ model structure

The Box–Jenkins model structure is illustrated in Fig. 3; it can be derived from


Eq. 1 by choosing A (q) = 1, and the other polynomials arbitrarily

B(q) C (q)
y(k) = u(k) + e(k) (3)
F (q) D(q)

3 Experiment and Model Identification Method

The experiment is conducted using the frequency response test method for the angular
accelerometer, which covers its dynamic range. CT is capable of introducing the
relevant frequency content since it typically includes a programmable servo motor
and an optical encoder that supports programmed revolution on the motor shaft.
Nonetheless, mechanical limitations and resolution concerns encourage the use of a
detailed motion profile to excite the angular accelerometer.
The followings are the method of this study in developing the Box–Jenkins model
for the angular accelerometer.
1. Frequency response measurement.
The motion profile in the plan is a single frequency sinusoid, executed in different
frequency points over the system’s dynamic range from 0.4 to 10 Hz. Frequency
points are built in logarithmic spacing, with the increment of 20% from the pre-
vious incidence. Additionally, the measurements include round frequency values
from 1 to 10 Hz. The excitation produces a constant angular acceleration, with
400 deg/s2 or 70% of the maximum sensor range chosen as the maximum ampli-
tude of the profile.
As required for estimating Box–Jenkins model, the measured data set consist of
input-output pairs in the time domain for each test frequency points. The method
is suitable for time series of medium to long length, which is categorised as at
Characterising Angular Accelerometer Calibration … 285

least 50 observations. In this case, the recorded pairs are resolved well above the
minimum, with 217 data points.
2. The selection of identification and validation data.
The data sets are divided into two groups based on the test frequency sets, one
for identification and the other one for validation. The identification process uses
fewer data than the validation. This arrangement yields 9 data sets of round
frequencies for identification and 19 data sets in the increment of 20% ranged
from 0.4 to 10 Hz for validation.
3. Box–Jenkins model iteration.
In this paper, two inputs, namely angular acceleration command and angular
acceleration estimate, are compared. Their description in the calibration mea-
surement framework leads to different delays between the reference and sensor
data. The estimated delay between input and output signal are first calculated
accordingly. Estimate of the delay via cross-correlation returns nkc = 30 sam-
ples (angular acceleration command as the input), and nke = 9 samples (angular
acceleration estimate as the input).
The model’s estimation is then treated as a multi-experiments problem. This treat-
ment means that the estimation procedure is applied to multiple experiments data
at once, to obtain the preferred model(s). The initial condition option was set to
‘auto’, the bj estimation then determine that it is best to use ‘backcast’, where
the initial conditions were estimated using the best least squares fit.
The first iteration was performed with the following options:
• The orders n b , n f , n c , and n d are varied from 1 to 5.
• Additional estimations are performed for nkc = 29 samples, nkc = 31 sam-
ples, nke = 8 samples, and nke = 10 samples.
4. Selection of candidates from initial models.
The iteration delivers 625 early models, from which five candidate models are
preferred for each nk in the two inputs. This selection is based on the Akaike
Information Criterion (AIC) of each model as follows [13]:

AIC = 2k − 2 log L (4)

where k is the model’s number of parameters, and L is the maximised value of the
likelihood function for the model. Akaike’s theory confers that the most accurate
model has the smallest AIC [7].
5. Comparing candidate models performance.
Selecting the ‘optimal’ order from the candidate models is one of the fundamental
and most subjective tasks in the Box–Jenkins analysis. In addition to the AIC,
evaluation criteria are extended to Mean Squared Error (MSE), Final Prediction
Error (FPE), and ultimately the percentage (%) of fit between the models and the
reference data.
286 D. Jatiningrum et al.

4 Box–Jenkins Model for Angular Accelerometer

This section analyses the iteration result in step 3 of Sect. 3, based on the measurement
data sets and a group from step #1 and #2. Subsequently, step #4 and #5 will be
discussed.

4.1 Select Candidates from Initial Models Using the Akaike


Information Criterion

The first examination is to evaluate the Akaike Information Criterion (AIC) for all
initial 625 models for each nkc and nke as shown in Figs. 4 and 5. There are ample
models with low AIC according to the figures. Nevertheless, in this study, five models
with the lowest AIC for every nk or the total of fifteen models for each input are
chosen as the candidate models.

(a) AIC for nkc = 29. (b) AIC for nkc = 30.

(c) AIC for nkc = 31.

Fig. 4 Akaike information criterion (AIC) evaluation for all 625 initial models for each nkc
Characterising Angular Accelerometer Calibration … 287

(a) AIC for nke = 8. (b) AIC for nke = 9.

(c) AIC for nke = 10.

Fig. 5 Akaike information criterion (AIC) evaluation for all 625 initial models for each nke

4.2 Evaluation Based on the Model Performance Criteria

After the candidate models were preferred, the data analysis should involve the
decent tradeoff between underfitting and overfitting. Once again, AIC will play a
role in ranking the models but three additional criteria: MSE, FPE and %Fit, are also
included. The candidate models performances are presented in Tables 2 and 3.
The information in the table is ranked based on the lowest AIC, displaying the
five best models for each nkc . In general, most of them have an extremely close
AIC and FPE values. As can be seen from the table, however, a model with lowest
AIC is in fact not necessarily the model with the best fit. The MSEs, on the other
hand, have slight variations as it depends on the model fit and should be considered
as a related entity. Therefore, models fit are employed to select the models which
gives 325 (n b = 3, n c = 5, n d = 5, n f = 3, nkc = 29), 425 (n b = 4, n c = 5, n d = 5,
n f = 2, nkc = 30), and 425 (n b = 4, n c = 5, n d = 5, n f = 2, nkc = 31) as the best
models in the group.
Similarly, models in Table 3 hold significantly close performances as well. Eval-
uating the options, the selected models for the angular acceleration estimate input
are 600 (n b = 5, n c = 5, n d = 5, n f = 4, nke = 8), 600 (n b = 5, n c = 5, n d = 5,
n f = 4, nke = 9), and 500 (n b = 4, n c = 5, n d = 5, n f = 5, nke = 10).
288

Table 2 Models with lowest AIC for angular acceleration command as the input
Model Order Fit [%] MSE AIC FPE
nb nc nd nf nkc Min Max Min Max
575 5 5 5 3 29 −391.9585 51.675393 0.2986674 29.252729 −13.05992 2.13E-06
550 5 5 5 2 91.12284 99.125697 9.78E-05 0.0095248 −13.05988 2.13E-06
225 2 5 5 4 98.405812 99.829739 3.71E-06 0.0003072 −13.05987 2.13E-06
325 3 5 5 3 99.546733 99.91966 8.26E-07 2.46E-05 −13.05987 2.13E-06
525 5 5 5 1 73.313107 97.377891 0.0008793 0.0860806 −13.05986 2.13E-06
499 4 5 4 5 30 86.706018 98.692406 0.0002187 0.0213609 −13.06036 2.13E-06
575 5 5 5 3 −14.21239 88.781457 0.0160962 1.5766521 −13.06012 2.13E-06
500 4 5 5 5 67.337535 96.790815 0.0013172 0.1289458 −13.06012 2.13E-06
425 4 5 5 2 97.391019 99.73503 8.98E-06 0.0008227 −13.05988 2.13E-06
525 5 5 5 1 74.017156 97.446941 0.0008336 0.0815986 −13.05987 2.13E-06
575 5 5 5 3 31 93.283216 99.336853 5.62E-05 0.005453 −13.05989 2.13E-06
550 5 5 5 2 74.808787 97.524675 0.0007836 0.0767022 −13.05988 2.13E-06
425 4 5 5 2 96.855372 99.683916 1.28E-05 0.0011952 −13.05988 2.13E-06
525 5 5 5 1 84.963562 98.521667 0.0002795 0.0273275 −13.05988 2.13E-06
400 4 5 5 1 65.455704 96.606236 0.001473 0.1442322 −13.05987 2.13E-06
D. Jatiningrum et al.
Table 3 Models with lowest AIC for angular acceleration estimate as the input
Model Order Fit [%] MSE AIC FPE
nb nc nd nf nke Min Max Min Max
625 5 5 5 5 8 99.813035 99.936639 5.13E-07 4.19E-06 −13.16405 1.92E-06
500 4 5 5 5 99.813001 99.936552 5.15E-07 4.19E-06 −13.16401 1.92E-06
600 5 5 5 4 99.813042 99.936665 5.13E-07 4.19E-06 −13.16391 1.92E-06
499 4 5 4 5 99.812388 99.93683 5.10E-07 4.22E-06 −13.16202 1.92E-06
599 5 5 4 4 99.812427 99.936947 5.08E-07 4.22E-06 −13.1619 1.92E-06
500 4 5 5 5 9 99.812994 99.933947 5.58E-07 4.19E-06 −13.15895 1.93E-06
625 5 5 5 5 99.812996 99.934054 5.56E-07 4.19E-06 −13.15883 1.93E-06
Characterising Angular Accelerometer Calibration …

600 5 5 5 4 99.813013 99.933948 5.58E-07 4.19E-06 −13.1582 1.93E-06


499 4 5 4 5 99.812392 99.934304 5.52E-07 4.22E-06 −13.15715 1.93E-06
624 5 5 4 5 99.812392 99.934332 5.52E-07 4.22E-06 −13.1571 1.93E-06
500 4 5 5 5 10 99.812751 99.930749 6.13E-07 4.20E-06 −13.15027 1.94E-06
499 4 5 4 5 99.812186 99.930968 6.09E-07 4.23E-06 −13.14881 1.95E-06
600 5 5 5 4 99.812705 99.93052 6.17E-07 4.20E-06 −13.14843 1.95E-06
624 5 5 4 5 99.812176 99.931629 5.98E-07 4.23E-06 −13.14806 1.95E-06
575 5 5 5 3 99.812583 99.931277 6.04E-07 4.21E-06 −13.14447 1.96E-06
289
290 D. Jatiningrum et al.

4.3 Poles and Zeros Plot of the Selected Models

Figures 6, 7 and 8 present the poles and zeros plot of selected models for each nkc ,
and Figs. 9, 10 and 11 for each nke . Figures on the left-hand side are for the input-
output, whereas images on the right-hand side are the noise output. The pole-zero
plot for a discrete-time model represents a stable system if the poles are inside the
unit circle, whereas the zeros can be inside or outside of the unit circle [14].

4.4 Bode Plot of the Selected Models

The following Fig. 12 shows the Bode plot, where the three selected models of angular
acceleration command are displayed. The Bode plot of angular acceleration estimate
models is presented in Fig. 13. It is observed that nke models roughly have a higher

(a) u → y (b) e@y → y

Fig. 6 Poles and zeros of model 325 (3553-29)

(a) u → y (b) e@y → y

Fig. 7 Poles and zeros of model 425 (4552-30)


Characterising Angular Accelerometer Calibration … 291

(a) u → y (b) e@y → y

Fig. 8 Poles and zeros of model 425 (4552-31)

(a) u → y (b) e@y → y

Fig. 9 Poles and zeros of model 600 (5554-8)

(a) u → y (b) e@y → y

Fig. 10 Poles and zeros of model 600 (5554-9)


292 D. Jatiningrum et al.

(a) u → y (b) e@y → y

Fig. 11 Poles and zeros of model 500 (4555-10)

Fig. 12 Bode plot of the selected models with acceleration command as the input

order than nkc ’s models. The higher order is due to the shape of the reference sig-
nal, where the angular acceleration estimate is noisier than the angular acceleration
command. These two sets of identification were performed with different dynamics,
based on the position of their respective input signal in the framework. Consequently,
their frequency response characteristics will differ as well.
Equivalent selection could also be made for the lower order candidate models
with approximately close AIC value to the preferred forms in this study. As observed
in Figs. 4 and 5, many structures in this category exist at the smallest AIC value
spectrum. The choice would be beneficial, for example, in the implementation of
the sensor model in the control systems. While higher order model can accurately
Characterising Angular Accelerometer Calibration … 293

Fig. 13 Bode plot of the selected models with acceleration estimate as the input

disclose the sensor dynamics, the reduction keeps the order of the controller down
without compromising the robustness of the closed loop system [15].

5 Conclusion

The Box–Jenkins method was used to estimate models for the angular accelerom-
eter from frequency response measurement data. The model was independently
parametrised to express the disturbance in the measurement system apart from the
system’s dynamics. Before model estimation, the angular accelerometer data were
established in the stationarity, and zero mean time-series. The design iteration was
performed up to the 5th order to produce a relatively straightforward model structure.
Using the AIC, 15 candidate models were selected for every nk in each input types.
MSE and FPE were employed as the additional evaluation criterion. Nevertheless,
the %Fit concludes the selected models.
Results show that model with the lowest AIC value not necessarily the model with
the best fit. With AIC values are extremely close between candidate models, the best
fit was chosen to resolve the model selection since it reflects the minimum difference
with the reference data. The best fit data for CT angular acceleration command as
the input was found in the n b = 2, n c = 5, n d = 5, and n f = 4 order, whereas for
CT angular acceleration command as the input, the best fit is in the order of n b = 5,
n c = 5, n d = 5, and n f = 4.
294 D. Jatiningrum et al.

References

1. Bacon BJ, Ostroff AJ (2000) Reconfigurable flight control using nonlinear dynamic inversion
with a special accelerometer implementation. In: Proceedings of the AIAA guidance, navigation
and control conference and exhibit. American Institute of Aeronautics and Astronautics, Reston
2. Sieberling S, Chu QP, Mulder JA (2010) Robust flight control using incremental nonlinear
dynamic inversion and angular acceleration prediction. J Guid Control Dyn 33(6):1732–1742
3. Jatiningrum D, de Visser CC, van Paassen MM, Mulder M (2016) Modelling an angular
accelerometer using frequency response measurement. In: Proceedings of the AIAA guid-
ance, navigation and control conference. American Institute of Aeronautics and Astronautics,
Reston
4. Lv P, Liu J, Lai J, Zhang L (2014) Decrease in accuracy of a rotational SINS caused by its
rotary table’s errors. Int J Adv Robot Syst 11(74). https://doi.org/10.5772/58579
5. Savage PG (2002) Analytical modeling of sensor quantization in strapdown inertial navigation
error equations. J Guid Control Dyn 25(5):833–842
6. Box GEP, Jenkins GM, Reinsel GC (1994) Time series analysis: forecasting and control, 5th
edn. John Wiley & Sons, Inc., Hoboken, New Jersey
7. Ljung L (1999) System identification: theory for the user. Prentice Hall, Upper Saddle River
8. Pintelon R, Schoukens J (2006) Box-Jenkins identification revisited–part I: theory. Automatica
42:63–75
9. Pintelon R, Schoukens J (2006) Box-Jenkins identification revisited–II: applications. Automat-
ica 42:77–84
10. Pintelon R, Schoukens J (2007) Box-Jenkins identification revisited–part III: multivariable
systems. Automatica 43:868–875
11. Jatiningrum D, de Visser CC, van Paassen MM, Mulder M (2015) A framework for calibrat-
ing angular accelerometers using a motion simulator. In: Proceedings of the AIAA modeling
and simulation technologies conference. American Institute of Aeronautics and Astronautics,
Reston
12. van den Bosch PPJ, van der Klauw AC (1994) Modeling, identification and simulation of
dynamical systems. CRC Press Inc, Boca Raton
13. Akaike H (1974) A new look at the statistical model identification. IEEE Trans Autom Control
19:716–723
14. Nise NS (2011) Control systems engineering. Wiley, Boca Raton
15. Pratt RW (2000) Flight control systems - practical issues in design and implementation. Insti-
tution of Engineering and Technology, Stevenage
Improved Hybrid Navigation for Space
Transportation

Guilherme F. Trigo and Stephan Theil

1 Introduction

Navigation on-board most launchers and sounding rockets is purely inertial: mea-
surements from strapdown accelerometers and gyroscopes are integrated from an
initial condition yielding a high-rate navigation solution. While self-contained and
robust, inertial navigation suffers from a fundamental drawback: drift. If uncorrected,
the inertial propagation errors will boundlessly grow over time. To compensate for
this, inertial sensors are made increasingly accurate, raising cost, and often also vol-
ume and mass. Still, inertial drift is unavoidable, posing important performance and
operational constraints on both launchers and sounding rockets. Trajectory main-
tenance and injection greatly depend on navigation accuracy. Not rarely, delivered
spacecraft need to perform costly orbital manoeuvres to correct for deficient injec-
tion, potentially reducing operation life-time, causing loss of commercial/scientific
profit. With drift, a strong limitation is also set on launch mission duration and pro-
file. For instance, return phases in missions of reusable vehicles simply cannot cope
with the error inertial propagation yields, requiring other measurement sources [17].
In sounding rockets, with lower budget and operational requirements, when used,
inertial sensors are generally of (comparatively) lower grade. Considerable uncer-
tainties in on-board tracking information are thus typical. Moreover, the available
propagated inertial attitude is often of poor quality, potentially limiting scientific
payloads or forcing these to feature their own solutions.
GNSS receivers have long been used to complement inertial systems. In fact, the
two sensors gracefully ease each others’ flaws: the GNSS receiver bounds inertial
drift, while the high-rate inertial measurements bridge the low-rate GNSS outputs
[7]. This combination can be achieved in three main ways: loosely coupled uses

G.F. Trigo (B) · S. Theil


GNC Systems Department, German Aerospace Center (DLR), Institute of Space Systems,
Bremen, Germany
e-mail: guilherme.trigo@dlr.de

© Springer International Publishing AG 2018 295


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_16
296 G.F. Trigo and S. Theil

receiver navigation solution to correct the inertial solution; tightly coupled avoids
filter cascading by using GNSS raw measurements; while ultra-tight (deep for some
authors) goes even further by driving the receiver tracking loops with the inertially
aided correlators outputs [7]. In this contribution we study the application of a tightly
coupled GPS/INS (Inertial Navigation System) hybrid system to rocket navigation.
In a launch environment GNSS technology has a set of important vulnerabili-
ties. As non-self-contained, it can suffer external signal disturbance and disruption.
Jamming and spoofing, for instance, pose real threat to signal quality and veracity,
while ionospheric scintillations can cause temporary signal loss. Additionally, sig-
nal tracking is not immune to the high-dynamics, vibration and shocks experienced
in-flight. Although complete mitigation of all these risks is not possible, improved
receiver design/tuning and integrity monitoring can lessen their effects. Moreover,
combination with inertial sensors improves availability and robustness.
Despite the fundamental drawbacks described, which raised considerable opposi-
tion to the use GNSS technology in rocket applications, several examples of GNSS-
based systems for space transportation have been conceived and tested. In the U.S.,
the Space Integrated GPS/INS, known as SIGI, a primary navigation system designed
by Honeywell under a NASA contract, has been extensively tested including on-board
of the Space Shuttle [29]. Also in the U.S., GPS metric tracking systems (GPS-MT),
a class of on-board GPS-based tracking and telemetry systems, have been targeted
as key technology after decomissioning of C-band radar facilities. Under this initia-
tive, United Launch Aliance has developed a system using COTS components [2],
which is routinely flown on Atlas V and Delta IV launchers as main tracking means.
Other GPS-MT systems for small launchers and sounding rockets are described by
Slivinsky et al. [18] and williams et al. [28]. In Russia, a hybrid INS/GLONASS/GPS
primary navigation system has been tested on-board of the Fregat upper stage. After
numerous flights, a 100-fold improvement was attained in orbital injection accuracy
in GTO/GEO missions with respect to purely inertial performance [3]. In Europe,
DLR has developed and flight-proved the Orion GPS receiver for rocket applications
[13], and more recently the Phoenix-HD receiver [11]. Due to the lack of redun-
dancy in the tracking of the European small launcher VEGA, a COTS GPS receiver
is currently flown as part of the ALTS (Autonomous Localization and Telemetry
Subsystem). This is planned to be coupled with a COTS inertial sensor in coming
flights [5]. In 2014, as part of the OCAM-G experiment, a cooperation between
ESA and European national space agencies and industry partners, a set of three
GNSS receivers (including the Phoenix) flew on-board of the Ariane-V launcher [9].
Results of this experiment have been used by Braun et al. [1] to study an inertially-
aided GNSS tracking system. In terms of primary navigation, an extensive study by
Airbus DS with ESA funding, the HiNAV, developed a prototype GNSS/INS system
for European launch and re-entry vehicles, revealing promising results [16]. Finally,
DLR has conceived and successfully flown a tightly coupled GPS/INS system, the
Hybrid Navigation System (HNS), on the SHEFEX2 experimental flight. Envisaged
as primary navigation, the HNS uses a COTS IMU, a Phoenix receiver and a DLR-
developed star sensor [20, 23].
Improved Hybrid Navigation for Space Transportation 297

Following the HNS development and SHEFEX2 flight, the Pseudorange-only fil-
ter updating was found to yield slow velocity estimation during engine burns [21]. As
accuracy is critical during propelled flight phases, both for optimal vehicle steering
and for safety monitoring, a GNSS velocity-based measurement should be included.
Pseudorange-rate is a common choice, however, Time-Differenced Carrier Phase
(TDCP), which is a measure of delta-range, has shown superior performance in highly
dynamic applications such as missile [26] and agile UAV [30]. The time-differencing
cancels out the phase ambiguity terms, avoiding the need for ambiguity fixing by
differential operation or ambiguity resolution [25]. The application of TDCP observ-
ables to the rocket tightly coupled navigation problem is here investigated. Receiver
clock error affecting GNSS measurements can be eliminated by channel differencing
as done by Steffes [19], however, this reduces measurement availability (as it requires
at least two satellites). A reduced order receiver clock model is here described, which
takes into account the correlation between clock error in Pseudorange (PR) and TDCP
measurements. Furthermore, Tropospheric delay-rate is shown to be a major error
source in a rocket ascent scenario. A way of robustly correcting for this effect within
the navigation filter is proposed.
We begin with a discussion on GNSS/INS architectures in the light of rocket
navigation. An explanation on the GPS TDCP observable and the models used for
receiver clock error and tropospheric delay precedes a detailed description of the
hybrid navigation algorithm. The proposed system performance is then evaluated
using real GNSS data.

2 GNSS/INS Hybrid Navigation Architectures

There are several ways to combine (or couple) GNSS measurements with inertial
ones, from an IMU or INS. Figure 1 shows the most common coupling architectures.
Excluding the uncoupled configuration, where INS and GNSS each independently
provide a navigation solution, the simplest set-up is the loosely coupled (Fig. 1a).
This uses the GNSS navigation solution to correct the inertial propagation through a
fusion algorithm (e.g. a Kalman filter) [7]. The tightly coupled architecture (Fig. 1b),
instead, uses raw GNSS measurements (e.g. Pseudorange, Pseurange-rate, Carrier
Phase), allowing the navigation filter to still draw information from sets of fewer than

Fig. 1 GNSS/IMU hybridization architectures


298 G.F. Trigo and S. Theil

four tracked satellites. This is crucial given the tracking vulnerabilities of GNSS under
rocket dynamics. A less obvious advantage of the tightly coupled scheme is the avoid-
ance of a cascade of two filters: the GNSS receiver fix is obtained through filtering,
making it heavily time-correlated with a time-varying statistical profile, which may
easily lead to severe mismodelling, degrading robustness and performance [7]. In
these two configurations the fused estimates can be provided as aiding to the GNSS
receiver to expedite SV (re)acquisition. Finally, in an ultra-tight coupling (Fig. 1c)
the receiver accumulated correlator outputs (I and Q) are fused with the inertial mea-
surements, and fed back to drive the receiver tracking loops. This scheme achieves
the best performance, however, it requires extensive access to the internal function-
ing of the receiver or parallel development of both receiver and hybrid system. The
design complexity of such a system is thus far greater than that of the less coupled
options. The tightly coupled set-up is chosen for this study for allowing the use of
COTS components while still yielding strong levels of performance and robustness.
A further design option has to do with the open-/closed-loop nature of the esti-
mated navigation corrections [7]. In the open-loop configuration the fusion algorithm
estimates corrections to be applied to the inertial propagator output (position, velocity
and attitude). These corrections may grow indefinitely as the inertial solution drifts.
Instead, the inertial propagation may be regularly reset using the fused estimates
in a closed-loop set-up. This makes sure that the filter remains close to the origin,
reducing linearization errors and numerical issues due to unbounded state growth.
Moreover, it allows for the inertial sensor online calibration, offering higher levels
of performance and robustness. This option was adopted in this study.
Within the closed-loop set up, the level of modularity between fusion filter and
inertial propagation is another design degree of freedom. If the two are independently
defined, having the filter estimating error quantities, the set-up is known as indirect
(or error-state) filtering. The direct (or total-state) filtering is achieved by merging
the inertial algorithm and the filter propagation step. The resulting filter estimates
total kinematics quantities, instead of errors or corrections. Although architecturally
distinct the performances of these two set-ups can be made virtually equivalent [7].
Differences in behaviour may still arise from the way the corrections are performed,
as observed by Wendel et al. [27]. The direct filtering scheme is, in general, more
computationally intensive [27] and offers less design flexibility. Furthermore, as
Steffes [22] shows, the indirect filtering architecture provides a simple yet powerful
way to deal with measurement latency in the real-time implementation.

3 Time-Differenced Integrated Carrier Phases

The integrated carrier phase quantity is obtained within the GPS receiver through the
accumulation of the phase increments from the carrier tracking loop. It is directly
proportional to the range between receiver and emitting satellite, being by far the GPS
raw measurement with the lowest noise level [8]. However, the initial phase value is
unknown, preventing direct usage of this observable. Although this ambiguity term
Improved Hybrid Navigation for Space Transportation 299

can be estimated using, for instance, ambiguity resolution/fixing methods in stand-


alone or differential operation, allowing the integrated carrier measurement to be
used as a range observable, this is not always possible or convenient.
A way to use these measurements without explicitly computing the ambiguities, is
by forming Time-Differences of the integrated Carrier Phase (TDCP) measurements.
Being a constant term, it is effectively cancelled out. The result is a measure of
delta-range, i.e. a displacement or an average velocity. The dual-epoch nature of the
delta-range measurements makes their use in Kalman filtering more complicated
than the usual single-epoch measurement. Nevertheless, several methods have been
successfully used in [26, 30]. In Sect. 4 one of these methods will be adapted to the
navigation filter at hand.
For channel i at epoch k the TDCP is formed as
   
λΔϕ̃i,k = λ(ϕ̃i,k − ϕ̃i,k−1 ) = ρi,k + λNi + cτi,k − ρi,k−1 + λNi + cτi,k−1
= Δρi,k + cΔτi,k (1)

where λ is the carrier wave-length and c the speed of light in vacuum. Note that the
phase ambiguity Ni vanishes. Δτ gathers the differences of the remaining (timing)
errors as
τi,k = τr,k + τs,i,k + τT,k,i − τI,k,i + τM,k,i + νk,i (2)

where τr and τs,i are, respectively, the receiver and satellite clock offsets; τT,i and τI,i
are tropospheric and ionospheric delays; τM,i is the delay caused by signal reflection
and multi-path; and νρ,i is measurement noise.
Satellite clock error is (mostly) removed with information from the navigation
message, while multipath delta-error is generally of impulse nature, occurring in
reflective conditions (e.g. on the launch pad). The profile and effect of the receiver
clock error and tropospheric delay are discussed in the following points.
Receiver Clock and Common-Mode Error
The common mode error is one that affects all channels equally. This is generally
attributed to the receiver clock which is often modelled as a second order system [4]
as     
τ̇r 0 1 τr
= + wτr , (3)
τ̈r 0 0 τ̇r
 
where wτr ∼ N 0, Qτr . This system is then discretised, with noise model obtained,
for instance, through an Allan variance fit as described in [24].
The receiver used in the present study, a DLR Phoenix-HD unit, uses the same
internal clock model to correct both pseudorange and integrated carrier phase mea-
surements. The TDCP common-mode error can be seen as an average clock frequency
error over the differencing interval Δt (here 1 s), i.e.

Δτr,k = τr,k − τr,k−1 ≈ Δt τ̇r,k . (4)


300 G.F. Trigo and S. Theil

Fig. 2 Clock frequency 10−8


error Allan std. dev. for a White noise fit

Allan , s/sec
DLR Phoenix-HD receiver −9
Actual Allan std. dev.
10

10−10

10−11
100 101 102 103
Cluster Time, sec

Figure 2 shows the Allan standard deviation of the clock frequency error of a
DLR Phoenix-HD receiver during a static test. This was obtained from pseudoranges
preprocessed to extract the remaining errors. It is clear that the frequency error is
dominated by white noise, leading the clock phase (or bias) to approximately behave
as random walk. The receiver clock model used in the navigation filter can then be

Clock-bias state process: τr,k+1 = τr,k + wτr ,k , (5)


TDCP measurement: yk = hk (xk ) + 1cΔτr,k + ν k , (6)

     
with wτr ,k ∼N 0, στ2r ,k , Δτr,k ∼ N 0, σΔτ 2
r ,k
, ν k ∼ N 0, Rν,k , (7)
 
and E wτr ,k Δτr,k+1 = στr ,k σΔτr ,k+1 = στ2r ,k = σΔτ
2
r ,k
. (8)

In Eq. (6), 1 is a column vector of ones. The correlation (8) between clock process
noise and TDCP common-mode error will be taken into account upon derivation of
the navigation filter. Note that the fact that the clock drift is modelled as white noise
avoids the need for one extra filter state, easing computational requirements.
Tropospheric Delay Effect
Refraction of GNSS signals in the Troposphere introduces a delay that depends on
signal travel path and atmospheric conditions. For a land-based receiver this delay is
fairly constant, affecting mostly position estimation. In a rocket application, the most
important effect is not in position (though it is still affected) but in velocity. In fact,
the ascending rocket motion through the atmosphere makes the tropospheric delay
on each channel change quickly, yielding a hump-like error in range-rate (or delta-
range), i.e. in velocity information. While in pseudorange (PR) and pseudorange-rate
(PR-rate) this effect is mostly buried in measurement noise, in TDCP the consider-
ably lower (single-channel) noise renders this effect flagrant. Figure 3b–d show this
effect on such observables (from SVs at different elevations) measured with a DLR
Phoenix-HD GPS receiver stimulated by a GSS7700 SPIRENT GNSS emulator,
which runs a NATO STANAG troposphere model [14]. The altitude profile followed
is shown in Fig. 3a.
Improved Hybrid Navigation for Space Transportation 301

80
1 1 0.6

error, m/s
error, m

error, m
0.4
40 0 0
0.2

0 −1 −1 0
−40 0 40 80 −40 0 40 80 −40 0 40 80 −40 0 40 80
Time, s Time, s Time, s Time, s
(a) Altitude, km (b) Delta-PR (c) PR-rate (d) TDCP

1 1 0.6

error, m/s
error, m

error, m
SV elevation
10◦ 0.4
0 0
15◦ 0.2
60◦
−1 −1 0
−40 0 40 80 −40 0 40 80 −40 0 40 80
Time, s Time, s Time, s
(e) Corrected Delta-PR (f) Corrected PR-rate (g) Corrected TDCP

Fig. 3 Error in delta-PR, PR-rate and TDCP (at 1 Hz) during rocket ascent, with and without
tropospheric correction (see model in Appendix). Lift-off at t = 0 s

The tropospheric delay-rate should be corrected or accounted for in filter tun-


ing, or the error in velocity estimation may surpass covariance bounds during this
phase. This can worsen strapdown divergence in case of signal outage, which is
rather likely during this flight leg given the violent dynamic events that may then
occur. Many algorithms exists for tropospheric delay compensation. Most make use
of atmospheric data either measured on-site or looked-up from tables of average
regional/global values [10, 15]. However, even with such correction the residual
error in TDCP may still be considerably higher than the measurement noise level
(Fig. 3e–g). Therefore, for filter robustness, the measurement error covariance should
account for the presence of such tropospheric residual.
Assume that the true tropospheric delay and delta-delay in channel i can be given
in terms of the modelled quantities as1

τT,i,k = (1 + sT ) h τT ,i,k (xk ) (9)


 
ΔτT,i,k = (1 + sT )Δh τT ,i,k (xk ) = (1 + sT ) h τT ,i,k (xk ) − h τT ,i,k−1 (xk ) , (10)

where sT ∼ N (0, σs2T ) is a constant unknown scale factor. h τT ,i,k (xk ) is the tro-
pospheric delay correction model function.
The covariance of the post-correction residual vectors, δτ T,k and δΔτ T,k , is
    T
E δτ T,k δτ TT,k = E τ T,k − τ̂ T,k τ T,k − τ̂ T,k
= σs2T hτT ,k (x̂k )hτT ,k (x̂k )T + HτT ,k Pk HτT ,k T , (11)

1 Asit shall be seen, the state vector of the navigation filter described in Sect. 4 allows ΔτT,k to be
given only in terms of xk , needing not xk−1 .
302 G.F. Trigo and S. Theil

and
    T
E δΔτ T,k δΔτ TT,k = E Δτ T,k − Δτ̂ T,k Δτ T,k − Δτ̂ T,k
= σs2T ΔhτT ,k (x̂k )ΔhτT ,k (x̂k )T + HΔτT ,k Pk HΔτ
T
T ,k
, (12)

with ΔhτT ,k (x̂k ) = hτT ,k (x̂k ) − hτT ,k−1 (x̂k ) , HΔτT ,k = HτT ,k − HτT ,k−1 , (13)

∂ hτT ,k (xk )

∂ hτT ,k−1 (xk )

and HτT ,k =
, HτT ,k−1 =
. (14)
∂xk x̂k
∂x k x̂k

Pk is the filter state estimate covariance matrix. The value of σsT is selected through
simulation or flight data analysis, and according to the performance of the correc-
tion algorithm in use, to render the filter robust against the delay residuals. The
tropospheric delay correction model used in this study can be found in Appendix.

4 Hybrid Navigation Algorithm Design

A diagram of the hybrid navigation system here developed is shown in Fig. 4. The
system is tightly coupled with closed-loop indirect filtering (see Sect. 2). The IMU
measurements are propagated at high-rate (400 Hz) by the strapdown routine while
the raw GPS outputs (pseudoranges and integrated carrier phases), received at much
lower rate (1 Hz), are used to update an error-state Kalman filter (running at 1 Hz). The
estimated state corrections, including IMU error terms, are fed back to the strapdown
routine. As explained in the preceding section, a tropospheric delay model corrects
the GPS measurements and is used for the measurement update noise model, as
means of rendering the filter robust against correction residuals.

Fig. 4 Navigation algorithm block diagram


Improved Hybrid Navigation for Space Transportation 303

4.1 Reference Frames and Time Indexing

The WGS84 (World Geodetic System 1984) Earth-Centered Earth-Fixed (ECEF) is


here denoted E; an Inertial reference frame, used to support the definition of absolute
physical quantities, is denoted I ; and a Body-fixed frame, with origin in the center
of the IMU, is written B.
The time index of the high-rate tasks is denoted j, whereas that of the low-rate ones
is k. The high-rate index is reset at each low-rate step, tk = t j=0 , being tk+1 = t j=N ,
with N = 400.

4.2 Strapdown Propagation

The vehicle body attitude with respect to ECEF frame is represented using the quater-
nion q BE . This quantity is propagated according to
 1  
E j+1 −2 + 1
Δθ Bj 2 + 24
1
Δθ Bj−1 × Δθ Bj E E
q B j+1 = 48 q B jj q E jj+1 , (15)
1 − 8 Δθ j 
1 B 2

where the transition


quaternion
from B j to B j+1 follows the third order algorithm
by McKern [12]. Δθ Bj−1 × is the skew-symmetric matrix of Δθ Bj−1 .
The rigid-body translational kinematics can be given in the inertial frame as
t j+1  I B 
v Ij+1 = v Ij + C B asf + g I dt = v Ij + Δvsf,
I
j + Δvg, j
I
(16)
tj
t j+1
Δt j  I 
r Ij+1 = r Ij + v I dt = r Ij + v j + v Ij+1 , (17)
tj 2

where g I and asfB are gravity and specific-force accelerations, respectively. The inte-
gral in (17) was solved using a trapezoidal method, with Δt j = t j+1 − t j . System
(16) and (17) is easily transformed to ECEF yielding the propagation laws for v Ej
and r Ej .
The gravity induced Delta-V, Δvg, I
j , can be approximated evaluating the gravity
field model at the midpoint of the integration period as
 
Δvg,
I
j ≈ Δt j C E
I
1
g Ej+ 1 = Δt j C EI g E r Ej+ 1 , (18)
j+ 2 2 j+ 21 2

where g E (r E ) is the ECEF gravity model function. The specific force Delta-V, Δvsf,
I
j,
is also assumed to be taken at the midpoint of the integration period to account for
the rotation of Body frame during this interval. It is given by
304 G.F. Trigo and S. Theil

E B
Δvsf,
I
j ≈ CE j CB j CB
I j j
Δv Bj , (19)
j+ 21

where Δv Bj is the accelerometer measurement from t j to t j+1 .

4.3 Kalman Filter Equations

The error-state filter equations from [20] are here modified to accommodate the
correlation between measurement and process noise. Recall from Sect. 3 that, in the
present system, the clock error in the TDCP is perfectly correlated with the driving
noise of the clock-bias state.
The whole-state system and measurement models are written as

xk+1 = φ k+1|k (xk ) + wk (20)


yk = hk (xk ) + ε k + ν k , (21)
   
 wk ∼
where  N 0, Qk+1|k is the process noise, and ε k ∼ N 0, Rε,k and ν k ∼
N 0, Rν,k are measurement noises. ε is correlated to w according to
 
E ε k wk−1
T
= BTk . (22)

The error-state system and measurement models are given, respectively, by

δxk+1 = xk+1 − x̂k+1 = φ k+1|k (x̂k + δxk ) − φ k+1|k (x̂k ) + wk (23)


δyk = yk − ŷk = hk (x̂k + δxk ) − hk (x̂k ) + ε k + ν k . (24)

The covariance of the a priori error-state follows2

P(k+1)− ≈ k+1|k Pk + Tk+1|k + QTk+1|k , (25)

where k+1|k is the Jacobian matrix of the vector function φ k+1|k (xk ) evaluated at
the a posteriori whole-state estimate at time step k, x̂k + .
The filter correction step is given by
    
δ x̂k + = δ x̂k − + Kk δy − hk x̂k − + δ x̂k − + hk x̂k − . (26)

with the Kalman gain Kk given as in [6] as


  
Kk = Pk − HkT + Bk Hk Pk − HkT + Hk Bk + BTk HkT + Rε,k + Rν,k −1 (27)

2A priori and a posteriori estimates are denoted, respectively, by the index superscripts − and +.
Improved Hybrid Navigation for Space Transportation 305

yielding
Pk + = (I − Kk Hk ) Pk − − Kk BTk , (28)

where Hk is the Jacobian matrix of the measurement vector function hk (xk ) evaluated
at the a priori whole-state estimate, x̂k − .
After a measurement update cycle the whole state is updated with the error-state
vector, being the latter reset,

x̂k + = x̂k − + δ x̂k + , δ x̂k + ← 0 . (29)

4.4 State Vector

As stated in the previous point the navigation system at hand uses two state vectors:
the whole state and error state vectors. For each estimated whole state there is a
corresponding error state. States can also be split into: strapdown (kinematics) states,
IMU states (bias and scale-factor states) and measurement model states, as
T T
xk = xkin,k T
ximu,k T
xmeas,k . (30)

In general the error states are simple additive disturbances of the whole-states as
in (23). The attitude is an exception. The error-state is instead a 3-component angle as
1   
δθ kB
2 ≈ q BEkk q̂ BEkk −1 . (31)
1

The set of kinematics whole-states xkin,k includes vkE , rkE and q BEkk , being the corre-
sponding error-states δvkE , δrkE and δθ kB . The remaining state sets, ximu and xmeas ,
are introduced in the following sections.

4.5 IMU Error Model

The accelerometer and gyroscope measurements were modelled including the dis-
turbing effects of scale factor and bias errors, as
  B  B
Δṽsf,
B
j = I + diag sa, j Δvsf, j + Δt j ba,
B
j + ν a, j (32)
B   
Δθ̃ j = I + diag sg,B
j Δθ Bj + Δt j bg,B
j + ν g, j . (33)

B
where Δṽsf,
B
j and Δθ̃ j are the measured increments, while Δvsf, j and Δθ j are the
B B

actual quantities. ν a, j and ν g, j are measurement noise terms. The bias ba,
B
j and
306 G.F. Trigo and S. Theil

B B B
bg, j , and scale-factors ba, j and bg, j are the filter states in ximu,k . To each of these
quantities corresponds an error-state: δba, B
j , δbg, j , δsa, j , and δsg, j . These IMU states
B B B

are modelled as random walk processes with random initial condition. The values
used correspond to the fibre-optic gyros and servo accelerometers of the tactical
grade IMU of the HNS version flown on-board of SHEFEX2 [20].

4.6 Filter Propagation

The strapdown algorithm presented earlier propagates the kinematics whole-states


at high-rate (time-index j). Linearizing the error-state system

δx j+1 = φ j+1| j (x̂k + δx j ) − φ j+1| j (x̂ j ) + w j ≈ j+1| j δx j + w j , (34)

which yields
⎡ ⎤
kin
kin imu
kin 0
j+1| j =⎣ 0 imu
imu 0 ⎦ , (35)
0 0 meas
meas j+1| j

and assuming that the accumulated system noise over one low-rate step (index k)
is lower than the total state uncertainty, the low-rate transition and process noise
covariance matrices can be approximated as


N −1 N −1

k+1|k ≈ j+1| j , Qk+1|k ≈ Q j+1| j , (36)
j=0 j=0

where tk = t j=0 and tk+1 = t j=N .


kin and kin can be easily derived from the linearization of
The sub-matrices kin imu

the translational kinematics (16) and (17), with (18) and (19), after transforming all
to the ECEF frame, and the error-angle kinematics given in [20] by
B
δθ Bj+1 = Ĉ B j+1
j
δθ Bj − δΔθ Bj + noise . (37)

The mapping from IMU error-states δximu to the error in the increments δΔv B and
δΔθ B is obtained through the (approximate) inverse of the IMU error model (32)
and (33)
  B
δΔv Bj = − diag Δṽ Bj δsa, j − Δt j δba, j − ν a, j
B
(38)
 B B
δΔθ Bj = − diag Δθ̃ j δsg, j − Δt j δbg, j − ν g, j .
B
(39)
Improved Hybrid Navigation for Space Transportation 307

The IMU error random walk states mean that imu imu = I. As for meas , it shall be
meas

easily formed upon definition, in the next points, of the filter update models.

4.7 Filter Updates

The filter update models used for Pseudorange and Time-differenced Integrated Car-
rier Phase measurements are as follows.
Pseudorange Update
The model for a set of pseudorange measurements can be written in the form

yρ,k = hρ,k (xk ) + ν ρ,k , (40)

where the measurement (vector) function hρ (xk ) is for channel i given by


 
h ρ,i,k (xk ) = ρi,k (xk ) + c τr,k + τT,i,k (xk ) + bρ,i,k , (41)

with range
   
 
ρi,k (xk ) = C EE(tk s,i,k ) riE ts,i,k − rkE − C EBkk laB  . (42)

The satellite position riE is evaluated at the emitting instant ts,i,k and translated to the
ECEF coordinates at time of reception. la is the lever-arm from IMU to GPS antenna.
The pseudorange bias state bρ,i is modelled as a random constant plus random walk
b
process (i.e. bρ,i
ρ,i
= 1). The receiver clock-bias state τr has the dynamics given by
(6). The tropospheric delay τT,i,k (xk ) is given by (9).
The error-measurement model is similar to (24) as

δyρ,k = hρ,k (x̂k + δxk ) − hρ,k (x̂k ) + ν ρ,k . (43)

where for the ith channel


 
h ρ,i,k (x̂k + δxk ) − h ρ,i,k (x̂k ) = δρi,k (δxk ) + c δτr,k + δτT,i,k (δxk ) + δbρ,i,k , (44)

with
 
δρi,k (δxk ) ≈ −êρ,i,k
E T
δrkE + Ĉ EBkk laB × δθ kB (45)
 
δτT,i,k (δxk ) ≈ sT,i h τT ,i,k x̂k + hτT ,i,k δxk . (46)

E
êρ,i,k is the estimated unit range vector from receiver to satellite i, and hτT ,i,k , as
derived in Appendix, is the Jacobian row vector of the tropospheric delay model
function h τT ,i,k (xk ) with respect to the error-state vector.
308 G.F. Trigo and S. Theil

The covariance of the error-measurement (43) is


 
E δyρ,k δyρ,k
T
≈ Hρ,k Pk Hρ,k
T
+ c2 σs2T hτT ,k (x̂k )hτT ,k (x̂k )T + Rρ,k , (47)

where
T T
Hρ,k = hρ,1,k · · · hρ,i,k
T
· · · hρ,n,k
T
, (48)

with non-null partial derivatives

θ

r
hρ,i,k = −êρ,i,k
E T
+ c hτr T ,i , hρ,i,k = −êρ,i,k Ĉ Bk la × + c hτθT ,i ,
E T Ek B

τr b
(49)
hρ,i,k =c, ρ,i
hρ,i,k =1.

hτr T ,i,k and hτθT ,i,k are the components of hτT ,i,k corresponding to δrkE and δθ kB .
Time-Differenced Integrated Carrier Phase Update
The TDCP measurement set can be modelled as

yΔρ,k = hΔρ,k (xk ) + 1cΔτr,k + ν Δρ,k , (50)


   
where ν Δρ,k ∼ N 0, RΔρ,k holds the single-channel noises and Δτr,k ∼ N 0, σΔτ 2
r ,k
,
the TDCP clock error in (6), is perfectly correlated to the process noise of τr , as (8).
The state-to-measurement mapping function is for channel i

h Δρ,i,k (xk ) = ρi,k (xk ) − ρi,k−1 (xk ) + cΔτT,i,k (xk ) , (51)

where ρi,k (xk ) is as (42), ΔτT,i,k (xk ) follows (10), and


   
 E E k−1 
ρi,k−1 (xk ) = C E(tk−1s,i,k−1 ) riE ts,i,k−1 − ra,k−1,k  . (52)

E k−1
ra,k−1,k is a delayed state of GPS antenna position. This is a constant state, with null
process noise, that is reset after each measurement update cycle as
 
E k−1
r̂a,k−1 ← r̂ E + Ĉ EB laB . (53)
k+ k+

Ek−1
Note that ra,k−1 is treated as a considered state, i.e. it is not updated (Kkra = 0). This
renders the computational effort required by the inclusion of this state relatively low.
Upon reset its covariance and cross-covariance (to the remaining states) are set to
     
Pxra k + ← Pxx xra ,0 T k + , Pra ra k + ← Pra ,0 , (54)
Improved Hybrid Navigation for Space Transportation 309

where Pxx is the covariance matrix of the remaining states, ra x,0 is sparse with only

rra ,0 = I , θra ,0 = Ĉ EBkk laB × , (55)

and Pra ,0 is a small initial covariance used to avoid numerical problems.


The error-measurement δyΔρ,k follows a similar logic to (43), as

δyΔρ,k = hΔρ,k (x̂k + δxk ) − hΔρ,k (x̂k ) + 1cΔτr,k + ν Δρ,k . (56)

being for channel i

h Δρ,i,k (x̂k + δxk ) − h Δρ,i,k (x̂k ) = δΔρi,k (δxk ) + cδΔτT,i,k (δxk ) (57)

and
E
δΔρi,k (δxk ) ≈ δρi,k (δxk ) + êρ,i,k−1
E T
δra,k−1
k−1
, (58)
  E k−1
δΔτT,i,k (δxk ) ≈ sT,i Δh τT ,i,k x̂k + hτT ,i,k δxk − hτr T ,i,k−1 δra,k−1 . (59)

where δρi,k (δxk ) is as (45).


The covariance of δyΔρ,k is formed accounting for the correlation (8) as
 
E δyΔρ,k δyΔρ,k
T
≈ HΔρ,k Pk HΔρ,k
T
+ c2 σs2T ΔhτT ,k (x̂k )ΔhτT ,k (x̂k )T
+3c2 σΔτ
2
r ,k
11T + RΔρ,k , (60)

where T T
HΔρ,k = hΔρ,1,k · · · hΔρ,i,k
T
· · · hΔρ,n,k
T
, (61)

with non-null components


θ θ ra
r
hΔρ,i,k = hρ,i,k
r
, hΔρ,i,k = hρ,i,k , hΔρ,i,k = êρ,i,k−1
E T
− c hτr T ,i,k−1 . (62)

5 Testing Results

The navigation algorithm here presented was Hardware-in-the-Loop (HIL) tested


using real GPS data. A SPIRENT GNSS emulator was used to stimulate a Phoenix-
HD receiver, having its output been filtered offline. Atmospheric disturbances such
as Ionospheric and Tropospheric delays (STANAG tropospheric model [14]) were
included in the emulation. The trajectory used follows a similar profile to that of
the SHEFEX2 mission [21]. Figure 5 shows the altitude time history of the two-burn
sounding rocket flight. The IMU measurements were simulated using a tactical-grade
unit model with specifications as shown in Table 1.
310 G.F. Trigo and S. Theil

Fig. 5 Altitude profile of 300


SHEFEX2 mission

Altitude, km
200

100

Engine burns
0
0 100 200 300 400 500
Time, s

Table 1 IMU (1σ ) specifications [20]


Gyroscope Accelerometer
Sensor range ±1000 deg/s ±5 g
Bandwidth 500 Hz 200 Hz
Axis misalignment 0.5 mrad 0.5 mrad
√ √
Angle/vel. random walk 0.03 deg/ h 50 µg/ Hz
Bias repeatability 1 deg/h 2 mg
Bias instability 0.03 deg/h 50 µg
Scale-factor repeatability 300 ppm 1500 ppm

Tropospheric Delay Correction


Velocity estimation performance during the atmospheric ascent is compared in Fig. 6
for four different set-ups using both TDCP and PR updates:
(1) uncorrected measurements and update models neglecting Tropospheric delay;
(2) uncorrected measurements but inflated measurement model noise values;
(3) corrected measurements neglecting correction residuals; and
(4) corrected measurements considering correction residuals (as in Sect. 3).
To compensate for the uncorrected atmospheric errors in the GPS signal, Steffes
[19] used 1σ covariance of the PR measurements scheduled in altitude as: 50 m for
altitudes below 10 km (also accounting for multipath on the pad), 10 m for altitudes
within 10–200 km, and 2 m for altitudes above 200 km. Configuration (2) employs
these same values and a similar conservative schedule for the TDCP measurements.
The advantage of the configurations using corrected measurements is clear upon
comparison of Fig. 6a, b. Note, however, that set-ups without covariance compensa-
tion, either against the entire tropospheric delay or the leftover correction residual,
show signs of severe mismodelling, behaving over-optimistically. The proposed com-
pensation method presented in Sect. 3 successfully maintains the filter coherence,
further reducing the impact of the residual delay on the estimation.
Improved Hybrid Navigation for Space Transportation 311

Velocity error, m/s


Velocity error, m/s
0.8 0.2
0.6

0.4 0.1

0.2

0 0
0 20 40 60 80 0 20 40 60 80
Time, s Time, s
(a) Uncorrected TDCP + PR (b) Corrected TDCP + PR

Line Stylea Tropo Corrected Covariance Compensation


1) no none
2) no R scheduled vs altitude as in [19]
3) yes none
4) yes as described in Section 3 (Time -
Differenced Integrated Carrier Phases)
a Dashed lines show 1 covariance bound.

Fig. 6 Velocity estimation error with and without tropospheric delay correction and covariance
compensation

Nominal Performance
In Fig. 7 the estimation error in terms of the kinematic states of the algorithm devel-
oped herein (filter 4 in the previous analysis) is compared to:
• an uncorrected PR-only SHEFEX2 HNS-like configuration [19, 20]; and
• a PR-only set-up with tropospheric corrections as described in Sect. 3.
Once again, using tropospheric delay correction, even if only employing PR
updates, considerably improves estimation during the atmospheric flight leg, espe-
cially in terms of velocity and attitude. However, it is the addition of TDCP mea-
surements that yields the greatest improvement. As expected, given the delta-range
nature of the TDCP observables and its low noise, velocity error sees the most sig-
nificant reduction (about 10-fold throughout). Attitude estimation also benefits from
the more accurate velocity information, especially during the more dynamic flight
phases.
GNSS Outage
Vehicle dynamics can cause loss of lock in the GNSS tracking loops. Events such as
separation, ignition, peak dynamic pressure, sonic transition are especially critical
[9]. Figure 8 compares the developed filter to the configurations described in the
previous point under a 30 s outage starting at t =20 s. While all filters visibly drift,
the proposed configuration clearly sees its velocity, position and attitude estimation
diverge the least during the outage. The lower estimation error, granted especially
by the use of TDCP updates, results in a better initial state for the pure inertial
propagation during drop-out, thus yielding superior outage performance.
312 G.F. Trigo and S. Theil

Velocity error, m/s 10 1 30

Position error, m
10 0 20

10 −1 10

10 −2
0
0 100 200 300 400 500 0 100 200 300 400 500
Time, s Time, s
(a) Velocity error (b) Position error
10
Attitude error, deg

8
PR, uncorrected (SHEFEX2 HNS-like)
6
PR, robust Tropo correction
4 TDCP+PR, robust Tropo correction
2
1 covariance bounds as dashed lines

0
0 100 200 300 400 500
Time, s
(c) Attitude error

Fig. 7 Nominal estimation performance of the proposed system compared to two PR-only filters

6 Conclusion

A tightly coupled, Time-differenced Carrier Phase and Pseudorange updated, hybrid


navigation system has been presented. In the light of rocket launch conditions, the
chosen architecture yields added robustness with respect to a loose coupling, while
being realizable with COTS components, contrarily to the ultra-tight set-up. The
receiver clock error dynamics affecting both TDCP and PR observables has been
analysed for the receiver at hand and approximated by a single-state model, avoid-
ing the wasteful cross-channel differences while carrying little extra computational
effort. Tropospheric delta-delay has been found to be a major disturbance of the
TDCP measurements. Although conservative measurement model tuning at lower
atmosphere could render the filter coherent under this effect, estimation performance
is poor when compared to a feed-forward corrected set-up. The residuals of this cor-
rection, however, still caused severe mismodelling. The proposed correction scheme
with covariance compensation has shown better robustness against such residuals,
maintaining filter coherence. The performance of the overall system has been com-
pared to a SHEFEX2 HNS-like baseline configuration through HIL simulation, dis-
playing significant improvements in nominal and outage conditions.

Acknowledgements The authors would like to thank ESA, Guidance, Navigation & Control
Section at the European Space Research and Technology Centre for granting the funding, through
the Network/Partnering Initiative contract 4000111837/14/NL/MH, which enabled this research.
Improved Hybrid Navigation for Space Transportation 313

Velocity error, m/s


10

Position error, m
200

5 100

0 0
0 50 100 150 200 0 50 100 150 200
Time, s Time, s
(a) Velocity error (b) Position error

15
Attitude error, deg

PR, uncorrected (SHEFEX2 HNS-like)


10 PR, robust Tropo correction
TDCP+PR, robust Tropo correction
5 GNSS outage
1 covariance bounds as dashed lines
0
0 50 100 150 200
Time, s
(c) Attitude error

Fig. 8 Estimation performance comparison in case of GNSS outage

In addition, the authors would like to thank Oliver Montenbruck, Markus Markgraf and Benjamin
Braun from the German Space Operations Center (DLR) for the support to this work.

Appendix

Parkinson et al. [15] suggests the following coarse tropospheric delay model, which
does not require in situ atmospheric measurements nor the use of look-up tables:

h τT ,i,k (xk ) = 1
c
m(Ei,k )Δ(ha,k ) , (63)

1.0121 −3
with m(Ei,k ) = , Δ(ha,k ) = 2.4405 e−0.133×10 ha,k . (64)
sin Ei,k + 0.0121

The Zenit delay Δ is a function of the receiver antenna altitude ha,k , and the mapping
function m depends on the satellite apparent elevation Ei,k . c is the speed of light.
The sensitivity vector of this model to the error-state vector can be given as
 T  ∂ha,k 
∂h τT ,i,k (xk ) 0.133 × 10−3 ∂δxk
hτT ,i,k = = − c m(Ei,k )Δ(ha,k )
1
∂ sin Ei,k , (65)
∂δxk m(Ei,k ) ∂δxk
314 G.F. Trigo and S. Theil

 E   E T E
with ha,k = ra,k  − R⊕ , sin Ei,k = ea,k eρ,i,k , (66)

E E
where R⊕ is the Earth radius, ra,k is the receiver antenna position, ea,k is the unit
E
direction from the ECEF origin to the receiver antenna, and eρ,i,k , as in (45), is the
unit range vector. The non-null partial derivatives in (65) are then

T T
∂ sin Ei,k E
êa,k E 2 êρ,i,k
E
E 2 ∂ha,k  E T
= êρ,i,k × − êa,k × , = êa,k , (67)
∂δrkE r̂a,k
E
 ρ̂i,k ∂δrkE
∂ sin Ei,k ∂ sin Ei,k Ek B ∂ha,k ∂ha,k Ek B
= Ĉ Bk la × , = Ĉ l × . (68)
∂δθ k
E
∂δrk E
∂δθ kE
∂δrkE Bk a

References

1. Braun B, Markgraf M, Montenbruck O (2016) Performance analysis of IMU-augmented GNSS


tracking systems for space launch vehicles. CEAS Space J 8(2):117–133
2. Burke E, Rutkowski E, Rutkowski E (2008) Vehicle based independent tracking system
(VBITS): a small, modular, avionics suite for responsive launch vehicle and satellite appli-
cations. In: 6th Responsive Space Conference
3. Dishel V, Mezhiritskiy E (2011) Principals of integrated Ins/GLONASS+GPS GNC systems
for space launchers. Results Of Realized Missions And Future Prospects. In: 8th International
ESA Conference on Guidance, Navigation & Control Systems
4. Farrell JA (2008) Aided Navigation - GPS with High Rate Sensors. McGraw-Hill, New York
5. Giannini M, Melara M, Roux C (2014) Alts localization system of vega launcher: Vv02 post-
flight analysis & Gps issues for future hybrid navigation. In: 9th International ESA Conference
on Guidance, Navigation & Control Systems
6. Gibbs B (2011) Advanced Kalman Filtering, Least-Squares and Modeling. Wiley, Hoboken
7. Groves PD (2008) Principles of GNSS, Inertial, and Multisensor Integrated Navigation Sys-
tems. Artech House, Boston
8. Guochang X (2007) GPS Theory, Algorithms and Applications, 2nd edn. Springer, Berlin
9. Hauschild A, Markgraf M et al (2015) Results of the GNSS receiver experiment OCAM-G on
Ariane-5 flight VA 219. In: 6th European Conference for Aeronautics and Space Sciences
10. Hofmann-Wellenhof B, Lichtenegger H, Wasle E (2008) GNSS - Global Navigation Satellite
Systems. Springer, Wien
11. Markgraf M, Montenbruck O (2005) Phoenix-HD - a miniature GPS tracking system for sci-
entific and commercial rocket launches. In: 6th International Symposium on Launcher Tech-
nologies
12. McKern RA (1968) A Study of Transformation Algorithms for Use in a Digital Computer. MA
thesis. University of Illinois
13. Montenbruck O, Markgraf M (2004) Global positioning system sensor with instantaneous-
impact-point prediction for sounding rockets. J Spacecr Rocket 41:644–650
14. NATO Standardization Agreement (STANAG) (1993) Doc. 4294, Edition 1. NATO
15. Parkinson BW, Spilker JJ Jr (1996) Global Positioning System: Theory and Applications, Vol.
I. AIAA, Washington
16. Polle B, Frapard B et al (2008) Robust INS/GPS hybrid navigator demonstrator design for
launch, re-entry and orbital vehicles. In: 7th International ESA Conference on Guidance, Nav-
igation and Control Systems
17. Schlotterer M (2008) Navigation system for reusable launch vehicle. In: 31st Annual AAS
Guidance and Control Conference
Improved Hybrid Navigation for Space Transportation 315

18. Slivinsky S, Nesbit C et al (2002) Development and demonstration of a ballistic missile range
safety technology system. J Inst Navig 49:91–102
19. Steffes SR (2012) Real-time navigation algorithm for the SHEFEX2 hybrid navigation system
experiment. In: AIAA Guidance, Navigation, and Control Conference
20. Steffes SR (2013) Development and Analysis of SHEFEX-2 Hybrid Navigation System Exper-
iment. Ph.D. thesis. University of Bremen
21. Steffes SR (2014) Computationally distributed real-time dual rate Kalman filter. J Guid Control
Dyn 37:1064–1068
22. Steffes SR, Theil S, Samaan MA (2014) Post-mission analysis of flight results from the SHE-
FEX2 hybrid navigation system. In: 9th International ESA Conference on Guidance, Navigation
& Control Systems
23. Theil S, Steffes SR et al (2009) Hybrid navigation system for spaceplanes, launch and re- entry
vehicles. In: 16th AIAA/DLR/DGLR International Space Planes and Hypersonic Systems and
Technologies Conference
24. van Dierendonck AJ, McGraw JB, Brown RG (1984) Relationship between Allan variances
and Kalman filter parameters. In: 16th Annual PTTI Meeting
25. van Graas F, Soloviev A (2004) Precise velocity estimation using a stand-alone GPS receiver.
J Inst Navig 51:283–292
26. Wendel J, Trommer GF (2004) Tightly coupled GPS/INS integration for missile applications.
Aerosp Sci Technol 8:627–634
27. Wendel J, Schaile C, Trommer GF (2001) Direct Kalman filtering of GPS/INS for aerospace
applications. In: International Symposium on Kinematic Systems in Geodesy, Geomatics and
Navigation
28. Williams A, Villa M, Puig-Suari J (2014) Platform independent launch vehicle avionics. In:
28th Annual AIAA/USU Conference on Small Satellites
29. Willms B (1999) Space integrated GPS/INS (SIGI) navigation system for space shuttle. In:
18th Digital Avionics Systems Conference
30. Zhou J, Knedlik S, Loffeld O (2012) INS/GPS for high-dynamic UAV-based applications. Int
J Navig Obs 2012:1–11
Multi Sensor Fusion Based on Adaptive
Kalman Filtering

Setareh Yazdkhasti and Jurek Z. Sasiadek

1 Introduction

Data fusion techniques have been widely employed in multisensory environments


to fuse data from multiple sensors in order to achieve lower detection errors and
higher reliability. One of the most popular approaches for navigation sensor fusion
is implementing the conventional Kalman filters [1–3]. The significant difficulties
in designing the conventional Kalman filters (i.e. EKF, UKF, and IEKF) for sensor
fusion is incomplete prior information on covariance matrices [4]. Poor knowledge
of the models may seriously reduce the Kalman filters’ performance, and make
the filters unstable. Numerous model proposals have been improved to address this
problem over the last twenty years, including the adaptive Kalman filtering approach,
which has proven to be an effective strategy for managing the limitations associated
with the conventional Kalman filters. An adaptive Extended Kalman Filter for the
localization of mobile robots were developed by Jetto and Longhi [5]. In their work,
the data provided by sonar and odometrical sensors were fused through an adaptive
EKF to provide online estimates of a robot’s position. An adaptive two stage EKF for
estimating unknown fault bias in an INS/GPS loosely coupled system, was proposed
by Kim and Lee [6]. An adaptive EKF using artificial neural networks was devel-
oped by Stubberu et al. [7], who designed a neuro-observer that can learn system
uncertainties and improve the overall performance of an uncertain control system
in the state-estimator model. An adaptive UKF algorithm for target tracking with
unknown process noise statistics was introduced by Shi et al. [8]. In this algorithm,
a modified Sage-Husa noise statistics estimator was introduced to assess the system
process noise variance adaptively. An adaptive fading UKF with Q-Adaptation for
attitude estimation was introduced by Soken et al. [9].
The adaptive tuning of the Kalman filter with the fuzzy logic has been very popular
for managing systems with dynamical uncertainties, particularly in the field of adap-

S. Yazdkhasti (B) · J.Z. Sasiadek


Carleton University, 1125 Colonel By Dr, Ottawa, ON K1S 5B6, Canada
e-mail: setareh.yazdkhasti@carleton.ca
J.Z. Sasiadek
e-mail: jurek.sasiadek@carleton.ca

© Springer International Publishing AG 2018 317


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_17
318 S. Yazdkhasti and J.Z. Sasiadek

tive control. A fuzzy adaptive strong tracking Kalman filter for ultra-tight GPS/INS
integration was introduced by D. Jwo et al. [10]. In this work, the performance of
the filter improved by adaptively modifying the sub-optimal fading factor via fuzzy
logic. J.Z. Sasiadek et al. [11–14], proposed an adaptive filter known as the Fuzzy
Adaptive Extended Kalman Filter (FAEKF), to adapt the process and measurement
noise covariance matrices. The method was based on exponential data weighting, to
protect the EKF from divergence. In this work, the EKF has been modified using the
fuzzy logic.
This paper focuses on the development of new integration algorithms based on
the combination of the Fuzzy Logic Controllers (FLCs) and conventional Kalman
filters such as the Iterated Extended Kalman Filter (IEKF) and Unscented Kalman
Filter (UKF) to provide reliable and accurate navigation solutions. The proposed
algorithms are based on the correction of both the process noise covariance matrix
Q, and the measurement error covariance R. The FLCs are implemented to adjust
the exponential weighting of weighted UKF and IEKF and protect the filters from
divergence. The rest of the paper is organized as follows. Section 2 describes two
proposed adaptive Kalman filtering approaches. Section 3 introduces the Fuzzy Logic
Controllers. In order to validate the effectiveness of the proposed adaptive algorithms,
simulation results are discussed in Sect. 4 and finally, in Sect. 5, the conclusions of
this work are given.

2 The Adaptive Estimation Algorithms

2.1 System Description

The non-linear dynamic and measurement models are given by:

xk = f(xk−1 , uk ) + wk (1)

yk = h(xk ) + vk (2)

where the vectors xk ∈ 8 , represents the state of the system at the time point k. The
process noise is given by wk , and zk ∈ 4 , corresponds to the observed measurement
signal, driven by Gaussian white noise vk .
In order to protect the conventional Kalman filters from divergence when there
are uncertainties in the system noise covariances, exponential data weighting is
applied. Two new adaptive formulations, weighted Iterated Extended Kalman Filter
and weighted Unscented Kalman Filter can be described as follow.
Multi Sensor Fusion Based on Adaptive Kalman Filtering 319

2.2 Weighted Iterated Extended Kalman Filter

The model and implementation equations for the weighted Iterated Extended Kalman
Filter are defined as the following recursive equations.

2.2.1 Initialization

x̂0 = E(x0 ), P0 = E[(x0 − x̂0 )(x0 − x̂0 )T ] (3)

2.2.2 Prediction

The predicted state can be defined as:

x̂k|k−1 = f(x̂k−1 , uk ) (4)

The covariance matrices of the adaptive IEKF defined as:

Rk = α −2(k+1) R (5)

Qk = α −2(k+1) Q (6)

where, α ≥ 1. For α > 1, as the time increases the covariance matrices decrease
which means the recent data has more credibility, due to the exponential decreased
noise covariance with time. When α = 1, the filter is acting like a regular IEKF. It
should be noted that α is the output of the fuzzy controllers.

P− −
k = Fk−1 Pk−1 Fk−1 + α
T −2(k+1)
Q (7)

where, Fk−1 , the linear approximation equation can be present in form of:

∂f
Fk−1 ≈ |x̂ (8)
∂x k−1,uk
By defining the weighted covariance as

P−
k =α
−2k
Pk|k−1 (9)

By calculating x̂k , Kk , Pk at each iteration about the most recent estimate. The
Kalman gain can be computed as:

Kk,i = P− − T
k Hk,i (Hk,i Pk Hk,i + α
T −2(k+1)
R)−1 (10)
320 S. Yazdkhasti and J.Z. Sasiadek

The superscript i, (i = 0, 2, . . . , τ ), is the number of iteration steps. By using (9),


the Kalman gain can be rewritten as:

Kk,i = Pk|k−1 Hk,i


T
(Hk,i Pk|k−1 Hk,i
T
+ R/α 2 )−1 (11)

where
∂h
Hk,i ≈ |x̂ (12)
∂x k,i
The predicted measurement estimation can be rewritten as:

x̂k,i+1 = x̂k|k−1 + Kk,i (yk − h(x̂k,i ) − Hk,i (x̂k|k−1 − x̂k,i )) (13)

where, x̂k,i presents the estimate at time point k and i th iteration. The iteration process
is initialized with x̂k,0 = x̂k|k−1 .
And the posterior covariance matrix defined as:

Pk,i = (I − Kk,i Hk,i )Pk|k−1 (14)

The iterative process will not be stopped until a certain termination condition is
met.

2.3 Weighted Unscented Kalman Filter

2.3.1 Initialization

x̂0 = E(x0 ), P0 = E[(x0 − x̂0 )(x0 − x̂0 )T ] (15)

2.3.2 Prediction

For the L elements state vector, a set of (2L + 1) sigma-points are created according
to the following:
 
χ k−1 = [x̂k−1 x̂k−1 + (L + λ) Pk−1 x̂k−1 −
 
(L + λ) Pk−1 ] (16)

where each column of χ k−1 , represents a sigma-point. Pk−1 = chol(Pk−1 ) is the
square root of the state error covariance [15], and the scaling parameter λ defined as:

λ = σ 2 (L + κ) − L (17)
Multi Sensor Fusion Based on Adaptive Kalman Filtering 321

where, σ , 1e−4 ≤ σ ≤ 1, determines the size of the sigma-points distribution and κ


influences the accuracy of the approximation [16]. Once the sigma-points have been
generated, each point is propagated through out the non-linear state equation as:

χ (i)
k|k−1 = f(χ k−1 , uk ), i = 0, . . . , 2L (18)

The mean and covariance are approximated using a weighted mean and covariance
of the transformed points as:


2L
x̂k|k−1 = ηi(m) χ (i)
k|k−1 (19)
i=0

Pk|k−1 =


2L
ηi(c) (χ (i) (i)
k|k−1 − x̂k|k−1 )(χ k|k−1 − x̂k|k−1 ) + α
T −2(k+1)
Q (20)
i=0

where the mean weight vector ηi(m) , and the covariance weight vector ηi(c) associated
with the i th point are defined as:

ηi(c) = ηi(m) = 1/(2(L + λ)), i = 1, . . . , 2L (21)

γ (i) (i)
k|k−1 = h(χ k|k−1 ) (22)

Then the mean of the measurement vector is calculated as:


2L
ŷk|k−1 = ηi(m) γ (i)
k|k−1 (23)
i=0

Covariance and cross-covariance matrices of the proposed adaptive UKF are


defined as:


2L
ηi(c) (γ (i) (i) −2
yy
Pk = k|k−1 − ŷk|k−1 )(γ k|k−1 − ŷk|k−1 ) + α R
T
(24)
i=0


2L
Pk = α −2(k−1) ηi(c) (χ (i) (i)
xy
k|k−1 − x̂k|k−1 )(γ k|k−1 − ŷk|k−1 )
T
(25)
i=0

Similar to the weighted IEKF, When α = 1, the filter is acting like a regular UKF.
For α > 1, as the time increases the covariance matrices decrease.
322 S. Yazdkhasti and J.Z. Sasiadek

2.3.3 Update

Kk = Pk (Pk )−1
xy yy
(26)

The Kalman gain Kk , is then used to update the state and covariance estimates as:

x̂k = x̂k|k−1 + Kk (yk − ŷk|k−1 ) (27)

yy
Pk = Pk|k−1 − Kk Pk KkT (28)

3 Fuzzy Logic Controllers

The conventional Kalman filters provide an effective means of estimating the state of
a system from noisy measurements when the covariances of the system are known,
and the system is well defined. However, in some cases, there are uncertainties in
the system noise covariances, which can cause filters to become unstable. Adaptive
tuning of the conventional Kalman filters via fuzzy logic has been one of the promis-
ing strategies to protect the filters from divergence when dealing with parameter
uncertainty and non-white process noise [13]. In order to adjust the filters, the FLCs
continuously monitors and tunes the noise level in the filters, internal model. The
residuals of Kalman filter should be zero mean white noise process; if not, divergence
will happen. Hence, in this paper, the covariance and mean values of the residuals
are used as inputs to the FLCs to decide the degrees of divergence.
The block diagram for the GPS/INS navigation sensor fusion using the FAUKF
and FAIEKF is shown in Fig. 1. The proposed fuzzy adaptive Kalman filters have
been validated for two different cases.

3.1 Fuzzy Logic Adaptive System for Parameter Uncertainty

The uncertain or time varying parameters in Q and R matrices make the conventional
Kalman filters diverge or coverage to a large bound. When the filter does not work
well, the FLCs would apply a suitable weighting factor to Enhance the accuracy of the
filter. Two groups of fuzzy controllers have been defined for parameter uncertainty.

3.1.1 First Fuzzy Controller

In this controller, the mean values and covariance of the residuals are inputs to the
FLC to determine the degree of divergence. The exponential weighting α is the first
Multi Sensor Fusion Based on Adaptive Kalman Filtering 323

Integrated Navigation Output


INS

Estimated INS Error

+
- Inovation Sequence
GPS Weighted UKF/IEKF
Pesudorange

Fuzzy Controller

Fig. 1 Block diagram representation of fuzzy adaptive Kalman filter for GPS/INS integration

Fig. 2 Mean value


membership functions for
parameter uncertainty
[J.Z. Sasiadek et al. [13]]

fuzzy controller output. The FLC will select the suitable α to optimally adapt the
Kalman filter. The membership function of FLC inputs (i.e. the mean and covariance
of residuals) and the output α are illustrated in Figs. 2, 3 and 4, respectively. The
characteristics of a fuzzy system are highly dependent on the relevant rules. The
proposed fuzzy logic controller used 9 rules as shown in Table 1.

3.1.2 Second Fuzzy Controller

The second controller was designed to detect the changes in the R matrix, and
adapt the filter accordingly. The measurement covariance matrix, R, is related to
the residual’s covariance; thus, any changes in the measurement covariance matrix
can alter the covariance of the residuals. With this controller, the UKF and IEKF
is adapted by selecting the appropriate scale. For example, the FLC applies a large
scale to adjust the α if it determines that the covariance of the residual is greater than
expected.
αk+1 = (αk − 1) ∗ scale + 1 (29)

The 9 rules for this fuzzy controller are shown in Table 2.


324 S. Yazdkhasti and J.Z. Sasiadek

Fig. 3 Covariance
membership functions for
parameter uncertainty
[J.Z. Sasiadek et al. [13]]

Fig. 4 α membership
functions for parameter
uncertainty [J.Z. Sasiadek et
al. [13]]

Table 1 Rule table of α for parameter uncertainty


α Mean value
Z S L
Z Z S S
S S L S
L Z NS NS
Z − Zero; S − Small; NS− Negative Small; L− Large

Table 2 Rule table of scale for parameter uncertainty


scale Mean value
Z S L
Z Z Z Z
S S S S
L L S Z
Z − Zero; S − Small; L− Large

3.2 Fuzzy Logic Adaptive System for Non-white Process


Noise

The conventional Kalman filters require that both, the process noise wk , and the
measurement noise vk are zero-mean white noise with known covariance Q and R.
In practice, sometimes the process noise could be correlated with itself. Implementing
the FLC is one alternative to this problem
The membership functions for this fuzzy control are shown in Figs. 5, 6 and 7
respectively.
Multi Sensor Fusion Based on Adaptive Kalman Filtering 325

Table 3 Rule table of α for non-white noise


α Mean value
Z S L
Z S Z Z
S Z L M
L L M Z
Z − Zero; S − Small; M− Medium; L− Large

Fig. 5 Mean value


membership functions for
non-with process noise
[J.Z. Sasiadek et al. [13]]

Fig. 6 Covariance
membership functions for
non-with process noise
[J.Z. Sasiadek et al. [13]]

Fig. 7 α membership
functions for non-with
process noise [J.Z. Sasiadek
et al. [13]]

There are 9 rules for the FLC in the present of non-white noise, Table 3, hence,
little computational time is required.

4 Simulation Results

Numerical simulation has been done to validate the performance of the proposed
FAUKF and FAIEKF in comparison with FAEKF and the conventional EKF, UKF
and IEKF approaches for INS/GPS integration when dealing with non-white noise
and uncertain or time varying parameters are considered to exist in the process and
326 S. Yazdkhasti and J.Z. Sasiadek

Table 4 The position errors with the non-white noise inputs


Position RMS Error Position RMS Error
Mean of x =2 y = 0.5 z=1 x =1 y=1 z=1
INS [m]
X Y Z X Y Z
FAUKF 3.20 1.28 2.53 1.5 1.7 2.4
FAEKF 7.23 3.34 5.83 3.19 3.53 4.14
FAIEKF 7.03 3.14 5.03 2.9 3.13 3.94
EKF 24.91 8.58 8.36 14.82 10.67 6.7
IEKF 24.51 7.51 7.78 14.6 10.50 5.6
UKF 10.23 14.71 14.09 5.1 3.6 6.32

measurement noise matrices. More detailed descriptions of weighted EKF and stan-
dard Kalman filters approaches for GPS/INS integration are given in J.Z. Sasiadek
et al. [13] and S. Yazdkhasti et al. [17, 18], respectively (Fig. 5).
The state vectors used in the simulation included three states for INS position
errors, three for INS velocity errors and two states for GPS range drift and range bias
as:
xk = [xk , yk , zk , x˙k , y˙k , z˙k , CΔt, C Δ̇t] (30)

where, x points east, y points north and z is the attitude, CΔt, C Δ̇t represent GPS
range and drift states (Fig. 6).
For the first part of the simulation, the process noise wk assumed as a non-zero
mean process noise. The white noise with a standard deviation of 4 m was applied
to the GPS measurements. The simulation was done for different INS mean values
(wk ), for the East (x), North (y), and Altitude (z) respectively (Fig. 7).
The summary of root mean square (RMS) errors of the six GPS/INS configurations
provided in Table 4. As it is indicated, the fuzzy adaptive filters clearly improved
the performance of the conventional Kalman filters. The position errors of FAEKF,
FAUKF and FAIEKF are much smaller than that of EKF, UKF, and IEKF. Among the
six approaches, the FAUKF demonstrates superior navigation accuracy performance
in comparison with other filters.
The residuals of the six filters are shown in Fig. 8. The residual is the difference
between the best measurement prediction based on the filter’s internal mode and the
actual measurement; hence, it can be used to evaluate filter’s performance. From
Fig. 8 it could be noticed that the residual of the EKF, UKF, and IEKF have a large
drift, while the residual mean value of FAEKF, FAUKF, and FAIEKF are smaller
than that of EKF, UKF, IEKF.
For the second part of the simulation, the developed algorithms have been tested
and evaluated for various parameter uncertainties. The white noise with a standard
deviation of 5 m was applied to the GPS measurements. The INS standard devia-
tions are 0.006, 0.006, and 0.0006 m for the East (x), North (y), and Altitude (z),
Multi Sensor Fusion Based on Adaptive Kalman Filtering 327

40

20
EKF
0

-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)
40

20
IEKF

-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)
20
10
UKF

0
-10
-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)
40

20
FAEKF

-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)
40
FAIEKF

20

-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)
20
10
FAUKF

0
-10
-20
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Time(s)

Fig. 8 Inovation sequence (residual)


328 S. Yazdkhasti and J.Z. Sasiadek

Variance for 5Q and 4R


50 7 9
FAEKF
45 8 FAIEKF
6
FAUKF
40
7
5
35
6

30

Variance P z
Variance P y
Variance P x

4 5
25

3 4
20

3
15 2
2
10
1
5 1

0 0 0
0 500 1000 1500 2000 0 500 1000 1500 2000 2500 3000 0 500 1000 1500 2000 2500 3000

Time(s) Time(s) Time(s)

Fig. 9 Variance of the Adaptive Filters for 5Q and 4R

Variance for 5Q and 4R


120 15
16
EKF
100 IEKF
14
UKF
12
80 10
Variance Px

Variance Py

Variance Pz

10
60
8

40 6 5

4
20
2

0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
Time(s) Time(s) Time(s)

Fig. 10 Variance of the convential filters for 5Q and 4R

respectively. Figures 9 and 10 illustrates the covariance of Fuzzy adaptive filters and
standard Kalman filters when high uncertainty, 5Q and 4R, exists. 5Q and 4R mean
the real time parameters are 5 and 4 times as large as the designed Q and R. The
simulation was repeated for different covariance values (5Q, R), Figs. 11 and 12 and
(Q, 4R), Figs. 13 and 14.
Multi Sensor Fusion Based on Adaptive Kalman Filtering 329

Variance for 5Q and R


20 3
FAEKF
3 FAIEKF
2.5
FAUKF
15 2.5
2
Variance P x

Variance P y

Variance P z
2
10 1.5
1.5

1
1
5
0.5
0.5

0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 500 1000 1500
Time(s) Time(s) Time(s)

Fig. 11 Variance of the adaptive filters for 5Q and R

7 10
100
EKF
6 IEKF
8 UKF
80
5
Variance P x

Variance Py

Variance Pz

60 4 6

3
40 4

2
20 2
1

0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
Time(s) Time(s) Time(s)

Fig. 12 Variance of the convential filters for 5Q and R

Due to better treatment of parameter uncertainties, the FAUKF and FAIEKF has
shown performance improvement when compared to the conventional UKF and
IEKF, respectively.
330 S. Yazdkhasti and J.Z. Sasiadek

Variance for Q and 4R


50 7 9
FAEKF
45 8 FAIEKF
6 FAUKF
40
7
35 5
6
Variance Px

Variance Py

Variance Pz
30
4 5
25
3 4
20
3
15 2
2
10
1
5 1

0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
Time(s) Time(s) Time(s)

Fig. 13 Variance of the adaptive filters for Q and 4R

120 7 10
EKF
6 UKF
100
8 IEKF
5
80
Variance Px

Variance Py

Variance Pz

6
4
60
3
4
40
2
2
20 1

0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
Time(s) Time(s) Time(s)

Fig. 14 Variance of convential filters for Q and 4R

5 Conclusion

This paper develops new data fusion techniques for GPS/INS integration by incor-
porating Fuzzy Logic controller (FLC) and the conventional Kalman filters. The
Fuzzy Adaptive Unscented Kalman Filter (FAUKF) and a Fuzzy Adaptive Iterated
Extended Kalman Filter (FAIEKF) have been developed to improve the Unscented
Kalman Filter and Iterated Extended Kalman filter Performance, respectively. By
monitoring the residual, the FLC can detect uncertainty or time varying Parameters
in both, the process, and the measurement noise covariance matrices. And then adapt
Multi Sensor Fusion Based on Adaptive Kalman Filtering 331

the Kalman gain in real time to improve the IEKF and UKF performance and avoid
the filters from divergence. Performance comparisons on FAUKF, FAIEKF, FAEKF,
UKF, EKF, and IEKF have been conducted. The simulation results show the proposed
FAUKF leads to very accurate results.

Appendix

GPS Satellite Geometry

Four pseudo range measurements are used as a measurement model of the Kalman
filter. 
h 1 = (X 1 − x)2 + (Y1 − y)2 + (Z 1 − z)2 + CΔt1

h 2 = (X 2 − x)2 + (Y2 − y)2 + (Z 2 − z)2 + CΔt2

h 3 = (X 3 − x)2 + (Y3 − y)2 + (Z 3 − z)2 + CΔt3

h 4 = (X 4 − x)2 + (Y4 − y)2 + (Z 4 − z)2 + CΔt4 (31)

where, (X 1 , Y1 , Z 1 ), (X 2 , Y2 , Z 2 ), (X 3 , Y3 , Z 3 ), (X 4 , Y4 , Z 4 ) are the positions of the


four GPS satellites respectively, and (x, y, z) are the position of the vehicle. The
GPS satellite assumed to be in circular orbits.

X j = R[cosθ j cosΩi − sinθ j sinΩ j cos55◦ ] (32)

Y j = R[cosθ j sinΩ j + sinθ j sinΩ j cos55◦ ] (33)

Z j = R[sinθ j sin55◦ ] (34)

where
360
θ j = θ0 + T deg j = 1, . . . , 4
43082
360
Ω j = Ω0 − T deg
86164
R = 26560000 m (35)
332 S. Yazdkhasti and J.Z. Sasiadek

Table 5 Satellite parameters


GPS satellite Ω0◦ θ0◦
Satellite 1 326 68
Satellite 2 26 340
Satellite 3 146 198
Satellite 4 86 271

⎡ ⎤
100 0 0 0 0 0 0 0
⎢ 0 10 0 0 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 100 0 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 0 10 0 0 0 0⎥
P0 = ⎢
⎢ 0
⎥ (36)
⎢ 0 0 0 100 0 0 0⎥⎥
⎢ 0 0 0 0 0 10 0 0⎥
⎢ ⎥
⎣ 0 0 0 0 0 0 100 0⎦
0 0 0 0 0 0 0 10
⎡ ⎤
σx2 t 3 /3 σx2 t 2 /2 0 0 0 0 0 0
⎢σ 2 t 2 /2 σ 2 t 2 ⎥
⎢ x x 0 0 0 0 0 ⎥ 0
⎢ ⎥
⎢ 0 0 σ y2 t 3 /3 σ y2 t 2 /2 0 0 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 σ y t /2 σ y t
2 2 2 2
0 0 0 0 ⎥
Q=⎢
⎢ 0

⎢ 0 0 0 σz t /3 σz t /2
2 3 2 2
0 0 ⎥ ⎥
⎢ ⎥
⎢ 0 0 0 0 σz2 t 2 /2 σz2 t 2 0 2/3 ⎥
⎢ ⎥
⎢ 0 + Sb3t )c2 Sb t2 c ⎥
0 (Sa t
3 2 2
⎣ 0 0 0 0 ⎦
Sb t 3 c2
0 0 0 0 0 0 2
Sb
(37)
where, σx , σ y , and σz represent standard deviations associated with x, y, and z,
respectively. t is the sample time, c is the speed of light Sa = 0.4(10)−18 , standard
deviation of clock offset, and Sb = 1.58(10)−18 , is the standard derivation associated
with velocity (Table 5).

References

1. Zhao H, Wang Z (2012) Motion measurement using inertial sensors, ultrasonic sensors, and
magnetometers with extended kalman filter for data fusion. IEEE Sens J 12(5):943–953
2. Rigatos G, Tzafestas S (2007) Extended Kalman filtering for fuzzy modelling and multi-sensor
fusion. Math Comput Model Dyn Syst 13:251–266
3. Carlson NA (1994) Federated Kalman filter simulation results. J Inst Navig 41:297–321
4. Escamilla-Ambrosio PJ, Mort N (2002) Multi-sensor data fusion architecture based on adaptive
Kalman filters and fuzzy logic performance assessment. Presented in the fifth international
conference on information fusion 2:1542–1549
Multi Sensor Fusion Based on Adaptive Kalman Filtering 333

5. Jetto L, Longhi S, Venturini G (1999) Development and experimental validation of an adap-


tive extended Kalman filter for the localization of mobile robots. IEEE Trans Robot Autom
15(2):219–229
6. Kim KH, Lee JG, Park CG (2009) Adaptive two-stage extended Kalman filter for a fault-tolerant
INS-GPS loosely coupled system. IEEE Trans Aerosp Electron Syst 45(1):125–37
7. Stubberud SC, Lobbia RN, Owen M (1995) An adaptive extended Kalman filter using artificial
neural networks. In: Presented in the 34th IEEE conference on decision and control, vol 2, pp
1852–1856
8. Shi Y, Han C, Liang Y (2009) Adaptive UKF for target tracking with unknown process noise
statistics. In: Presented in 12th International conference on information fusion, FUSION’09,
pp 1815–1820
9. Soken HE, Hajiyev C (2011) Adaptive fading UKF with Q-adaptation: application to picosatel-
lite attitude estimation. J Aerosp Eng 26(3):628–36
10. Jwo DJ, Yang CF, Chuang CH, Lee TY (2013) Performance enhancement for ultra-tight
GPS/INS integration using a fuzzy adaptive strong tracking unscented Kalman filter. Non-
linear Dyn 73(1–2):377–95
11. Sasiadek JZ, Wang Q, Zeremba MB (2000) Fuzzy adaptive Kalman filtering for INS/GPS data
fusion. In: Proceedings of the IEEE international symposium intelligent control, pp 181–186
12. Sasiadek JZ (2002) Sensor fusion. Annu Rev. Control 26(2):203–28
13. Sasiadek JZ, Wang Q (2003) Low cost automation using INS/GPS data fusion for accurate
positioning. Robotica 21(03):255–60
14. Sasiadek JZ, Hartana P (2004) Sensor fusion for navigation of an autonomous unmanned
aerial vehicle. Presented in IEEE international conference on robotics and automation ICRA
4:4029–4034
15. Wan EA, Van Der Merwe R (2000) The unscented Kalman filter for nonlinear estimation.
In: Presented in systems for signal processing, communications, and control symposium. AS-
SPCC, pp 153-158
16. Wan EA, Van Der Merwe R (2000) The unscented Kalman filter for nonlinear estimation. In:
Presented in adaptive systems for signal processing, communications, and control symposium.
AS-SPCC, pp 153–158
17. Yazdkhasti S, Sasiadek JZ, Ulrich S (2016) Performance enhancement for GPS/INS fusion by
using a fuzzy adaptive unscented Kalman filter. In: Presented in 21st international conference
methods and models in automation and robotics (MMAR), pp 1194–1199
18. Yazdkhasti S, Sasiadek JZ (2017) Sensor fusion using fuzzy adaptivr uncented Kalman filter
for uncertain systems. In: Accepted in 11th annual IEEE international system conference.
Montreal, Canada
Aircraft Damage Pattern Recognition Using
Aerodynamic Coefficients and Fuzzy Logic

Y. Zhang, C.C. de Visser, Q.P. Chu and E.J. van Kampen

1 Introduction

The maintenance of safe and reliable performance of flight vehicles is always highly
demanded, for the flight transportation system are an indispensable support for the
modern society and world economy. However, in spite of high-level redundancy
systems, aircraft still has the risk of faults and failures in three major parts, which are
generally referred to as sensors, actuators and airframe. Specifically, fault detection
and isolation (FDI) methods on sensors and actuators have been intensively used and
well developed [1]. The integration of these technologies generate multiple choices
and attractive issues in preventing accidents due to degrading mechanical properties
like fatigues, cracks and debonding, which are generally categorized as structural
health monitoring (SHM). A multitude of various SHM methods as well as nice
reviews can be found in literature [2, 3].
Generally the approaches taken in SHM are classified into physics-based type and
data-based type [3]. The conventional physics-based methods rely on identification
techniques such as the estimation of structure stiffness and model parameters, which
are considered deterministic without uncertainties. The problem with this method
is that it’s difficult to evaluate the reliability of the estimated damage case. On the
other hand, the data-driven approach takes more considerations into uncertainties,
which relies on system measurements for training and assessment. Nevertheless, the
data-based method sometimes may lack insights into the nature of the damage, which
makes it less ‘physical’, or straightforward. Various methods have been developed

Y. Zhang (B) · C.C. de Visser · Q.P. Chu · E.J. van Kampen


Control and Simulation Section, Faculty of Aerospace Engineering,
Delft University of Technology, Kluyverweg 1, 2629 HS Delft, The Netherlands
e-mail: y.zhang-9@tudelft.nl
C.C. de Visser
e-mail: C.C.deVisser@tudelft.nl
Q.P. Chu
e-mail: Q.P.Chu@tudelft.nl
E.J. van Kampen
e-mail: E.vanKampen@tudelft.nl

© Springer International Publishing AG 2018 335


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_18
336 Y. Zhang et al.

to find a balance between the two approaches and enhance the confidence in dam-
age diagnosis in the existence of uncertainties. However, successful applications of
these methods in flight vehicles face a lot of technical challenges. One difficulty is
the acquisition of extensive training data from repetitive experiments and onboard
sensors. Also, the knowledge of damage location and damage type are not always
well known a prior, and the operational and environmental conditions sometimes
vary significantly due to diverse uncertainties [3]. So the main focus of this paper is
on dealing with aircraft structural damage under uncertainties.
One of the approaches dealing with uncertainties as well as the lack of determin-
istic knowledge is based on fuzzy logic, which provides a potential way of sufficient
training and accurate pattern recognition based on imperfect data. The damage type
can be determined by fuzzy set method through the assignment of membership func-
tions to each input. Various literature [2–10] can be found using fuzzy logic to detect
and assess structural damage of composites in various applications of industries.
Most of the methods use non-destructive vibration-based data like natural frequen-
cies, material properties like Young’s moduli, mode shape curvatures and stiffness
based on finite element models. For aircraft, however, there are no such onboard sen-
sors to provide real-time data for monitoring and diagnosing. In order to determine
which part of the aircraft (e.g. fuselage, wings, tails) is under crisis, new damage indi-
cators need to be defined using information that already existed onboard. Therefore,
in this paper a different way of detecting and estimating aircraft structural damage
is proposed by using aerodynamic coefficients of moments and forces as featured
inputs to the fuzzy logic system.

2 Modeling of Aircraft Structural Damage

One major bottleneck for damage assessment of aircraft is that repeated destructive
experiments are hardly feasible, thus there’s little real flight data for analysis. How-
ever, with the increasing concern for the safety of civil airliners, a number of experi-
ments on subscale models in windtunnel and Computational Fluid Dynamics (CFD)
software have been conducted to satisfy the expanding need for multiple sources of
data. Earlier researches done by NASA Langley Research Center are a series of wind
tunnel tests on a swept-wing airplane model to determine the effects of simulated
wing damage on the aerodynamic characteristics of the model at Mach numbers
larger than one. Wing damage was simulated by removal of either a leading-edge
or a trailing-edge portion or an entire wing panel [11]. In recent years, the Generic
Transport Model (GTM), a 5.5% scale model of a commercial airplane has been
the subject of a series of extensive wind tunnel tests and CFD experiments [12]
undertaken by NASA for the exploration of loss-of-control events involving various
contributions such as stall/ high-angle-of-attack, airframe damage and icing [13].
With the aid of these data and reports, the aerodynamic characteristics of the
partially damaged aircraft can be studied, which provides the theoretic foundation of
our paper. The effect of structural damage is mainly a combination of aerodynamic
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic 337

change, mass property shift and control degradation. The control effectiveness can
be evaluated in a relatively independent way through the isolation of actuator faults
by advanced actuators fault detection systems. Mass properties, seem not have a
substantial effect on flight characteristics compared with the impact of aerodynamic
forces and moments, according to an experiment conducted by Shah [14], in which
a large, asymmetric mass change (physical separation of an engine) was modeled. In
this paper we mainly focus on the aerodynamic effects of structural damage based
on the wind tunnel tests conducted by Shah et al. [14, 15], in which the damage in
the form of partial or total tip loss is applied to three major parts of the aircraft that
provides aerodynamic forces and moments: the horizontal tails, the vertical tail, and
the wings [16]. In order to correctly identify the damage type, we need to model the
damage in a simple but general way that can reflect the trend of experimental damage
data.

2.1 Horizontal Stabilizer Damage

The horizontal stabilizers provide the only stabilizing contribution to pitching


moment. So the damage to horizontal stabilizers often causes significant changes
in both static and dynamic longitudinal stability. When damage occurs, a steady
decrease in pitching moment is most likely to happen. A trend from negative to posi-
tive (unstable) in Cm α with increasing area of damage is observed in the wind tunnel
data. As an important indication of dynamic stability, the pitching damping Cm q over
the angle of attack range is reduced with the scale roughly proportional to the ratio
of tip loss.

2.2 Vertical Tail Loss

The effect of vertical tail damage on directional characteristics is similar to that


of horizontal tail damage on pitch axis, and it rarely induces incremental rolling
moments since the damage is basically symmetric. The change in lateral static and
dynamic stability is seen as a steady decrease in yawing moment at the same angle
of sideslip with increasing size of tip loss. As to static stability, the value of Cn β
experiences a progressive decrease proportional to the scale of damage at the same
angle of attack, but the change with respect to α remains almost the same. Yaw
damping steadily decreases and approaches to zero (unstable limit) with the increase
of the damage area.

2.3 Wing Damage

The wing damage is different from tail damage in the progressive reduction of lift
curve slope versus angle of attack. More importantly, wing tip loss also results in
338 Y. Zhang et al.

incremental rolling moment due to unequal normal force contributions from the left
wing to the right wing, which are roughly proportional to damaged scale at given
angle of attack.

2.4 Aerodynamic Coefficients as the Damage Indicator

As is explained before, the conventional damage indicators for structural monitor-


ing and diagnosing are not available due to limited onboard sensors. Instead, the
measured translational accelerates A(x,y,z)m and the rotational rates pm , qm , rm from
inertial navigation system (INS) are used to calculate the dimensionless forces and
moments of the aircraft [17]:

m Ax m Ay m Az
CX = CY = CZ = C L = C X sin α − C Z cos α
1/2ρV 2 S 1/2ρV 2 S 1/2ρV 2 S
(1)
 
ṗ Ix x + qr Izz − I yy − ( pq + ṙ ) Ix z
Cl = 1
ρV 2 Sb
2
 
q̇ I yy + r p (Ix x − Izz ) + p 2 − r 2 Ix z
Cm = (2)
1
ρV 2 S c̄
 2

ṙ Izz + pq I yy − Ix x + (qr − ṗ) Ix z
Cn = 1
2
ρV 2 Sb

where C L denotes the dimensionless aerodynamic lift force.


These calculated forces and moments are closely related to the integrity of aircraft
components. Moreover, based on the discussion on wind tunnel results, the structural
damage directly influences the value of aerodynamic coefficients, which means that
we can use estimated aerodynamic coefficients as the damage indicators through
least squares based on the following model structure:

q c̄
CL = CL0 + CLα α + CLq + C L δe δe
V
pb rb
C Y = C Y0 + C Yβ β + C Y p + CYr + CYδa δa + CYδr δr
2V 2V
pb rb
Cl = Cl0 + Clβ β + Cl p + C lr + Clδa δa + Clδr δr + Clα α (3)
2V 2V
q c̄
Cm = Cm 0 + Cm α α + Cm q + Cm δe δe
V
pb rb
Cn = Cn0 + Cnβ β + Cn p + C nr + Cn δa δa + Cn δr δr
2V 2V
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic 339

The damage indicators are listed in Table 1. It is noticed that different aerodynamic
coefficients are picked on which different damage cases have the most dominant
influence. That is how we distinguish between two different damage locations based
on the value of their unique damage indicators.

3 Formulation of Fuzzy Logic System

Unlike what we listed in Table 1, the actual damage cases are never deterministic.
Even if we have all the time and condition to collect data from a given airplane, it
would be impossible to obtain all the information to predict all the possible phenom-
ena. Under the situation of uncertainties, what we can do is to make generalizations
and predictions of the current and future system behaviors based on the past expe-
rience and data [3]. Specifically, we need to use inductive reasoning and inference
to find a balance between the vague, uncertain world and its precise, determinis-
tic estimation. By using linguistic variables, fuzzy logic system is a marvelous tool
that provides a possible way of dealing with vagueness and imprecision of informa-
tion from limited experiments. In this paper, a fuzzy logic system is designed and
integrated in the problem of damage assessment of the aircraft using aerodynamic
coefficients as damage indicators.
As is illustrated in Fig. 1, a fuzzy Inference system (FIS) is basically composed
of five functional blocks, in which the rule base contains a number of fuzzy if-
then rules that need to be generated or trained offline and the membership functions
of the fuzzy sets used in the fuzzy rules are stored in the database for retrieval. The

Table 1 Damage indicators for different damage locations


Indicator Horizontal tail (HT) Vertical tail (VT) Wing
Aerodynamic Cm α , Cm q C n β , C n r , C Yβ C L α , Cl α
coefficients

database rule base

input output
system
x y

decision making unit

Fig. 1 Schematic representation of a fuzzy inference system


340 Y. Zhang et al.

fuzzification process transforms the crisp inputs into degrees of match with linguistic
variables using membership functions. A decision-making unit will then be used to
performs the inference operations on the rules, i.e. to map fuzzy sets to fuzzy sets
and determines the way they are combined. Finally, the defuzzifier again transforms
the fuzzy values into crisp results [4, 7].

3.1 Input and Output

The inputs to the fuzzy logic system are the aerodynamic coefficients listed in Table 1,
which are identified from measured forces and moments according to Eq. 3. The
outputs are the location and severity of structural damage expressed in linguistic
variables. Mathematically, FLS performs a mapping from crisp inputs x to outputs
y [4, 7]:
y = F(x) (4)

The linguistic variables describing damage parts include four aerodynamic surfaces
of the aircraft, which are horizontal tail (HT), vertical tail (VT), left wing (LW), right
wing (RW). Each variable is split into a set of terms covering its universe of damage
severity like:

T (left wing) = {undamaged, slight damage, moderate damage, severe damage}


(5)
In this paper, we only consider single damage for simplicity, and each damage case
is simulated in the well-developed DASMAT citation model in a Maltab/Simulink
environment with measurement noises, based on which the aerodynamic coefficients
are identified via recursive least squares. The damaged aircraft model is modeled as
a linear change to the original model of total forces and moments from aerodynamic
look-up table:

C X dmg = (1 + ΔC X )C X 0 CYdmg = (1 + ΔCY )CY0 C Z dmg = (1 + ΔC Z )C Z 0


Cldmg = (1 + ΔCl )Cl0 + ΔClα α Cm dmg = (1 + ΔCm )Cm 0 Cn dmg = (1 + ΔCn )Cn 0
(6)
For each damage location and severity level, the changed values of aerodynamic
forces and moments are list in Table 2. Due to limited sources of data, the figures
in the table are assigned based on the information like changing magnitude and
gradient abstracted from the experimental results done by others. So the table does
not represent the aerodynamic changes of damage in a numerically precise way, but
only for the proof of concept and the feasibility of algorithms adopted in this paper.
Further improvements might be obtained with more experimental data and thorough
analysis.
The identified aerodynamic coefficients under three damage cases are displayed
in Figs. 2, 3 and 4. For wing damage only the results of left wing are shown because
Table 2 Damage indicators for different damage locations
HT VT
ΔCm ΔCn ΔCY
Undamaged [−0.15, −0.1] [−0.1, −0.05] [−0.15, −0.1]
Slight [−0.4, −0.2] [−0.35, −0.15] [−0.35, −0.2]
Moderate [−0.55, −0.3] [−0.5, −0.2] [−0.6, −0.3]
Severe [−0.7, −0.5] [−0.8, −0.55] [−0.85, −0.6]
LW RW
ΔC L ΔCl ΔClα ΔC L ΔCl ΔClα
Undamaged [−0.08, −0.02] [−0.08, −0.02] [−0.003, −0.001] [−0.08, −0.02] [0.02,0.08] [0.001,0.003]
Slight [−0.2, −0.1] [−0.15, −0.08] [−0.004, −0.002] [−0.2, −0.1] [0.08,0.15] [0.002,0.004]
Moderate [−0.35, −0.2] [−0.3, −0.1] [−0.005, −0.003] [−0.35, −0.2] [0.1,0.3] [0.003,0.005]
Severe [−0.6, −0.3] [−0.5 − 0.4] [−0.006, −0.004] [−0.6, −0.3] [0.4,0.5] [0.004,0.006]
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic
341
342 Y. Zhang et al.

0.5 2

0 0 undamaged
slight damage
-0.5 moderate damage
-2 severe damage

-1
Cma

Cmq
-4
-1.5
-6
-2 undamaged
slight damage
-2.5 moderate damage -8
severe damage

-3 -10
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
time time
(a) identified C (b) identified C

Fig. 2 The identified damage indicators for horizontal stabilizer tip loss

0.16 0.05
0.14
undamaged 0
0.12 slight damage
moderate damage
severe damage
0.1 -0.05
0.08
Cnb

Cnr

-0.1
0.06
0.04 -0.15
undamaged
0.02 slight damage
-0.2 moderate damage
0 severe damage

-0.02 -0.25
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
time time
(a) identified Cn (b) identified Cn
0.1
0
-0.1
-0.2
-0.3
Cyb

-0.4
-0.5
undamaged
-0.6 slight damage
moderate damage
-0.7 severe damage

-0.8
0 1 2 3 4 5 6 7 8 9 10
time
(c) identified CY

Fig. 3 The identified damage indicators for vertical tail tip loss
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic 343

0.005 0.02
0 undamaged
0 slight damage
-0.02 moderate damage
severe damage
-0.005 -0.04
-0.06
Cla

Clb
-0.01
-0.08
-0.015 -0.1
undamaged
slight damage -0.12
-0.02 moderate damage
severe damage -0.14
-0.025 -0.16
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
time time
(a) identified Cl (b) identified Cl
7
6
5
4
CLa

3
2
1 undamaged
slight damage
0 moderate damage
severe damage

-1
0 1 2 3 4 5 6 7 8 9 10
time
(c) identified CL

Fig. 4 The identified damage indicators for left wing tip loss

the figures of right wing has little difference with the left wing only with some signs
reversed. The simulation time is 10 s, and all the coefficients have converged to stable
values, which shows clearly the aerodynamic effects of different scales of structural
damage.

3.2 Fuzzification

After obtaining the input data, the next step in FIS is fuzzification, where the inputs
are transformed into degrees of membership of the linguistic variables calculated
from the membership functions μ(x), which takes on the values between 0 and 1 [4,
7]. Fuzzy sets with Gaussian membership functions are used for the input variables,
which are defined as:
μ(x) = e−0.5((x−m)/σ )
2
(7)

where m is the midpoint of the fuzzy set and σ is the standard deviation associated
with each linguistic variable. In this application, the linguistic variables for numerical
344 Y. Zhang et al.

N L M H N L M H H M L N N L M H
1 1 1 1
Degree of membership

Degree of membership

Degree of membership

Degree of membership
0.8 0.8 0.8 0.8

0.6 0.6 0.6 0.6

0.4 0.4 0.4 0.4

0.2 0.2 0.2 0.2

0 0 0 0
−0.1
−1 −0.9 −0.8 −0.7 −0.6 −0.5 −8 −7 −6 −5 −4 −3 0.08 0.09 0.1 0.11 0.12 0.13 0.14 −0.22 −0.2 −0.18 −0.16 −0.14 −0.12

Cma Cmq Cnb Cnr

(a) Cm (b) Cm (c) Cn (d) Cn


N L M H H M L N N L M H H M L N
1 1 1 1
Degree of membership

Degree of membership

Degree of membership

Degree of membership
0.8 0.8 0.8 0.8

0.6 0.6 0.6 0.6

0.4 0.4 0.4 0.4

0.2 0.2 0.2 0.2

0 0 0 0

−0.75 −0.7 −0.65 −0.6 −0.55 −0.5 −0.45 −0.4 −5 −4 −3 −2 −1 0 −0.1 −0.095 −0.09 −0.085 −0.08 4 4.5 5 5.5 6
−3
x 10
Cyb Cla Clb CLa

(e) Cy (f) Cl (g) Cl (h) CL

Fig. 5 The input membership function of each damage indicator

inputs are defined below:

T (x) = {negligible (N), low (L), medium (M), high (H)} (8)

The membership function of each damage indicator, i.e. aerodynamic coefficients


are displayed in Fig. 5.

3.3 Rule Generation and Inference Engine

Rules for the fuzzy system can be expressed as [4, 7]:

Ri : IF x1 is F1 AND x2 is F2 AND . . . xm is Fm
(9)
THEN y = K i

where Fi ∈ Vi and K i ∈ W are fuzzy sets characterized by membership functions μ Fi


and μ K i . Each rule corresponds to one class, i.e., damage pattern in our application.
The rules can be either defined or trained through a supervised learning. Each
rule can be evaluated by applying fuzzy operator and implication method. For the IF
part, which is also called the antecedent, the fuzzy operator is applied to obtain one
number by combining the input membership degree of each part of the antecedent.
Various types of fuzzy operators could be taken. In this paper we pick the AND
operation which multiplies all the membership degrees of the inputs for each rule:

μ Ri (x) = μ F1 (x1 ) · μ F2 (x2 ) · · · · μ Fm (xm ) (10)


Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic 345

nodamage slight moderate severe nodamage slight moderate severe


1 1
Degree of membership

Degree of membership
0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 10 20 30 40 50 0 10 20 30 40 50
Horizontal Tail Vertical Tail
(a) Horizontal stabilizer (b) Vertical tail
nodamage slight moderate severe
1
Degree of membership

0.8

0.6

0.4

0.2

0
0 10 20 30 40 50
Wing
(c) Wing

Fig. 6 The output membership function of each damage part of the aircraft

The resulting number is then applied to the output membership function μ K i (y), as
is illustrated in Fig. 6 and implication process is implemented for each rule as:

μ Ri (x, y) = μ Ri (x) · μ K i (y) (11)

Given the input and output membership function, the training and generation of fuzzy
rules can be followed by the procedure explained below [4, 7]:
1. Each given damage case is simulated in the aircraft model according to Table 2
and the corresponding damage indicators are identified. The membership degrees
of each damage indicator are calculated through the input membership functions
2. For each damage indicator having four degrees of membership based on the
linguistic measures in Eq. 8, select the membership with the maximum degree.
3. One rule is obtained for each damage case by combining all the damage indicators
with linguistic measures having maximum membership degrees.
Based on the above procedure, the trained rules from simulation data are displayed
in Table 3.
346 Y. Zhang et al.

Table 3 Rules of fuzzy inference system


IF THEN
Cm α Cm q Cn β Cnr C Yβ CLα Cl α Damage case
N N N N N N N Undamaged
L N Slight damage at HT
M L Moderate damage at HT
H H Severe damage at HT
L N L Slight damage at VT
M M M Moderate damage at VT
H M H Severe damage at VT
L L Slight damage at wing
M M Moderate damage at wing
H H Severe damage at wing

3.4 Defuzzification

Once the fuzzy rule are applied to a given input, we have a set of degree of member-
ships for each damage pattern. Widely used defuzzification methods include maxi-
mum matching and centroid defuzzification. The latter one is often used when a crisp
output value is required, while in pattern recognition we only need to know the class
index [4, 7]. So in this paper, maximum matching is used to find the class which
has the maximum matching degree of the rules. Finally the damage pattern with
the highest degree of membership is selected containing the information of damage
location as well as damage severity.

3.5 Damage Pattern Recognition Using Fuzzy Logic

To validate the methods proposed in this paper, validation data are generated from
the DASMAT simulation model on which four levels of damage severity for differ-
ent parts of the aircraft are applied. In order to test how well the proposed FIS deal
with uncertainties, noises with four different signal-to-noise ratios (SNR) are added
in to simulate the uncertainty present in experimental measurements and modeling
process. For each case, one thousand noisy data points are generated. The perfor-
mances is evaluated by success rate, which is the ratio of the damage cases that are
correctly recognized by the FIS. Figure 7 shows the results of different noise levels
for damage in left horizontal stabilizer, vertical tail and left wing respectively. It can
be observed that the success rate increases when larger SNR, i.e., less noises are
applied, and the success rates of severe damage are slightly lower then that of less
severe damage.
Aircraft Damage Pattern Recognition Using Aerodynamic Coefficients and Fuzzy Logic 347

100 100
no damage no damage
90 slight damage 90 slight damage
moderate damage moderate damage
80 severe damage 80 severe damage

70 70
success rate

success rate
60 60
50 50
40 40
30 30
20 20
10 10
0 0
20 25 35 50 20 25 35 50
SNR SNR
(a) Horizontal stabilizer (b) Vertical tail
100
no damage
90 slight damage
moderate damage
severe damage
80
70
success rate

60
50
40
30
20
10
0
20 25 35 50
SNR
(c) Wing

Fig. 7 The success rate of damage pattern recognition at different locations and noise levels

4 Conclusion

A new method using fuzzy logic for damage pattern recognition is proposed and
implemented in this paper to compensate for the limited experimental condition and
data of damaged aircraft. The aerodynamic coefficients sensitive to the integrity of the
aerodynamic surfaces are picked as damage indicators. The selected coefficients are
estimated, fuzzified and mapped to a damage case via a set of fuzzy rules. Simulation
results show that by using FIS, the damage pattern recognition can deliver vague but
useful information on the health condition of the aircraft. Future work can be done to
enhance the accuracy of the method by using neural networks to train the membership
functions and fuzzy rules so that the parameters of FIS can always be updated with
new incoming measurement information.
348 Y. Zhang et al.

References

1. Hwang I, Kim S, Kim Y, Seah CE (2010) A survey of fault detection, isolation, and reconfig-
uration methods. IEEE Trans Control Syst Technol 18(3):636–653
2. Bakhary N, Hao H, Deeks AJ (2007) Damage detection using artificial neural network with
consideration of uncertainties. Eng Struct 29(11):2806–2815
3. Lopez I, Sarigul-Klijn N (2010) A review of uncertainty in flight vehicle structural damage
monitoring, diagnosis and control: challenges and opportunities. Prog Aerosp Sci 46(7):247–
273
4. Chandrashekhar M, Ganguli R (2009) Damage assessment of structures with uncertainty by
using mode-shape curvatures and fuzzy logic. J Sound Vib 326(3–5):939–957
5. Chandrashekhar M, Ganguli R (2009) Uncertainty handling in structural damage detection
using fuzzy logic and probabilistic simulation. Mech Syst Signal Process 23(2):384–404
6. Fang X, Luo H, Tang J (2005) Structural damage detection using neural network with learning
rate improvement. Comput Struct 83(25–26):2150–2161
7. Ganguli R (2001) A fuzzy logic system for ground based structural health monitoring of a
helicopter rotor using modal data. J Intell Mater Syst Struct 12(6):397–407
8. Jang JSR (1993) ANFIS: adaptive-network-based fuzzy inference system. IEEE Trans Syst
Man Cybern 23(3):665–685
9. Taha MMR, Lucero J (2005) Damage identification for structural health monitoring using fuzzy
pattern recognition. Eng Struct 27(12):1774–1783
10. Takagi H, Hayashi I (1991) NN-driven fuzzy reasoning. Int J Approx Reason 5(3):191–212
11. Hayes C (1968) Effects of simulated wing damage on the aerodynamic characteristics of a
swept-wing airplane model
12. Frink N, Pirzadeh S, Atkins H (2010) CFD assessment of aerodynamic degradation of a sub-
sonic transport due to airframe damage. In: 48th AIAA aerospace sciences meeting, Orlando
13. Shah G, Foster J, Cunningham K (2010) Simulation modeling for off-norminal conditions-
where are we now? In: AIAA modeling and simulation technologies conference, Toronto
14. Shah G, Hill M (2012) Flight dynamics modeling and simulation of a damaged transport
aircraft. In: AIAA modeling and simulation technologies
15. Shah G (2008) Aerodynamic effects and modeling of damage to transport aircraft. In: AIAA
guidance, navigation and control conference and exhibit
16. Zhang, Y., de Visser, CC., Chu, QP (2016) Online physical model identification for database-
driven safe fight envelope prediction of damaged aircraft. In: AIAA atmospheric flight mechan-
ics conference, pp 1–11, January 2016
17. Tol HJ, Visser CCD, Sun LG, Kampen EV, Chu QP (2016) Multivariate spline-based adap-
tive control of high-performance aircraft with aerodynamic uncertainties. J Guid Control Dyn
39(4):781–800
Part III
Atmospheric Applications
Ground Effect Analysis for a Quadrotor
Platform

Davide Del Cont Bernard, Mattia Giurato, Fabio Riccardi


and Marco Lovera

1 Introduction

In the rotorcraft literature, ground effect is defined as the increase in thrust (at con-
stant power) of a rotor operating near the ground. While ground effect has been
studied extensively for conventional helicopters (see, e.g., [1–3]), the phenomenon
has received limited attention as far as small-scale multirotor helicopters are con-
cerned, even though there is significant evidence that the performance of quadrotors,
both in terms of stability [4] and attitude/altitude control, degrades when operat-
ing close to the ground surface. In the literature on multirotors, this degradation is
generically attributed to ground effect, even though this interaction is then frequently
neglected at the modelling stage. However during takeoff and landing and, possibly,
in near-ground operation, ground effect is not avoidable and must be handled if one
is to achieve satisfactory flight performance in the case of autonomous operation.
In this paper the results obtained in an experimental campaign aimed at character-
ising ground effect for a quadrotor platform will be reported. In particular, the main
concern is to assess the mean value of thrust as a function of altitude from ground,
i.e., to carry out a classical characterisation of ground effect in the sense of the early
literature from the ’30s and ’40s. More precisely, a number of results have been
obtained, in different conditions: first with the platform constrained both in position
and attitude, then with one attitude degree of freedom released and finally in free

D. Del Cont Bernard · M. Giurato · F. Riccardi · M. Lovera (B)


Dipartimento di Scienze e Tecnologie Aerospaziali, Politecnico di Milano, Milan, Italy
e-mail: marco.lovera@polimi.it
D. Del Cont Bernard
e-mail: davide.delcont@mail.polimi.it
M. Giurato
e-mail: mattia.giurato@polimi.it
F. Riccardi
e-mail: fabio.riccardi@polimi.it

© Springer International Publishing AG 2018 351


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_19
352 D. Del Cont Bernard et al.

flight. In this paper, for space limitations, emphasis will be placed on the case of the
constrained platform.
The paper is organised as follows: in Sect. 2 an overview of the state of the art on
the problem of multirotor ground effect is provided, while Sect. 3 is devoted to the
description of the adopted quadrotor platform and Sect. 4 to the description of the
experimental setup. Subsequently, the results on the characterisation of ground effect
for a single rotor are provided in Sect. 5, while the case of the complete platform is
discussed in Sect. 6.

2 State of the Art

2.1 Classical Modelling for Ground Effect

As was mentioned in the Introduction, ground effect has been studied both numeri-
cally and experimentally for almost a century, see [1] for an overview or [2, 3]. In
particular, experiments usually focus on the following conditions:
• Variation of power required
 Pat constant thrust with respect to the Out-of-Ground-
Effect (OGE) value P∞ : PP∞ = k g
T
• Variation
  of thrust T at constant power with respect to the OGE value T∞ :
T
T∞
= fg ,
P
where coefficients k g and f g are related by
 −3/2
P vi T
kg = = = = − f g−3/2 , (1)
P∞ vi∞ T∞

where, in turn, vi and vi∞ denote, respectively, the In-Ground-Effect (IGE) and OGE
induced velocity. Furthermore, experimentally a dependence on:
• Distance from ground, normalised to rotor radius h/R
• Disk loading C T /σ
• Blade geometry (e.g., taper and twist)
is observed. Some classical expressions for the above mentioned coefficients are
provided hereafter:
 −1
1
fg = 1 − Cheeseman and Bennet (2)
(4h/R)2
 
0.03794 2/3
f g = 0.9926 + Hayden (3)
(h/2R)2
Ground Effect Analysis for a Quadrotor Platform 353

2.2 Ground Effect in Quadrotors

While there is increasing attention to ground effect in quadrotors, only a small num-
ber of references is available at the moment. In [5] it is suggested to use the radius of
a rotor equivalent to the sum of the areas of the individual rotor as a geometric para-
meter to apply classical results for single rotor helicopters. In [6] a model for ground
Tinput  R 2
effect based on the expression Tout put
= 1 − ρ 4h is used, where ρ is a parameter
estimated from experimental data. For the identification of ρ, hovering tests at differ-
ent altitudes have been carried out and it was noted that the effect was measurable for
distances up to h/R = 4. In [7] it is claimed that ground effect is measurable up to
almost h/R = 6. It is also suggested to use the classical formulas for conventional
helicopters by replacing the main rotor radius with the distance from the outer tip
of one rotor to the vehicle’s center. In [8] a commercial Draganflyer X8 multirotor,
having 4 pairs of coaxial, counter-rotating rotors, is considered. Unlike other studies,
the requirement of carrying out the experiments at constant power so as to obtain
results comparable with the Cheeseman formula, has been enforced. However, a
characterisation in terms of the rotor r pm is used. It is concluded that ground effect
can be seen for distances up to h/R = 6. Reference [4] reports frequency-domain
analyses of roll dynamics as a function of altitude and a slow-down of roll dynamics
as the distance from ground decreases is reported.
Finally, a number of references dealing with the problem of the experimental
characterisation of propellers for small-scale multirotors is available, see for example
[9–11].

3 Considered Quadrotor Platform

The quadrotor helicopter considered in the context of these experiments is shown in


Fig. 1. The quadrotor is a custom model with a distance of 550 mm between opposite
rotor axes and an overall take-off weight of about 1.5 kg. The relevant parameters
are reported1 in Tables 1 and 2.
The Flight Control Unit (FCU) uses as electronic boards the R2P (Rapid Robot
Prototyping) modules (see [12]). R2P is an open source HW/SW framework provid-
ing components for the rapid development of robotic applications. The R2P frame-
work use and integration is obtained through a modular hardware and an embedded
real-time publish/subscribe middleware which allows distributed control loops to
be set up in a flexible way. The R2P IMU-Module has a built-in 3-axis gyroscope,
3-axis accelerometer and a 3-axis magnetometer the outputs of which have been
logged with a frequency of 100 Hz. The on-board attitude control system has been
designed using the approach based on structured H∞ synthesis described in [13],
starting from grey-box identified models (see [14]).

1 During the experiments on the testbed the power was supplied by a 12 V laboratory power supply.
354 D. Del Cont Bernard et al.

Fig. 1 Quadrotor platform


used in this study

Table 1 Main parameters of Variables Value


the quadrotor helicopter
Frame configuration X
Frame model HobbyKing talon V2.0
Arm length b 0.275 m
Take-off weight m 1.51 kg
Roll inertia Ix x 0.035 kg × m2
Pitch inertia I yy 0.035 kg × m2
Motors HP2814 - RCTimer
KV 710 rpm/V
ESC RCTimer NFS 30 A
Battery LiPo Turnigy nano-tech 4000
mAh 3S

Table 2 Main parameters of Variables Value


the propellers
Radius R 0.1524 m
Average chord length c̄ 0.02 m
Solidity σ 0.083
Profile Unknown
Flapping frequency f1 f 9 Hz

4 Experimental Setup

The quadrotor platform has been rigidly attached to the test bed (see Fig. 2) in
order to keep a constant distance from the ground, and adjust it during the different
experiments.
Ground Effect Analysis for a Quadrotor Platform 355

Fig. 2 Complete view of the


experimental setup

The sensors used during these experiments were:


• Load cell: a six degrees of freedom load cell has been used in order to measure
the vertical force and the longitudinal torques.
• Tachometer: a custom tachometer has been used to measure the rotational speed
of each motor/propeller.
• Current sensor: in order to measure the power consumption, each motor has been
equipped with a current sensor.
All the data were logged by means of a LabVIEW visual interface and a PXIe-
1078 system from National Instruments using two different data acquisition boards:
a PXI-6284 for the load cell and current sensors and a PXI-6123 for the tachometer.
Each motor was controlled directly by the quadrotor FCU.
Finally, note that during the tests practical issues with the available setup (i.e.,
limitations in the current supply and saturation of the load cell) prevented from
reaching 100% throttle, so that results for throttle up to 80% for the isolated rotor
and up to 70% for the complete quadrotor are presented.

5 Results: Isolated Rotor

Before getting to the quadrotor case with four interacting rotors and wakes, the
behaviour of one single isolated rotor is studied. This analysis also makes possible a
comparison with the above-mentioned classical results from the rotorcraft literature.
For the purpose of this analysis, a rotor was removed from the quadrotor and
mounted alone directly on a load cell and the test stand (see Fig. 3).The measurement
setup is the one described in the previous section concerning the entire quadrotor
case. For each altitude taken into account, sequences of throttle step commands were
356 D. Del Cont Bernard et al.

Fig. 3 Experimental setup for single-rotor tests

100 10

80 8
Throttle [%]

60 6
F Z [N]

40 4

20 2

0 0
0 20 40 0 20 40
Time [s] Time [s]

Fig. 4 Imposed throttle sequence (on the left) and thrust response (on the right)

sent to the Electronic Speed Controller (ESC), and the response in terms of angular
velocity, loads, current and voltage on the ESC were recorded, stored, and later
processed. From each of the throttle steps (see Fig. 4), averages were taken of all
interesting variables, in order to obtain a complete and systematic characterization
of the behaviour at a given altitude (Fig. 5).
Some results concerning the operation of the rotor outside the range of altitude
where the ground effect can be observed, i.e., at h/R  4.7, are first presented.
It is interesting to examine the trend of the thrust coefficient C T , plotted in Fig. 6.
C T is routinely approximated as a constant, but in this case a significant variability
and hysteresis are apparent. These facts seem to be related to the peculiar working
Ground Effect Analysis for a Quadrotor Platform 357

Fig. 5 Throttle versus rpm 6000


(out of ground effect)
5000

Angular velocity [rpm]


4000

3000

2000

1000
20 40 60 80
Throttle [%]

Fig. 6 Thrust coefficient C T 0.015


versus throttle
0.014

0.013
CT

0.012

0.011

0.01
20 40 60 80
Throttle [%]

condition (low Reynolds number and significant blade flexibility), resulting in a


change of geometry according to the loading conditions.2
From the analyses on a single rotor, the energy efficiency of the motor+ESC
assembly can be easily evaluated. In fact, the mechanical power can be calculated
from the readings of the load cell and the tachometer, whereas the electrical power
can be evaluated from the current through the ESC and supply voltage measurements.
One can see from Fig. 7 that the relationship between mechanical and electrical power
is nearly linear. Furthermore, a global actuator efficiency can be defined as the ratio
between the output mechanical power and the given electrical power: E = Pmec /Pele
(see Fig. 8). This efficiency weigths both the motor efficiency and the ESC efficiency.
The resulting data, obtained applying the previously described workflow, can be
plotted in graphs where any of measures between powers, current, voltage, forces
and moments can be expressed depending on altitude and throttle. For example, in
Fig. 9, one can see how the thrust (one of the most important parameters) changes
with altitude and throttle.

2 Some tests have been conducted on a much stiffer carbon fiber blade and C seemed to be definitely
T
more constant.
358 D. Del Cont Bernard et al.

140

120

Mechanical power[W]
100

80

60

40

20

0
0 50 100 150
Electrical power[W]

Fig. 7 Actuators: generated mechanical power versus electrical power input

75

70

65

60
Efficiency [%]

55

50

45

40

35

30
20 40 60 80
Throttle [%]

Fig. 8 Actuators: global efficiency

12

10
10%
8 20%
Thrust [N]

30%
6 40%
50%
60%
4 70%
80%
2

0
0.5 1 1.5 2 2.5 3 3.5 4
h/R

Fig. 9 Single rotor: thrust versus height from ground for different throttle levels
Ground Effect Analysis for a Quadrotor Platform 359

4.6
Constant electrical power
4.5 Constant throttle
Constant rpm
4.4 Constant mechanical power

4.3

4.2
Thrust [N]

4.1

3.9

3.8

3.7

3.6
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
h/R

Fig. 10 Comparison between different ways of presenting the results (isolated rotor)

Table 3 Variables Variable Value


corresponding to a hovering
condition Thrust (OGE) 3.9 N
Electrical Power 51 W
Mechanical Power 35 W
Throttle 48 %
Angular velocity 3890 rpm

In order to compare the performance of the system at different altitudes, it is


useful to keep constant some of the parameters. Traditionally, ground effect has been
studied at constant thrust or constant power [1, 3]. In this case, along with power and
thrust, other variables can be held constant, for example throttle or the input electrical
power. In Fig. 10, one can compare these different ways of seeing the thrust change
with altitude, with different variables being fixed.
Figure 10 was obtained linearly interpolating a large amount of data. For each
altitude, power and thrust or thrust and throttle or throttle and rpm data were inter-
polated; the query points for the interpolation were chosen to be same required for
hover, and can be seen in Table 3.
In order to draw the plots of thrust versus altitude, like the one at constant mechan-
ical power of Fig. 12, for each altitude, the curves of mechanical power and thrust
are available and the thrust corresponding to a given mechanical power (for example
35 W) can be found by interpolating the data (see Fig. 11 for a graphical interpreta-
tion). Repeating the procedure for every considered altitude allows to construct all
the curves in Figs. 10 and 12.
In the following, for the sake of simplicity all the results are presented at constant
electrical power, since the mechanical power cannot be evaluated in the quadrotor
configuration due to moments cancellation of opposing motors. From Fig. 10 it is
360 D. Del Cont Bernard et al.

10
Meas.
Interpolated
8

Thrust [N]
4

2
35 W

0
0 20 40 60 80 100 120
Mechanical power [W]

Fig. 11 Example of data interpolation in order to trace the curves at constant power (altitude:
h/R = 2.13)

1.3
1.25 Experiments
Cheeseman & Bennet
1.2 Hayden

1.15
T IGE/T OGE

1.1
1.05
1
0.95
0.9
0 0.5 1 1.5 2 2.5 3 3.5 4
h/R

Fig. 12 Single rotor: comparison between experimental data and classical curves, at hovering
power

obvious that keeping constant the mechanical power is nearly equivalent to keeping
constant the electrical power or the throttle. All throttle-related results however look
more noisy than the power related ones.
Now with all these data available, a comparison with the classical models from the
rotorcraft literature becomes possible. More precisely, in Fig. 12 one can see a plot of
the thrust at constant power, compared with the estimates of Cheeseman and Bennet
and Hayden models (see Sect. 2 for details). It should not come as a surprise that there
is not a perfect agreement between models and experimental data; in fact the models
are based on hypothesis of inviscid potential flow whereas the experimental data are
concerning a rotor working at very low Reynolds numbers. The main conclusion
one can draw is that for altitudes greater than h/R < 2.5, ground effect is nearly
negligible (less than 1%).
Ground Effect Analysis for a Quadrotor Platform 361

180 14
160
12
140
10
120

Thrust [N]
Power [W]
100 8
80 6
60
4
40
20 2
0
1 1.5 2 2.5 3 3.5 4 4.5
Height [h/R]

Fig. 13 Single rotor: polynomial best fit of all experimental results

Finally, in Fig. 13 all the experimental results are reported in a comprehensive


contour plot showing the thrust as a function of height and electrical power. It has
been obtained through a polynomial best fit over all the gathered data (whose position
is shown with black dots). It is apparent that, at a given power, there is a significant
increase in thrust when a rotor operates in ground proximity.

6 Results: Complete Quadrotor

In this section the experimental results obtained considering the complete quadrotor
will be presented and discussed. The aim is to characterize the ground effect on
global rotor performance parameters and put in evidence the differences respect to
the previous analysis conducted on the isolated rotor.
As described in Sect. 3 the vehicle is assembled using COTS low-cost components.
As a consequence it is not guaranteed that the four propulsion systems composed by
ESC, brushless motor and rotor are close to each other in terms of performance; in
fact the noticed discrepancies are not negligible. In particular the motors appear to be
the components with the wider variability.3 In order to evaluate these differences, the
same experiments carried out on the isolated rotor were repeated on the quadrotor
but activating only one rotor at a time (on a limited range of throttle, in order to
not overload the load cell). The results for the four rotors (R1 → R4) are collected
in Fig. 14.
Taking into account the above issue and the necessity to define some global
parameters able to characterise the quadrotor working state for different altitudes
from ground, the following assumptions will be adopted hereafter:

3 For example, motor number 3, also tested with different ESC and rotor, shows at the same working

conditions an angular velocity about 20% larger with respect to the other units, as if the actual
K V parameter were different from the value declared by the manufacturer. This issue is visible in
Fig. 14.
362 D. Del Cont Bernard et al.

80 1
Mechanical power [W]
60 0.8

Efficiency [%]
40 R1 0.6
R2
20 R3 0.4
R4
0 0.2
0 50 100 150 0 20 40 60
Electrical power [W] Throttle [%]
5000 8
Angular velocity [rpm]

4000 6

Thrust [N]
3000 4

2000 2

1000 0
0 20 40 60 0 20 40 60
Throttle [%] Throttle [%]

Fig. 14 Complete quadrotor: comparison between each ESC and motor+rotor system performance

• Throttle: the input command to the ESC is identical for each propulsion unit;

Power: it is considered as the sum of the power required by each rotor, P =


4
i=1 Pi ;
4
• Thrust: it is considered as the sum of each rotor thrust, TZ = i=1 TZi ;
• Angular velocity:

4 it is considered as the average of the angular velocity of each
rotor, Ω = 41 i=1 Ωi .
Using the above global quantities instead of the single ones, the obtained results are
clearly repeatable as shown in Fig. 15, where the results of more than 100 experiments
at different altitudes are reported.
The same test procedure previously described for the isolated rotor characteri-
zation was adopted for the complete quadrotor case: at each altitude from ground
different values of throttle (from 10 to 70%, step 10%) were tested and all the avail-
able measures were logged. For example, the rotor thrust as a function of altitude
and throttle is shown in Fig. 16.
As reported in Fig. 17, the complete quadrotor case is quite distinct from the
isolated rotor one. The effect of the ground proximity on the thrust is extended up to
almost 4 rotor radii of height, doubling the limit of about h/R = 2 found for the
isolated rotor test.
It can be observed that the experimental data qualitatively follows the trend of
the classical formulations in the isolated rotor case while for the complete quadrotor
this is no longer true, hence it seems that the classical formulas valid for full-scale
helicopters are not able to model correctly the ground effect for small multi-rotor
vehicles.
Ground Effect Analysis for a Quadrotor Platform 363

6000 400

Angular velocity [rpm]

Electrical power [W]


300
4000
200
2000
100

0 0
0 50 100 0 50 100
Throttle [%] Throttle [%]

30
Thrust [N]

20

10

0
10 20 30 40 50 60 70
Throttle [%]

Fig. 15 Complete quadrotor: superimposed data of more than 100 experiments at different heights

30

25

20 10%
Thrust [N]

20%
30%
15 40%
50%
10 60%
70%
5

0
0 1 2 3 4 5 6
h/R

Fig. 16 Complete quadrotor: total rotor thrust as a function of non-dimensional height from ground
and throttle

An effect that can potentially explain the different behavior in the complete
quadrotor case respect to the isolated rotor one is the download due to the rotors
inflow that impinges on the airframe elements. An interesting and exhaustive work
about the topic, but considering a quad tilt-rotor (QTR) architecture was presented
in [15] concerning an experimental campaign and in [16] about a CFD analysis: the
mutual interactions between rotors-fuselage/wing-ground were investigated, char-
acterizing the transition from the penalizing download affecting the rotorcraft OGE
(14% of total thrust) to the beneficial upload (5% of total thrust) entering in ground
effect.
364 D. Del Cont Bernard et al.

1.2
Quadrotor
1.15 Isolated rotor
Cheeseman & Bennet
1.1 Hayden
T IGE/T OGE

1.05

0.95

0.9
0 1 2 3 4 5 6
h/R

Fig. 17 Non-dimensional rotor thrust at constant power as a function of non-dimensional height


from ground: comparison between isolated rotor, complete quadrotor experimental data and litera-
ture classical formulations

The presence of the quadrotor airframe surely influences the obtained results and
the amount may be proportional to the ratio of the impinged surface under the rotor
and the rotor area. For the QTR this ratio is Aair f rame /Ar otor s  0.37 (a large value
due to the wings), while for the considered quadrotor it results Aair f rame /Ar otor s 
0.13, more similar to the value for a conventional helicopter Aair f rame /Ar otor s  0.08
(see [17]).
The differences between single rotor and complete quadrotor curves in Fig. 17
become evident at about h/R ≤ 3, the height at which the download should start
reducing (see [18, Fig. 4.1]) and the upload effect due to ground starts rising. The
discrepancy between the two curves reaches about 5%TOG E , that is a value com-
parable with the download variation in the range 1 ≤ h/R ≤ 3 for a conventional
helicopter (see [17, Fig. 20]).
Another effect that could be responsible of these discrepancy is the aerodynamic
interaction among the rotors, that could be present even in spite of the expected strong
wake contraction characterizing very small and hence low Reynolds number rotors
such as the considered ones, up to 4 : 1 wake area contraction with respect to rotor
area, instead of classical 2 : 1 value for full-scale helicopters, see [3]. To the best of
the Authors’ knowledge a characterization of the aerodynamics interaction between
rotors of small multi-rotor aerial vehicles is not presently available in the literature.
As previously done for the isolated rotor case in Fig. 18 a contour plot showing
the thrust behaviour as a function of altitude, throttle and power is reported. The
plot has been obtained through a polynomial interpolation over all the gathered
experimental data.
In conclusion an interesting validation of the obtained results on the complete
quadrotor can be performed referring to one of the few works available about quadro-
tors in ground effect, [19]: the vehicle was smaller with respect to the considered one
(rotor radius equal to 4 cm) and the data was gathered directly in flight, simply mea-
suring the rotors angular velocity reduction to maintain the hover when approaching
the ground (the results taken from [19] are reported in Fig. 19). The same plot was
Ground Effect Analysis for a Quadrotor Platform 365

25 70
350
60 20
300 20
50
15

Throttle [%]
Thrust [N]
Power [W] 250

Thrust [N]
15 40
200
30 10
150 10
20
100 5
5 10
50 0
0
2 4 6 2 4 6
Height [h/R] Height [h/R]

Fig. 18 Complete quadrotor: thrust as a function of height, throttle and power, obtained through
polynomial interpolation over all the gathered experimental data

10000

9900

9800

9700

9600
rpm

9500

9400

9300

9200

9100
0 2 4 6
h/R

Fig. 19 Average rotors angular velocity as a function of non-dimensional height at constant thrust,
data from [19]

obtained from the conducted experiments data in Fig. 20, representing the average
rotors angular velocity as a function of height at constant thrust.
Comparing Fig. 19 with Fig. 20 it is evident that the trend is qualitatively the same,
in particular:
• for h/R ≥ 6 the angular velocity is almost constant varying the altitude from
ground;
• for 4 ≤ h/R ≤ 5 a slope change in the dependence of angular velocity on distance
from ground is visible;
• for 1 ≤ h/R ≤ 4 an almost linear variation of the angular velocity with the height
from ground is evident;
• for h/R ≤ 1 a steep angular velocity reduction approaching the ground occurs.
An analogous behaviour characterized by distinct segments can be recognized also
in Figs. 17 and 18.
366 D. Del Cont Bernard et al.

Fig. 20 Average rotors 3620


angular velocity as a
function of non-dimensional 3600
height at constant thrust,
3580
conducted test data
3560

rpm
3540

3520

3500

3480

3460
0 2 4 6
h/R

7 Concluding Remarks

In this paper the results of an extensive experimental campaign aimed at character-


ising ground effect for a small-scale quadrotor platform have been presented and
discussed. In particular, both an isolated rotor and the complete platform have been
studied. Experimental data in the isolated rotor case qualitatively follow the trend
of the classical formulations of ground effect from the rotorcraft literature. For the
complete quadrotor, on the other hand, this is no longer true: hence it seems that the
classical formulas valid for full-scale helicopters are not able to model correctly the
ground effect for small multi-rotor vehicles. In particular the effect of the ground
on the thrust is extended up to almost 4 rotor radii of height for the quadrotor case,
doubling the limit of about h/R = 2 found for the isolated rotor tests. Two possible
phenomena that should explain the observed discrepancy between complete quadro-
tor and isolated rotor results have been discussed: the airframe download strong
variation in proximity of the ground and the interferences between the four rotor
wakes. Further experimental campaigns should be carried out extending the present
work in order to verify and characterize both the hypothesized effects.

References

1. Johnson W (2013) Rotorcraft aeromechanics. Cambridge University Press, Cambridge


2. Padfield GD (2008) Helicopter flight dynamics. John Wiley & Sons, Newyork
3. Leishman GJ (2006) Principles of helicopter aerodynamics. Cambridge University Press, Cam-
bridge
4. Aich S, Ahuja C, Gupta T, Arulmozhivarman P (2014) Analysis of ground effect on multi-
rotors. In: 2014 International conference on electronics, communication and computational
engineering (ICECCE), IEEE, New York pp 236–241
5. Bangura M, Mahony R (2012) Nonlinear dynamic modeling for high performance control of
a quadrotor. In: Australasian conference on robotics and automation, pp 1–10,
Ground Effect Analysis for a Quadrotor Platform 367

6. Danjun L, Yan Z, Zongying S, Geng L (2015) Autonomous landing of quadrotor based on


ground effect modelling. In 2015 34th Chinese control conference (CCC), IEEE, Newyork, pp
5647–5652
7. Davis E, Spollard J, Pounds P (2015) Passive height stability and trajectory repeatability of a
quadrotor maneuvering in ground effect with regulated voltage bus. In: Australasian conference
on robotics and automation (ACRA 2015)
8. Sharf I, Nahon M, Harmat A, Khan W, Michini M, Speal N, Trentini M, Tsadok T, Wang T
(2014) Ground effect experiments and model validation with Draganflyer X8 rotorcraft. In:
2014 International conference on unmanned aircraft systems (ICUAS), IEEE, Newyork, pp
1158–1166
9. Saedan M, Puangmali P (2015) Characterization of motor and propeller sets for a small radio
controlled aircraft. In: 2015 10th Asian Control Conference (ASCC), IEEE, Newyork pp 1–6
10. Yoon M (2015) On driving signal of electronic speed controller for small multi-rotor helicopter.
Int J Eng Res Tech 4(11):456–459
11. Yoon M (2015) Experimental identification of thrust dynamics for a multirotor helicopter. Int
J Eng Res Tech 4(11):206–209
12. Bonarini A, Matteucci M, Migliavacca M, Rizzi D (2014) R2P: An open source hardware and
software modular approach to robot prototyping. Robot Auton Syst 62(7):1073–1084
13. Riccardi F, Lovera M (2014) Robust attitude control for a variable-pitch quadrotor. In IEEE
multi-conference on systems and control. IEEE, Antibes, France
14. Panizza P, Riccardi F, Lovera M (2014) Identification of the attitude dynamics for a variable-
pitch quadrotor. In 40th European rotorcraft forum. Southampton, UK
15. Radhakrishnan A, Schmitz FH (2003) An experimental investigation of a quad tilt rotor in
ground effect. In: AIAA paper, vol. 3517
16. Gupta V, Baeder JD (2002) Quad tiltrotor aerodynamics in ground effect. In: Proceedings of
the 58th annual Forum of the American Helicopter Society, pp. 48–61
17. Trept T (1984) A 0.15-scale study of configuration effects on the aerodynamic interaction
between main rotor and fuselage. NASA-CR-166577
18. Radhakrishnan AM (2006) An experimental investigation of ground effect on a quad tilt rotor
in hover and low speed forward flight. PhD thesis, University of Maryland, MD
19. Powers C, Mellinger D, Kushleyev A, Kothmann B, Kumar V (2013) Influence of aerodynamics
and proximity effects in quadrotor flight. In: Experimental robotics, Springer, Berlin, pp 289–
302
Nonlinear Model Predictive Flight Path
Control for an Unmanned Powered
Paraglider

Fabian Binz, Philipp Hartmann and Dieter Moormann

1 Introduction

Parafoil and payload systems offer high payload capacities, robustness and ease of
deployment. Thus, they are used in both military and civil applications like remote
sensing, aerial survey or airdrop supply systems. Besides their versatility, powered
paragliders (PPGs) are interesting objects of investigation because of their unique
flight dynamics. The center of mass being suspended below the parafoil leads to a
high roll and pitch stability. At the same time, the high wind-to-airspeed ratio makes
the aircraft susceptible to wind and gusts.
A large body of research on parafoil and payload systems focuses on modeling
their complex, nonlinear dynamics. References [2, 4, 13] provide multiple detailed,
nonlinear system descriptions with 8 or 9 degrees of freedom (DOF). These models
are derived on the basis of a two-body system description with a joint representing
the flexible connection between the payload and the parafoil. Reference [13] then
continues to derive simpler models with only 6 DOF, which are more suitable for
controller design. Assuming that the lateral and longitudinal motion are decoupled,
model complexity can be further reduced to three DOF [5]. The parameters used in
these models are either known or obtained using system identification techniques [8].
Concerning the flight guidance of parafoil and payload systems, several approaches
can be found in the literature. At the highest level they share a common structure,
namely, a separation between heading control and flight path guidance. The heading
control is achieved using (nonlinear) model predictive control (MPC) [10, 11] or
classic PID control [7].
To track the reference flight path, several control schemes have been proposed.
Most commonly, the distance to a point on the reference flight path is mapped to a
commanded heading, see [11]. More recently, the increased computational power of
modern avionics allowed the use of MPC directly for flight guidance. In this regard,

F. Binz (B) · P. Hartmann · D. Moormann


Institute of Flight System Dynamics, RWTH Aachen University,
Aachen, Germany
e-mail: binz@fsd.rwth-aachen.de

© Springer International Publishing AG 2018 369


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_20
370 F. Binz et al.

Ref. [12] presents experiment results of a parallel implementation of an MPC on a


graphics processor. Here, the parallel processing capabilities are used to find a flight
path which is robust against uncertainties introduced by wind gusts. Similarly, [6]
presents a parallel implementation of nonlinear model predictive control (NMPC)
on a FPGA-based flight computer enabling sample rates of 10 Hz.
Against this background, the control scheme for the horizontal flight path guid-
ance presented here focuses on simplicity and ease of implementation. Especially
in outer flight guidance control loops the inherent properties of PPGs can easily
lead to large control deviations. One reason for this is the fact that classic feedback
controllers typically only react to changes of the reference input. The controller pro-
posed here is a predictive controller and thus can act according to predicted, future
changes of the reference input. It can be argued that this property makes predictive
controllers especially suited for flight guidance problems, since the reference flight
path is typically known ahead of time. While the results gathered in this paper were
obtained with a PPG, they are applicable to other parafoil and payload systems.
The paper is structured as follows: First, Sect. 2 gives an overview of the charac-
teristics of PPGs along with a brief introduction into NMPC. Based on this, Sect. 3
presents the conceptual approach of the control scheme, then Sect. 4 discusses sev-
eral aspects of its realization. The results of evaluating the controller in simulations
and flight tests are summarized in Sect. 5.

2 Fundamentals

This section introduces basics concerning the flight dynamics of PPGs and will
highlight some challanges these characteristics pose for accurate flight path guidance.
Since the control scheme used here uses a black-box model of the plant, no analytical
description of the flight dynamics of a PPG will be given. For a discussion of different
modelling techniques the reader may refer to [8, 13, 14].
The discussion of model predictive control will concentrate on its conceptual
ideas and keep formulas to a minimum. Comprehensive material on (nonlinear)
model predictive control may be found in [3, 9].

2.1 Powered Paragliders

Powered paragliders belong to the class of parafoil and payload systems, which
are characterized by the payload being suspended with lines below the parafoil, see
Fig. 1. The only means of steering is the deflection of the trailing edge of the parafoil.
The deflection is accomplished using two lines, each connected to one side of the
trailing edge, often called brakes. Pulling one line alters the parafoils shape on the
correspondig side. This asymmetric brake deflection creates a yawing moment, which
in turn leads to a yawing rate. Pulling both brakes symmetrically primarily leads to an
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 371

Fig. 1 Conceptual overview


Parafoil
of a powered paraglider
Deflected
Trailing-Edge

Suspension

Brake Line

Payload

increase in drag and can be used to control the airspeed and thus the glide path of the
parafoil. Additionally, powered paragliders are equipped with a propulsion system,
which is located in the same frame as the actual payload. Due to the suspension
below the parafoil, an increase in thrust primarily increases the incidence angle of
the parafoil and thus the vertical velocity. In comparison, the effect on the horizontal
airspeed is small.
Due to their construction, PPGs typically exhibit high stability in both yaw and
pitch. The long suspension lines allow relative motion between the parafoil and the
payload. Because in the PPG considered here, all sensors are located in the payload,
this relative motion has to be taken into account during controller design. With regard
to heading control the relative motion in form of a self-induced yawing oscillation
has to be considered.
Since PPGs are often used in harsh environments robust sensing equipment is
beneficial. To that end, the control scheme presented here only requires heading
information of the payload, aswell as ground speed and position. The heading can be
obtained using off-the-shelf devices, while the ground speed and position are obtained
by a GPS device. Notably, no airspeed information is required. This small number
of required sensors is sufficient for our control scheme because of two assumptions
which are made concerning the flight mechanics of PPGs: a constant airspeed and a
negligible stationary side-slip.

2.2 Model Predictive Control

Model predictive control (MPC) is an umbrella term for a family of control algorithms
which offer a conceptually simple solution to a wide range of control problems. While
the core concept is simple, the implementation of an MPC often requires substantial
processing power. This hindered the application of MPC in fast control loops, as
those typically found in aircraft, in the past.
All MPC algorithms share the idea, that control action is based on predictions of
the state trajectory of the plant. For different future control input sequences, different
372 F. Binz et al.

trajectories of the plant are predicted. These predicted trajectories are rated using a
cost function. Finding the optimal control input sequence with regard to the cost
function constitutes solving an optimization problem. In a closed-loop setting this
optimization is carried out in every timestep and only the first element of the optimal
input sequence is used as an actual input to the plant.
The complexity of solving the optimization problem is highly dependent on the
model used. For linear models, analytical solutions can readily be derived. Nonlinear
models on the other hand require nonlinear optimization algorithms, which typically
require much processing power and a complex implementation.
One can identify four separate components which will be present in any MPC:
the model, the observer, the cost function and the optimizer. A general discrete-time
model is given by
 
x(k + 1) = f x(k), u(k) (1)

Here, the next state x(k + 1) is a (nonlinear) function f of the previous state x(k)
and the previous input u(k). A sequence x(·) is called the (state) trajectory of the
system. In general, the state x cannot be measured directly, but has to be calculated
based on the measurable outputs and inputs y(k) = g(x(k), u(k)). Thus, most model
predictive control schemes will include an observer.
The predicted trajectories are rated using a cost function of the form


H −1
JH = (xu (k), u(k)) (2)
k=0

The index H denotes the prediction horizon, xu is the state trajectory obtained using
the input sequence u(·) and  are the pointwise costs. Often, additional terms are
included to improve or proof stability, but for this work the simple formulation in
(2) is sufficient.
One of the advantages of MPC compared to other control schemes is its ability
to incorporate constraints. These can be introduced at several points, either as hard
constraints or as soft constraints. Hard constraints, as those often found in inputs,
can be easily included as part of the model or the optimizer. Soft constraints (e.g. a
flight state, which should be avoided) can be included by assigning a large cost to
the corresponding state or input.
Given the cost function, the model and the currently observed state, the optimizer
has to find the input sequence u(·) which minimizes the cost function J H over the
prediction horizon H and at the same time satisfies the given constraints. The optimal
control problem (OCP) thus is:
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 373


H −1
Find u ∗ (·) = argmin J H = argmin (xu (k), u(k))
u(·) u(·) k=0

where xu (0) = x0 (OCP)

and xu (k + 1) = f (xu (k), u(k))

while satisfying the given constraints.


Solving (OCP) yields an optimal control sequence u ∗ (·), where the first element
provides the input to the plant during the next timestep.
Prediction Horizon The time covered by the prediction horizon H is Δt = H · T .
Since T effectively introduces a dead time into the control loop it is desirable to
keep T small. However, for a fixed Δt the consequences of a smaller timestep T are
twofold: First, we increase the number of timesteps we need to predict. Secondly,
the computation time per timestep increases, because (OCP) needs to be solved for
more variables. Due to this using an MPC quickly becomes infeasible for small
timesteps T .

3 Conceptual Approach

A simplified block diagram of the horizontal flight path guidance is shown in Fig. 2.
There are two control loops: the outer loop controls the horizontal flight path using
a model predictive controller and generates heading commands for the inner loop,
the heading controller. Dividing the controller into two loops, the “fast” heading
controller loop and the “slow” flight guidance loop, has several advantages over a
solution based on model predictive control only. The most apparent advantage is
that it allows the reuse of an existing heading controller. At the same time, both
controllers can be designed separately. From the viewpoint of the MPC, the heading
controller is now part of the plant. One can achieve a mostly linear control response
from commanded heading to actual heading by designing the heading controller
correspondingly. Thus a linear model can be used to represent the heading-controlled

VA , VW , ΨW

Observer

vg
ref. flight path ψc δa ψ
MPC Heading Controller Dynamics Kinematics
- xg

Dynamics + Kinematics

MPC model

Fig. 2 MPC control loop


374 F. Binz et al.

PPG. Another, more subtle effect is that, due to this division it is natural to let the “fast”
heading controller run at a higher frequency than the “slow” flight path controller.
In addition to the linear model of the heading-controlled PPG, the underlying
model of the MPC also includes the flight path kinematics, which are inherently
nonlinear. Due to this, the optimization problem (OCP) also becomes nonlinear. To
predict the future flight path, the current wind speed has to be estimated. This is
done using a non-standard observer, which is only based on heading information and
ground velocity measurements.
The reference flight path is constructed using straight-line segments. Turns are
constructed in compliance with the maximum achievable turn rate and then approx-
imated using multiple straight-line segments.
In the following sections, each component briefly presented above will be dis-
cussed in more detail.

3.1 Model of Heading-Controlled PPG

The model consists of two parts: the dynamics and the kinematics. The dynamics
model the behaviour of the heading-controlled plant, thus the input is the commanded
heading Ψc and the output is the actual heading Ψ . As mentioned before, the suspen-
sion of the payload leads to heading oscillations. While high-DOF models, which
model the relative motion of the canopy and the payload, exist, considering these
effects is not useful for the purposes of flight path guidance. This is due to the fact
that the actuators are too slow to counteract the oscillations, thus they ideally should
not react to them at all. Additionally, considering the flight path, heading oscillations
about a setpoint will in effect still lead to an approximately straight-line path.
The model of the heading-controlled PPG is a transfer function obtained using
black-box system identification, see Sect. 4.2. It is of the form

1 + n1s + n2s 2 . . .
G Ψ Ψc = (3)
1 + d1 s + d2 s 2 + . . .

Note that, while most of the coefficients of the numerator and denominator polyno-
mials need to be estimated, we fix n 0 = 1. In other words, the static-gain of G Ψ Ψc is
1, because we assume that the heading controller will achieve zero stationary control
deviation. Additionally, G Ψ Ψc shall be strictly proper, since there should be no direct
feed-through. For the actual discrete-time implementation, the dynamics (3) need to
be discretized.
The kinematic model is based on the assumptions that airspeed, wind speed and
wind direction only vary slowly and that the side-slip of the PPG is negligible. Thus
the kinematics are given by
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 375

Vg = VA + VW

(4)
xg = Vg dt

Here, VA and VW denote the aerodynamic and the wind speed respectively. As before,
(4) needs to be discretzied for the actual implementation.
The complete model consists of the dynamics of the heading controller (3) and
the kinematics (4).
To predict a trajectory of a system the initial states need to be known. The states
of the kinematic model are comprised of the position xg , the airspeed V A , the wind
speed VW and the wind direction ΨW . The states of the dynamic model are dependent
on the actual dynamic model chosen in the system identification process. In the case
of a discrete-time transfer function model without direct feed-through the output is
a function of the previous outputs and the previous inputs:

Ψ (k) = −a1 Ψ (k − 1) − a2 Ψ (k − 2) − . . . + b1 Ψc (k − 1) + b2 Ψc (k − 2) + . . .

Thus the previous inputs and outputs can be considered states of the model. Akin to
internal model control (IMC), the previous outputs Ψ (k − 1), Ψ (k − 2), . . . are
obtained by updating an internal model at each timestep k with the previously chosen
input Ψc (k − 1). This has the advantage, that the heading oscillations of the PPG do
not affect the MPC model. However, this approach only works, if the plant and the
model do not diverge over time. We assume that this is given, since the dynamics
model has a static gain of 1 and the heading controller is designed accordingly. Using
this technique effectively decouples the flight guidance loop from the dynamics of
the PPG.

3.2 Observer

As mentioned in Sect. 3.1 the model state is given by


 T
x = xg V A VW ΨW Ψ (k − 1) Ψ (k − 2) . . . Ψc (k − 1) Ψc (k − 2) . . . (5)

All state variables, but the airspeed V A , wind speed VW and wind direction ΨW , are
either directly measurable or known. Based on the assumption of negligible side-slip,
slowly varying airspeed, wind speed and wind direction (c.f. Sect. 3.1) the unknown
state variables V A , VW and ΨW can be observed from available measurements.
We first introduce the ground speed in direction of the current heading Vg,Ψ , which
can be calculated using the following formula:


 Vg,x 
Vg,Ψ 
=  cos(χ − Ψ ) = Vg cos(χ − Ψ ) where χ = atan2(Vg,y , Vg,x )
Vg,y 
(6)
376 F. Binz et al.

Fig. 3 Velocity vectors xg

χ xg
Ψ
VA ΨW
Vg
VW
Vg,Ψ

Figure 3 shows the relationship between VA , VW and Vg and gives the following
equation for Vg,Ψ :

Vg,Ψ = V A + VW cos(Ψ − ΨW ) (7)

In principle, given a set of observations Vg,Ψ and Ψ the unknown parameters V A , VW


and ΨW can be determined using nonlinear regression. A more efficient approach
is to introduce a nonlinear transformation such that the unknown parameters can be
determined using linear regression:

Vg,Ψ = V A + VW cos(Ψ − ΨW )
= VW cos(ΨW ) cos(Ψ ) + VW sin(ΨW ) sin(Ψ ) + V A (8)
= VW x · cos(Ψ ) + VW y · sin(Ψ ) + V A

Equation (8) is linear in the parameters VW x , VW y and V A . The transformation back


to the original parameters is given by

VW = VW2 x + VW2 y (9)
ΨW = atan2(VW y , VW x ) (10)

For N observations the following system of equations can be formulated:


⎛ ⎞ ⎛ ⎞
cos(Ψ1 ) sin(Ψ1 ) 1 ⎛ ⎞ Vg,Ψ,1
⎜ cos(Ψ2 ) sin(Ψ2 ) 1⎟ VW x ⎜ Vg,Ψ,2 ⎟
⎜ ⎟ ⎜ ⎟
⎜ .. .. .. ⎟ ⎝ VW y ⎠ = ⎜ .. ⎟ ⇔ Ax = b (11)
⎝ . . . ⎠ VA ⎝ . ⎠
cos(Ψ N ) sin(Ψ N ) 1 Vg,Ψ,N

The least-squares problem corresponding to Eq. (11) can be solved using standard
algorithms. However, the choice of observations to include in the regression is not as
obvious. Always choosing the last N observations can quickly lead to a case where A
becomes singular, for example when the PPG is flying with a constant heading. In this
case, all rows of A will be nearly equal and the least-squares problem becomes badly
conditioned. Instead, we divide the heading range from −180 to 180◦ into N equal
slices. For each slice, P observations (Ψ, Vg,Ψ ) are recorded and thus a mean and a
variance can be calculated. A large variance in a slice will likely be due to changes
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 377

in the wind vector, thus for the regression this slice should have a smaller influence
on the estimate than a section with low variance. By introducing the diagonal matrix
W = diag(1/σi ), where σi is the standard deviation in the i-th slice, a new regression
problem can be formulated:

b̂ = Âx where b̂ = Wb and  = WA (12)

b and A are defined using mean values in each slice as described above. The observer
can be classified as an online least-squares estimator with directional forgetting [1].

3.3 Cost Function

The cost function penalizes deviations of a predicted flight path from the reference
flight path. As stated in Eq. (2) the total cost is the sum of pointwise costs . The
main goal is to minimize the distance to the reference flight path. We use the standard
practice to minimize the squared distance, since it enables a more efficient imple-
mentation. In addition to penalizing the distance we also penalize deviations from
the reference flight path azimuth. This prevents the optimizer from finding solutions
which are close to the reference flight path, but opposite to the direction associated
with the current line segment. To allow approaching the reference flight path in a 90◦
angle, this term is weighted with the inverse of the distance to the reference flight
path. The pointwise cost function is thus

Δχ 2
(x, u) = μ1 d 2 (x, xr e f (·)) + μ2 (13)
d(x, xr e f (·))

where the current fligh path azimuth is given by χi = atan2(yg,i+1 − yg,i , x g,i+1 −
gg,i ), xi = (x g,i , yg,i ) is the i-th element of the predicted flight path and d(x, xr e f (·))
denotes the distance from the reference flight path. Equation (13) introduces the addi-
tional weighting factors μ1 and μ2 , which make the corresponding terms dimension-
less. For the optimization, the relative weighting of both terms is essential, so μ1 can
be fixed to 1/m2 . μ2 should be large enough to prevent the optimizer from choosing
the wrong directions. Suitable values can be found in simulation studies. The cost
function (13) only penalizes states, not inputs, since the hard input constraints are
handled during optimization.

3.4 Optimizer

The optimizer’s task is to minimize the cost function J H (2) with regard to the input
sequence u(·). Given the dynamics of the heading-controlled PPG we know that
a maximum absolute commanded turn rate |Ψ̇c,max | can be achieved. This creates
378 F. Binz et al.

(a)
predicted flight path (b) (c)
+ΔΨc +ΔΨc
−ΔΨc

reference flight path

Fig. 4 Optimizer working principle

a constraint, which has to be satisfied during optimization. Since the optimization


problem (OCP) is formulated in a discrete-time setting, the maximum absolute com-
manded turn rate Ψ̇c,max is replaced by a maximum change in the commanded heading
|ΔΨc,max |.
A common problem in solving (OCP) is that changes in the inputs have non-local
effects, i.e. a change in the commanded heading affects the entire predicted flight path
in the following time steps. A consequence of this property is that minimizing J H by
optimizing the input sequence at one point can easily lead to the situation depicted in
Fig. 4b. Initially the pointwise cost  decreases, but increases again after the predicted
trajectory crosses the reference flight path. In total, the costs J H might not be lower
for the predicted flight path in Fig. 4b than for the initial path in Fig. 4a. Thus the
predicted flight path in Fig. 4b will not be considered further during gradient-based
optimization. An effective way to circumvent this problem is to introduce changes
to the commanded heading not only at one, but at two points in the predicted flight
path. This leads to the predicted flight path shown in Fig. 4c.
The optimization algorithm works by successively introducing opposing changes
at two prediction points, denoted by indices i and j. The index i runs from 1 to H − 1,
while the index j runs from i + 1 to H . For each pair (i, j) a small change ΔΨc is
introduced to the commanded heading (added at i, substracted at j and vice versa).
This process continues as long as the total cost decreases, otherwise the algorithm
advances to the next pair (i, j). The number of iterations per pair (i, j) is bounded,
because the introduced change is limited to ±ΔΨc,max . Additionally, the total number
of iterations is bounded, to ensure that the algorithm produces a result in the required
time T . The number of index pairs (i, j) is in the order of 21 H 2 . At each pair, the
model has to be executed H times to give the predicted flight path. Thus the total
complexity of the algorithm is of order H 3 .
If it takes Tonce seconds to step the model once and calculate the pointwise cost
, predicting a complete flight path takes H · Tonce seconds. In the worst case, the
optimizer needs to evaluate ΔΨΔΨ c,max
· H 2 complete trajectories. For a fixed prediction
time Δt and an MPC timestep of T , the number of prediction steps H is Δt T
. The
smallest MPC timestep is thus found to be

ΔΨc,max 3
Tmin = 4
Δt Tonce (14)
ΔΨc

The values of Δt and ΔΨc,max depend on the plant dynamics, while Tonce and ΔΨc
are design variables.
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 379

4 Implementation

The following section discusses the implementation of the previously presented con-
trol scheme.
Technical Data The actual PPG used was a SUSI62 provided by Dr. H.-P. Thamm
Geo-Technic (Fig. 5). Its technical data are summarized in the Table 1.
The flight control hardware was developed at the Institute of Flight System
Dynamics of the RWTH Aachen University. Besides an integrated IMU and a GPS
module it has two dedicated microcontrollers for running control algorithms. Both
microcontrollers are clocked at 164 MHz and contain a floating point unit (FPU). Due
to this architecture, the previously discussed division between heading control and
flight path control could be easily transferred to the actual implementation. While
the heading controller runs at a frequency of 200 Hz, the flight path controller runs
only at 1 Hz, see Sect. 4.4.

Fig. 5 The powered


paraglider SUSI62

Table 1 Technical data Wing area 6 m2


Empty weight ≈ 10 kg
Payload capacity up to 5 kg
Airspeed ≈ 8 m/s
Motor 62 cm3 , 2-stroke, gasoline
Flight time up to 1 h
380 F. Binz et al.

δa u v r
u(t) = f δa (t) v(s) = G · u(s) r(t) = g v(t)

Input Nonlinearity Linear Dynamics Output Nonlinearity


1

Step Response [-]


Nonlin. Value [-]

Yaw rate [◦ /s]


0.8 50
0.5
0.6
0
0 0.4
0.2 −50
−0.5
0
−1 0 1 0 2 4 6 −0.5 0 0.5
Asym. Flaps a [-] Time [s] Nonlin. Value [-]

Fig. 6 Nonlinear Hammerstein–Wiener model

4.1 Heading Controller

Heading control is achieved by a PID-based controller. In contrast to other works


[7] the process model is a black-box model obtained using system identification.
The input to the system is the asymmetric brake deflection δa = δle f t − δright . The
output is the yawing rate r , which approximates the heading rate of change Ψ̇ for
small bank angles. To capture the nonlinear properties of both the actuators and
the flight dynamics of the PPG we use a nonlinear Hammerstein–Wiener model.
Hammerstein–Wiener models combine static input and output nonlinearities with a
linear system in between.
Figure 6 shows the characteristics of the individual components of the identified
model. Several conclusions can be drawn from these figures: The input nonlinearity
shows a non-zero output in case of a zero input. Additionally the flap’s effect does not
change beyond approximately −0.2 in the negative or 0.3 in the positive direction.
The output nonlinearity shows a plateau from −0.4 to 0.5 units, which has the effect
of a dead-zone as well as of a dead-time. The step response of the linear block shows
a rise time of about 2 s.
On the basis of these nonlinear dynamics we tuned a PID controller which achieves
zero stationary control deviation and a linear response for reasonably small input
changes. Figure 7 shows data from flight tests, where the commanded heading was
controlled manually. Even though the heading controlled plant exhibits large over-
shoots, this behaviour is acceptable as long as a suitable model can be found.

4.2 Kinematic and Dynamic Model

Dynamics As implied by the considerable overshoots, a second-order model is


needed to describe the plant behaviour to a sufficient accuracy. Based on flight-test
data the following continuous-time transfer function model was identified:
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 381

200

[◦ ]
Heading 180

160 c

Predicted
140
280 290 300 310 320 330 340 350
Time [s]

Fig. 7 Response of heading controller

K ·(1+Tz s)
G(s) = 1+2ζ Tw s+(Tw s)2
(15)
where K = 1; Tz = −0.29 sec; Tw = 1.47 sec; ζ = 0.40

In addition to the plant behaviour, Fig. 7 shows the model response Ψ Model . The
model shows a similar behaviour with regard to the step response aswell as the
overshoots to some degree. The large oscillations caused by the suspension cannot
be represented since these are not caused by a measurable input to the plant. Since
the MPC is formulated in a discrete-time setting, Eq. (15) was discretzied using a
zero-order hold method and the MPC sample time T .
Kinematics The observer discussed in Sect. 3.2 estimates the airspeed, wind speed
and wind direction. Due to this, the velocities in (4) are expressed in polar coordinates.
Discretizing (4) with a sample time of T yields
   
cos Ψ (k) cos ΨW (k)
vg (k) = V A (k) + VW (k)
sin Ψ (k) sin ΨW (k) (16)
xg (k + 1) = xg (k) + vg (k) · T

We use euler-integration because simulation results indicated no improvement when


using more elaborate integration schemes.

4.3 Wind Estimation

Section 3.2 introduced the observer that is used to estimate the aerodynamic speed
and the wind velocity. The two essential parameters of this observer are the number of
sections N and the number of observations per section P. As a first approximation, N
influences the convergence time and P the noise of the estimate. In simulation studies
N = 12 and P = 10 were found to result in a good tradeoff between convergence
speed and noise level.
382 F. Binz et al.

100 9

Aerodyn. Speed [m/s]


Wind Direction [◦ ]
Wind Speed [m/s] 4
50 8

2
0 7

0 −50 6
0 50 100 150 200 0 50 100 150 200 0 50 100 150 200
Time [s] Time [s] Time [s]

Estimate Simulation

Fig. 8 Observer simulation results

Figure 8 shows one such simulation study. The simulated wind is based on mea-
sured wind data. During the first 50 s the heading slices are filled with new observa-
tions, leading to large changes in the estimate. The length of this initial phase depends
on the actual flight path. After this initial phase, the solution stabilizes, effectively
smoothing the simulated velocities.

4.4 Optimizer

The main advantage of the optimization algorithm presented in Sect. 3.4 is its con-
ceptual simplicity. While this simplicity also translates to its implementation, the
runtime of the MPC is still the major limiting factor for an application to faster
control loops.
MPC timestep Equation (14) allows a calculation of the minimum MPC timestep
Tmin . It takes about Tonce = 19µs to step the model once and calculate the point-
wise cost . Given the rise time of about 2 s of the plant (see Sect. 4.1), the pre-
diction horizon was Δt = 10 s. The maximum heading change in one timestep
was set to ΔΨc,max = 0.3rad (≈ 17◦ ), while the incremental change was set to
ΔΨc = 0.05 rad (≈ 3◦ ). This results in a minimum MPC timestep of Tmin = 0.58 s
(i.e. a maximum control frequency of 1.72 Hz). Since Tmin only constitutes the MPC
computation time, we set the actual MPC timestep to 1 s to allow the microcontroller
to execute other tasks besides computing the heading command.
Initial solution Starting optimization from a good initial solution considerably
reduces the required iterations to find the optimal solution. If the model is suffi-
ciently accurate we assume that the predicted flight path will be close to the actual
future flight path. The next optimal solution will then be close to the current opti-
mal solution, minus the first element. Using the last optimal solution to initialize
the current solution reduces the required number of iterations considerably. Once a
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 383

solution is found, it takes only about 50 iterations to find the optimal solution in the
subsequent timesteps. This results in a computation time of about 5 ms, which is
well below the theoretical worst-case of about 500 ms.

5 Evaluation

The following section presents an evaluation of the previously described control


scheme. The individual components of the MPC will be discussed separately where
applicable. First, results from a simulation study are discussed and then compared
to results from flight tests.
Reference Flight Path All results are obtained using the same reference flight path.
The flight tests were conducted at a small airfield with a limited area of about
250 m ×500 m. Thus the primary requirement for the reference flight path was
to stay within these allowed limits. We chose a flight path in shape of the number 8,
featuring both left and right turns. The minimum turn radius is 70 m. With an air-
speed of 8 m/s and a maximum expected wind speed of 5 m/s this corresponds to a
maximum turn rate of 0.16 rad/s (≈ 9◦ /s). This is well within the maximum turn
rate of Ψ̇c,max = 0.3 rad/s (≈ 17◦ /s) imposed by the heading controller.

5.1 Simulation Study

The following simulation results were obtained with a mean wind speed of
VW = 3 m/s in direction of the positive y-axis (ΨW = 90◦ ). Wind gusts up to
1 m/s were added to the mean wind velocity. The estimated velocities behave simil-
iarly to the estimates in Fig. 8 and thus are not discussed further. For the simulation,
we used the nonlinear model described in Sect. 4.2.
Figure 9 shows the reference flight path and the simulated flight path. The sim-
ulated flight path stays within approximately ±10 m of the reference flight path.
As is to be expected, the largest deviations occur when the velocity estimation is
inaccurate. This inaccuracy is however part of the overall design, since the actuators
of the PPG are too slow to counteract wind gusts. Additionally, the deviation from
the reference flight path rises during fast turn maneuvers, where the PPG achieves
comparatively large turn rates. This suggests an insufficient model accuracy for this
flight state.
Effects of inaccurate velocity estimates The observer is based on the assumption
that the observed variables are only varying slowly. Due to its working principle,
changes in the wind direction or speed can only be detected reliably if enough new
observations are gathered in new slices. Especially during long straight-line flight
segments this condition will not be satisfied. To quantify the effect of erroneous
estimtates of wind velocity and airspeed, we carried out simulation studies. In these
384 F. Binz et al.

Fig. 9 Simulated flight (a) Reference (b) Simulated


along reference flight path

200

y [m]
y [m]
0

− 200

− 100 0 100 − 100 0 100


x [m] x [m]

studies, the velocity estimates were set to a fixed value while an additional crosswind
was introduced in the simulation. We found that the deviation from the reference
path rises linearly with the error in wind speed estimation. An erroneous wind speed
estimate of 5 m/s will lead to an error of about 30 m. The relevance of this result
depends on the properties of the reference flight path and the required accuracy.
It should be noted that even in the case of an unaltered estimate, a mean deviation
of about 2 m is present. This seems to result from the optimizers discretized search
space. The optimizer is not able to find a commanded heading that leads to zero mean
deviation.

5.2 Flight Test

A flight test was conducted to validate the results obtained in the simulation study
described previously. Due to a biased heading measurement, the flight path guidance
results are distorted and not included here. The effects of this bias are the same
as those of inaccurate velocity estimates. Thus, resulting from an incorrect wind
correction angle the actual flight path was offset from the reference flight path by
about 20 m. Nevertheless, the resulting flight path was similar to the simulation
results with respect to its variation and reproducability.
Only those components of the MPC not affected by the biased heading measure-
ment will be discussed below.
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 385

0
8

Direction [◦ ]
Speed [m/s] −20
airspeed
6
wind speed
−40
4 wind direction
−60
0 100 200 300 0 100 200 300
Time [s] Time [s]

Fig. 10 Velocity estimation in flight test

5.2.1 Observer

Figure 10 shows the estimated wind speed and airspeed during one test flight. After
take-off, the estimated airspeed converges to approximately 8 m/s, which is in the
expected range. Due to the lack of airspeed sensors the estimated velocities could
only be checked for plausibility and couldn’t be validated further.

5.2.2 Model

Figure 11 compares the measured heading during a flight with the predicted heading.
The left plot shows the heading commanded by the model predictive flight path
controller. The heading controller has a considerable lag of approximately 2 s. The
right plot shows the heading predicted by the internal dynamics model. Of course,
not all dynamics are described by the simple linear model. A typical example of this
can be seen around 610 s. Here, shortly after the turn starts, the payload swings back
again before following the motion of the parafoil. Besides such nonlinear behaviour,
the lag and the rise time of the plant are represented well by the linear model.

300 300
Heading [◦ ]

Heading [◦ ]

200 200

100 Measured Heading 100 Measured Heading


Commanded Heading Estimated Heading

600 620 640 600 620 640


Time [s] Time [s]

Fig. 11 Comparison between measured and predicted heading


386 F. Binz et al.

It should be noted, that the model was identified during a flight where the heading
was commanded manually. In contrast, the data underlying Fig. 11 was produced
during an MPC-guided flight. Performing another system identification procedure
on these flight data results in a model, very similar to the original model. Thus,
despite the difference in excitation, the previously identified model could be used
for the MPC without change.

6 Conclusion

We presented a nonlinear model predictive control scheme for the horizontal flight
path guidance of a PPG. Model predictive controllers are inherently more complex
than many classic control solutions. Because of this, the control scheme presented
here was designed with a focus on simplicity, both conceptual and regarding its
implementation. Using a heuristic optimization algorithm we were able to imple-
ment the control scheme on an embedded flight control platform. The control scheme
adopts the common division of flight path control into heading control and flight
path guidanace. While the heading controller was designed as a classic feedback
controller, the flight path guidance was realized using an MPC. To predict the future
flight path of the underlying model, an estimation of the mean wind velocity and
airspeed was implemented. The estimation was transformed to a linear least-squares
problem, yielding a robust estimation of the observed variables at a reduced compu-
tational cost.
The control scheme was developed and tested in a simulation environment. Here, a
maximum deviation from the reference fligth path of 10 m was achieved. Flight tests
were then conducted to validate this simulation result. While the actual flight path
guidance could not be validated due to a biased heading measurement, the individual
components of the MPC could be validated successfully. It was shown that the linear
model of the heading dynamics describes the behaviour of the heading-controlled
PPG well. Also, the estimation of the wind speed and airspeed yielded plausible
results.

References

1. Astrom KJ, Wittenmark B (2008) Adaptive control, 2 edn. Dover Publications, New York
2. Cumer C, Toussaint C, Le Moing T, Poquillon E, Coquet Y (2012) Simulation of generic
dynamics flight equations of a parafoil/payload system. In: 2012 20th mediterranean conference
on control & automation (MED)
3. Grüne L, Pannek J (2011) Nonlinear model predictive control. Springer, London
4. Hur G, Valasek J (2003) System identification of powered parafoil-vehicle from flight test data.
In: AIAA atmospheric fligth mechanics conference and exhibit
5. Jann T (2001) Aerodynamic model identification and GNC design for the parafoil-load system
ALEX. In: 16th AIAA aerodynamic decelerator systems technology conference and seminar
Nonlinear Model Predictive Flight Path Control for an Unmanned Powered Paraglider 387

6. Joos A, Fichter W (2011) Parallel implementation of constrained nonlinear model predictive


controller for an FPGA-Based onboard flight computer. Springer, Berlin
7. Ochi Y, Kondo H, Watanabe M (2009) Linear dynamics and PID flight control of a powered
paraglider. In: AIAA guidance, navigation and control conference
8. Rogers RM, et al. (2002) Aerodynamic parameter estimation for controlled parachutes. In:
AIAA atmospheric flight mechanics conference and exhibit
9. Rossiter JA (2003) Model-based predictive control. Taylor & Francis Inc., London
10. Slegers N, Costello M (2005) Model predictive control of a parafoil and payload system. J
Guid Control Dyn 28(4)
11. Slegers N, Kyle J, Costello M (2006) Nonlinear model predictive control technique for
unmanned air vehicles. J Guid Control Dyn, vol 29
12. Slegers N, Brown A, Rogers J (2015) Experimental investigation of stochastic parafoil guidance
using a graphics processing unit. Control Eng Pract, vol: 36
13. Toglia C, Vendittelli M (2010) Modeling and motion analysis of autonomous paragliders.
Department of computer and system sciences Antonio Ruberti technical reports, 2(5)
14. Watanabe M, Ochi Y (2007) Modeling and motion analysis for a powered paraglider (ppg). In:
SICE, 2007 annual conference, IEEE, pp 3007–3012
Multiple-Phase Trajectory Optimization
for Formation Flight in Civil Aviation

Sander Hartjes, Marco E.G. van Hellenberg Hubar


and Hendrikus G. Visser

1 Introduction

The potential to significantly reduce aircraft induced drag in extended formation


flight has been clearly demonstrated in a range of numerical and experimental stud-
ies [1–4]. In contrast to close formation flight, in an extended formation aircraft
are longitudinally separated by 5–40 wingspans. The studies presented in [1–4] all
agree that extended formation flight has the potential to significantly reduce fuel and
operating costs of long-haul airline operations.
One of the key areas on which past research on (extended) formation flight has
focused is the planning and organization of flight formations on a network-wide
scale [3–8]. Most studies addressing the problems of global routing and assign-
ment typically rely on a bi-level (or two-stage) approach. At the first level/stage,
the routing/mission design problem is considered. In the routing/mission design
problem, a candidate set of two or three long-haul origin/destination flights is con-
sidered that might join in, respectively, a two or three aircraft formation. The rout-
ing/mission problem deals with locating the rendezvous and splitting points for the
flights involved and with scheduling the associated altitude/speed profiles such that
the overall mission (fuel) cost is minimized. Of course, an optimized flight forma-
tion option is only accepted as a mission possibility if it saves (fuel) cost relative
to flying the aircraft solo from origin to destination. The second level/stage then
seeks to optimize the network by selecting the best subset of formation and solo
missions given the complete set of all possible combinations of individually opti-
mized formation and solo missions. It is noted that the second level/stage is highly
combinatorial in nature, as the number of options to join flights in formations grows
dramatically with the number of flights in the network. Given the fact that for a
network of realistic size, a huge number of formation options needs to be evaluated,

S. Hartjes · M.E.G. van Hellenberg Hubar · H.G. Visser (B)


Faculty of Aerospace Engineering, Delft University of Technology,
P.O. Box 5058, 2600 GB Delft, The Netherlands
e-mail: h.g.visser@tudelft.nl
© Springer International Publishing AG 2018 389
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_21
390 S. Hartjes et al.

it is readily clear that for the first stage mission design problem a computationally
efficient optimization approach is warranted. For this reason, simplified, low fidelity
aircraft models have typically been adopted to rapidly assess the (fuel) cost and trip
times for the formations missions. Aircraft performance models employed for this
purpose range from the Breguet-range equation at constant altitude evaluated along
a geometrically constructed route [6], to a parameterized aircraft performance model
in a three-dimensional space, featuring a limited number of design parameters [7].
Although computationally efficient, these low fidelity models do not provide very
accurate results and are not quite capable of dealing with real-world complexities
such as wind/weather influences and schedule delays.
In this study, a higher-fidelity mission design optimization model is developed that
is capable of dealing with these real-world complexities at a reasonable computational
cost. More specifically, the study presented in this paper deals with the development
of a multi-phase optimal control framework that supports the synthesis of two-aircraft
long-haul formation missions, using a point-mass dynamic model formulation. For
each of the two flights considered, the origin/destination city pair is given, along
with the scheduled departure time. The primary reason for resorting to a multi-phase
trajectory optimization formulation for the mission design problem is that it allows
the concurrent optimization of the single two-aircraft formation flight leg, and the four
solo flights legs connecting, respectively, the two origin airports to the rendezvous
point and the two destination airports to the splitting point of the formation. It is noted
that in the adopted multi-phase set-up both aircraft are forced to join in formation,
even when flying the city-pair trajectories in solo flight might be more favorable.
For this reason, the optimization framework also assesses the optimal performance
of the two city-pair (great-circle) trajectories flown solo, to enable a comparison.
The potential (fuel) cost improvements realized by formation flight are then assessed
against the cost of the combined solo flights.
In a case study, involving the Transatlantic crossing of two Boeing B747-400
aircraft, the developed multiple-phase optimization tool is deployed to optimize the
trajectories of the aircraft that join in formation and experiments are conducted to
investigate what the general characteristics and the potential benefits of formation
flight are. In particular, it is explored whether fuel savings can still be obtained if no
increase in trip time is permitted relative to flying solo. Also, it is assessed to what
extent (fuel) cost benefits can still be achieved when one of the participating aircraft
suffers a departure delay.

2 Trajectory Optimization Formulation

2.1 Flight Path Modelling

In this study we seek to optimize a two-aircraft flight formation for minimum cost
or fuel burn. A basic scenario is considered in which two independent long-haul
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 391

Fig. 1 A schematic representation of the five-phase assembly of a two-aircraft formation

flights are assumed to depart from closely located origin airports towards two closely
located destination airports, flying minimum (fuel) cost great circle trajectories. It is
assumed in this scenario that the considered flights can join in formation with modest
deviations from their original solo paths. Also, a no-wind condition is assumed in the
baseline scenario. Another major assumption relates to scheduled departure times
of the two flights considered. Essentially, it is assumed in the basis scenario that the
departure times of the two flights are perfectly synchronised to achieve minimum
(fuel) cost. In a next stage, the influence of departure times that are not perfectly
synchronised is explored.
In Fig. 1a, the basic routing problem in the baseline scenario is sketched, assuming
two flights, labelled A and B, respectively. Both the solo and formation flight missions
are indicated in Fig. 1a. The two independent solo flights depart at times t0,A and t0,B ,
respectively, arriving at their destinations at t f,A and t f,B , respectively. The formation
flight is modelled as a multi-phase problem, comprising 5 stages. The first two stages
connect the departing flights to the rendezvous point, where the formation stage is
started (stage 3). Stages 4 and 5 connect flights A and B to their respective destination
airports, after the formation has split up. The initial times for stages 1 and 2 are,
respectively, t0,1 = t0,A and t0,2 = t0,B . For rendezvous it is required that at the end of
stages 1 and 2, t f,1 = t f,2 = tr endezvous = t0,3 . It is noted that in the baseline scenario
pertaining to the two-aircraft formation only the time instance tr endezvous is specified
a priori. The ideal departure times t0,1 and t0,2 for flights A and B joining in formation
are then determined in the optimization process. The imposed departure times t0,A
and t0,B for the single flights are set equal to the values t0,1 and t0,2 a posteriori, to
allow a reference solution based on solo flights.
392 S. Hartjes et al.

Figure 1b shows the five-phase solution schematically in the vertical plane, high-
lighting the required phase linking conditions. As the aircraft will not join in forma-
tion during the take-off and approach phases of flight, these segments will remain the
same for aircraft that will or will not join in formation For this reason, the take-off
and landing phases are not considered in this study and, the initial and final points
of the mission are, respectively, the entry and exit points of the Terminal Movement
Area (TMA), located at an altitude of 10,000 ft AGL.

2.2 Equations of Motion

The system of differential equations of motion employed in this study essentially


describes the movement of two variable-weight point masses in a three-dimensional
space. The employed system model is somewhat simplified in the sense that equi-
librium of forces normal to the flight path is assumed (i.e., a so-called intermediate
point-mass model is employed [9]) for both aircraft, flying either solo or in forma-
tion. The resulting equations of motion for the solo flight legs (flights A and B), as
well as for the lead aircraft in the formation flight leg can be written as:
V cosγ sinχ + VW N
φ̇ = (1)
RE + z

V cosγ cosχ + VW E
λ̇ = (2)
(R E + z) cosφ

ż = V sinγ (3)

g0 (T − D)
V̇ = − g0 sinγ (4)
W

g0 L sinμ
χ̇ = (5)
V cosγ W

Ẇ = −Fc , (6)

where φ is the latitude, λ is the longitude, z is the altitude, R E is the Earth radius, V is
the airspeed, γ is the flight path angle, χ is the heading angle, W is the aircraft gross
weight, g0 is the gravitational acceleration, T is the thrust, D is the drag, μ is the
bank angle and Fc is the fuel flow. The fuel flowFc is a function of altitude, velocity
and thrust, i.e., Fc = Fc (z, V, T ). Furthermore, VW N and VW E are components of
the wind velocity in North-South direction, and East-West direction, respectively.
However, in the baseline scenario the wind components are ignored. The intermediate
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 393

point-mass model comprises six state variables (the left-hand side in the equations
above) and three control variables: the engine control setting η, the aerodynamic roll
angle μ and the flight path angle γ . The engine control setting variable η, which
is subject to the constraint 0 ≤ η ≤ 1, has the following effect on the thrust of the
aircraft:

T = (T max − Tmin )η + Tmin , (7)

where Tmax (h, V ) and Tmin (h, V ) are the maximum and idle thrust of the engine,
respectively. The aerodynamic forces are the usual. For lift:
1
L = C L q S = C L ρV 2 S , (8)
2
where C L is the lift coefficient, q is the dynamic pressure, ρ is the air density and
Sis the wing surface area. And for drag:

D = C D (C L )q S ⇒ D = D(z, V, C L ) , (9)

where C D is the drag coefficient for which a parabolic drag polar will be assumed:

C D = C D0 (M) + K (M)C L2 , (10)

which consists of two parts: the zero-lift drag component C D0 and the induced drag
component K (M)C L2 . Both drag coefficient components are dependent on the Mach
number M.
For the trailing aircraft in the formation flight leg, a highly simplified system
model is used. Essentially, the speed and altitude dynamics that govern the lead
aircraft are also used to govern the trailing aircraft. As a result, the two flights A and
B essentially operate as one entity in the formation leg. However, as the weight and
the drag characteristics of the trailing aircraft in the formation are typically not the
same as for the lead aircraft, the thrust level required for station keeping is different
from the lead aircraft as well. The thrust level required for the trailing aircraft can
be readily assessed from the specific energy rate balance:
   
V (T − D) V (T − D)
Ėlead = Ė trail ⇒ = (11)
W lead W trail

And thus:
 
(T −D)
Ttrail = W
· Wlead + Dtrail ,
lead
(Ttrail −T min )
(12)
subject to : 0 ≤ ηtrail = (Tmax −T min )
≤ 1
394 S. Hartjes et al.

It is noted that specific energy E is defined as:

V2
E =z+ (13)
2g0

The reduction in fuel consumption due to formation flight is a result of a reduction


in induced drag for the trailing aircraft. To evoke this induced drag reduction, a
formation flight induced drag reduction factor ε is introduced in the parabolic drag
polar of the trailing aircraft

C D = C D0 + (1 − ε)K C L2 , (14)

A fairly wide range of (measured or calculated) reduction factors can be found in the
literature. In this case study a fairly conservative value in induced drag reduction of
25% (ε = 0.25) is assumed for the trailing aircraft of a two-aircraft formation. The
adopted value is based on the results reported in [8], for a weight ratio 1 between
lead and trailing aircraft.
The aircraft performance model that has been considered in this study pertains to a
Boeing B747-400 wide-body aircraft [10]. The same performance model is used for
both aircraft in the formation (or in solo flight), excepting the induced drag reduction
factor. The take-off weight considered for the two aircraft in a (solo or formation)
mission is typically different, and largely depends on the specified O/D stage length.

2.3 Optimization Criteria

The primary goal of flight formation is to achieve an overall reduction in fuel burn.
The performance index related to the combined fuel consumption of flights A and
B is defined separately for the single flights and the two-aircraft formation flight
missions. For the solo mission, the fuel burn criterion is defined as:

J f uel, single = [W A (t0,A ) − W A (t f,A )] + [W B (t0,B ) − W B (t f,B )] (15)

For the formation flight mission, the fuel burn criterion aggregates the fuel consumed
in the five flight phases:


5
J f uel, f or mation = [Wi (t0,i ) − Wi (t f,i )] , (16)
i=1

where Wi is the weight of the aircraft A in flight phase i = 1, 4, of aircraft B in flight


phase i = 2, 5, and of aircraft A + B in flight phase i = 3.
Since the assembly of a flight formation generally requires the aircraft to make
a detour, the trip times for the aircraft in a formation is typically larger than for the
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 395

solo flights. This implies that, while flying formation might reduce the total fuel cost,
it does not necessarily result in a lower Direct Operating Cost (DOC), which is a
combination of both time and fuel cost. To be able to allow a tradeoff between time
and fuel cost in formation flight, a second objective function is defined, which is
essentially a weighted composite of mission time and fuel criteria:


na
J D OC, f or mation = α [t f,i − t0,i ]
i=1

na (17)
+ (1 − α) · [Wi (t0,i ) − Wi (t f,i )] ,
i=1

where α is an interpolation parameter 0 ≤ α ≤ 1, that can be selected to enable a


shift in emphasis in the optimization process between mission time and mission fuel.
In the case study conducted herein, the parameter α is systematically varied to allow
the construction of a Pareto-front.

2.4 Constraints, Staging and Boundary Conditions

The multi-phase formulation for the formation flight mission is subject to a range of
boundary conditions and path and control constraints. At the initial times for both
flights A and B, the position coordinates (latitude, longitude), altitude, speed and
heading are specified. The same state variables are also fixed at the final times. It is
recalled that in the baseline scenario, neither the initial times nor the final times are
specified. Only the time at which the rendezvous takes place is fixed upfront. In the
subsequent delay scenario, the initial times established in the baseline scenario are
then fixed as boundary conditions, whilst removing the boundary condition related to
the fixed rendezvous time. In this scenario, departure delay for one of the flights can
be readily introduced by merely shifting the fixed initial time of the flight concerned.
The most complex set of constraints/boundary conditions relates to the initial and
final weights of flights A and B. To minimize fuel consumption, a flight should land
with a minimum amount of fuel remaining in the tanks. In normal circumstances,
aircraft take enough fuel on board for the planned trip, plus a reserve. This reserve
usually consists of contingency fuel and a final reserve fuel. The final reserve fuel
is the minimum fuel required to fly for 30–45 min at 1500 ft at holding speed above
the destination or alternate aerodrome. Contingency fuel is carried to account for
additional fuel consumption during the scheduled flight caused by, e.g. wind or
ATM restrictions. In general this is around 5% of the trip fuel. Aircraft that join in
formation will have to deviate from their optimal solo routes, resulting in an increase
of the distance covered. In addition, the aircraft must also take into account that the
other aircraft with which it will join, might not show-up (due to technical problems,
delay, etc.). This implies that an aircraft should carry enough fuel to fly the detour
distance solo. In order to enforce this, a constraint is introduced in the formulation
that fixes the final weight of the aircraft. For aircraft flying a solo mission, the final
396 S. Hartjes et al.

weight of the aircraft is the sum of the Operational Empty Weight (OEW), the payload
(W payload ) and a fuel reserve of 5% of the total fuel capacity (W FC ):

Wi (t f,i ) = O E W + W payload + 0.05W FC , i = A, B (18)

With the final weight of the solo flight fixed, the unspecified initial weight of the
aircraft will be established in the trajectory optimization process. Evidently, the
maximum take-off weight and fuel tank capacity constraints are taken into consid-
eration. The initial/final weights of the lead aircraft in a formation are established in
a fashion similar to that for the solo flights. It is noted that the take-off weight of the
lead aircraft in a formation is usually somewhat larger than that of its corresponding
solo flight, due the fact that the lead aircraft needs to cover a larger distance to join
the formation, but does not enjoy an induced drag reduction.
For the trailing aircraft in a formation, the assessment is more complicated. Indeed,
if the trajectory of the trailing aircraft would be optimized for the final weight given by
Eq. (18), the initial weight that would result from the multi-phase trajectory optimiza-
tion is too low. The reason for this is that in the multiphase trajectory optimization
the trailing aircraft enjoys an induced drag reduction and associated fuel burn sav-
ings, but it will not benefit from this drag reduction when it is forced to fly the same
trajectory solo due to contingency circumstances. To allow for this, an additional
state variable is added to the dynamic model of the trailing aircraft which represents
the “pseudo” weight of the trailing aircraft. The final value of the pseudo weight
of the trailing aircraft is fixed following Eq. (18). The pseudo weight of the trailing
aircraft evolves over time in the same way as the actual aircraft weight, except that
in the fuel flow calculations the influence of drag reduction due to formation flight is
ignored (evolution as in a solo flight). An additional constraint is then introduced in
the multiphase formulation that equates the “actual” initial weight of the trailing air-
craft with the “pseudo” initial weight of the trailing aircraft. This constraint ensures
that the final weight of the trailing aircraft is optimized for a fixed initial weight that
would allow the aircraft to fly the (longer) formation route solo in case the other
aircraft does not show up.
In a multi-phase formulation so-called staging conditions need to be included.
Staging conditions are constraints that specify how the state at the end of a particular
phase corresponds to the initial state in a subsequent phase. In the present formulation,
the staging conditions are quite simple in the sense that the initial state of a particular
phase is directly and fully connected to the terminal state of the preceding phase. In
Fig. 1b a schematic representation is shown of the vertical flight paths covering the
five phases. These five phases are connected by four staging conditions (links):
• Link 1: Connects phase 1 with phase 3
• Link 2: Connects phase 2 with phase 3
• Link 3: Connects phase 3 with phase 4
• Link 4: Connects phase 3 with phase 5
In the trajectory optimization formulation it is important to decide upfront which of
the two aircraft is designated as the lead aircraft. In the present set-up, where two
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 397

aircraft of the same type are considered, it is readily clear what the best choice is: the
least heavy aircraft of the two is designated as the lead aircraft, as the heavy aircraft
can benefit relative more from an induced drag reduction.

3 Trajectory Optimization Framework

The numerical trajectory optimization approach implemented in the optimization


framework is based on a pseudo-spectral multiple-phase optimal control method.
More specifically, a trajectory optimization tool named “GPOPS” has been imple-
mented. GPOPS stands for “General Pseudospectral OPtimal Control Software” and
is a MatLab based general purpose software for solving multiple-phase optimal
control problems using pseudo-spectral methods [11]; it does so using the Radau
pseudo-spectral method [12]. It uses the technique of collocation at Legendre-Gauss
points to transcribe the trajectory optimization problem to a non-linear programming
problem (NLP). GPOPS is used in combination with “IntLab” (Interval Laboratory)
which is a third party automatic differentiator, and with the non-linear programming
solver “SNOPT” (Sparse Nonlinear OPTimizer).

4 Case Study

In a case study several numerical experiments have been performed to investigate the
benefits of formation flight and the effect of schedule delays on the formation. Unless
stated otherwise, in the experiments the trajectories are optimized for minimum fuel
and aircraft A is the trailing aircraft. The aircraft are assumed to operate in a standard
atmosphere in a no-wind condition.

4.1 Baseline Scenario

In the baseline scenario the following two flights join in formation:

1. Aircraft A: A B744 from London to Atlanta


2. Aircraft B: A B744 from Madrid to New York City.

The resulting horizontal flight paths are presented in Fig. 2 and the vertical flight
paths, velocity profiles and specific energy profiles are presented in Fig. 3a–c, respec-
tively.
When looking at the results, one of the first things that could be noticed are
the rapid transitions in the altitude and the velocity variables near the joining point.
Indeed, in a formation leg the two aircraft fly at a slightly higher altitude and a slightly
398 S. Hartjes et al.

60

55

Latitude [deg] 50

45

40 AC A C
AC BC
Formation
35 AC A D
AC BD

30
-90 -80 -70 -60 -50 -40 -30 -20 -10 0
Longitude [deg]

Fig. 2 Formation ground tracks for the baseline scenario

(a) (b)

(c)

Fig. 3 Formation trajectory results for the baseline scenario (vertical plane)
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 399

lower speed than in single flight. This can be readily explained by the fact that the
cruise condition for best specific range is at a somewhat lower speed relative to flying
solo due to the lower induced drag of the trailing aircraft in formation. The reduction
in induced drag leads to a lower total drag and a shift in the dynamic pressure at
which the minimum total drag is obtained. At a given altitude, the minimum total
drag - and even more relevant from a specific range perspective, the drag to speed
ratio - is now achieved at a lower speed and therefore, the aircraft in formation slow
down.
The trajectory behaviour at the splitting point of the formation is perhaps even
more surprising. In particular, it can be observed that the formation actually descents
(both in terms of altitude and specific energy) before it splits-up. It is noted that the
leading aircraft reduces its engine control setting η in this early descent to about
70%, but the lead aircraft requires a somewhat lower thrust setting as it is subject
to a relatively lower drag. After splitting, aircraft A (the previously trailing aircraft)
actually starts to climb again to the optimal cruise conditions for solo flight (and
thus to a higher cruise speed than if formation flight). Evidently this (energy) climb
requires additional thrust, and thus a higher fuel flow. Apparently, the additional fuel
burn resulting from this late climb is offset by the fuel reduction in the early descent
and flying in formation for a longer period of time. These peculiar “dents” in the
energy histories occurred in all conducted numerical experiments to some extent,
including those featuring different aircraft types. Numerical experiments in which
the occurrence of these dents is precluded bear out that the mission fuel is indeed
(modestly) increased in those cases. However, from an operational perspective, these
constrained trajectories might actually still be preferred.
The main results for the baseline case are summarized in Table 1. Although the
fuel consumption of the lead aircraft (B) increases compared to the solo flight, the
overall fuel consumption in the formation mission decreases with approximately
1.8%.

4.2 Departure Delay Scenario

In the baseline scenario the lowest total fuel consumption is obtained when aircraft
A departs 1,008 s later than aircraft B. So, for this set of flights the optimal initial

Table 1 Results for the baseline scenario


Results Solo flight Formation flight
Aircraft A Aircraft B Total Aircraft A Aircraft B Total
Fuel (kg) 79,093 66,239 145,332 75,530 67,238 142,768
Time (h) 7.92 6.80 14.71 8.09 6.90 14.99
Distance (km) 6,760 5,760 12,521 6,825 5,835 12,660
400 S. Hartjes et al.

Table 2 Results for the delay scenario


Results Solo flight Formation flight
Aircraft A Aircraft B Total Aircraft A Aircraft B Total
Fuel (kg) 79,093 66,239 145,332 76,696 66,867 143,563
Time (h) 7.92 6.80 14.71 8.37 6.67 15.06
Distance (km) 6,760 5,760 12,521 6,850 5,790 12,640

times are t0,A = 1, 008 s (0.28 h) and t0,B = 0. In the departure delay scenario, the
departure times of both aircraft are fixed (whilst removing the fixed rendezvous time
constraint), but now a departure delay of 30 min is assigned to aircraft B, relative to
the baseline scenario. Since in this delay scenario, aircraft A is the first one to depart,
its departure time t0,A is set to zero. Hence in this scenario we consider:

1. Aircraft A: A B744 from London to Atlanta with initial time t0,A = 0 s


2. Aircraft B: A B744 from Madrid to New York with initial time t0,B = 792 s.
The formation mission results for the departure delay scenario are summarized in
Table 2. In Table 2 the results for the corresponding solo flights are presented as well
to allow a comparison.
The results of the delay scenario reveal that the fuel burn for the formation mission
with one delayed aircraft is still (about 1.2%) lower than that for the corresponding
solo flights, while the total flight time increased only marginally compared to the no-
delay (baseline) case. However, while aircraft B suffered the delay, the consequences
of the delay recovery are particularly felt by aircraft A, with its flight time increasing
appreciably compared to the flight time of its corresponding solo flight. The shorter
flight time of aircraft B is partly due to the increase in velocity (see Fig. 4) and partly
due to the route change (Fig. 5). Aircraft A has to absorb a time delay and it does
so by flying at the maximum endurance speed during a large part of the climb and
by stretching its flight path in such a way that the flight path of its formation partner
(aircraft B) is reduced.
Figure 6 presents the resulting rendezvous points of several formations featuring
one delayed aircraft. More specifically, Fig. 6 shows the displacement of the ren-
dezvous point location when aircraft A or B are delayed by, respectively, 10, 15 or
30 min. It is readily clear that when one of the aircraft is delayed, the rendezvous
point is displaced in both longitudinal and lateral direction.

4.3 Direct Operating Cost Scenario

This scenario has been conceived to demonstrate what the effect on the performance
of the aircraft in the formation is when in the trajectory optimization process the
emphasis is gradually shifted from optimizing for fuel consumption to optimizing
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 401

Fig. 4 Formation trajectory (a)


results for the delay scenario
(vertical plane)

(b)

for flight time. A parametric study has been conducted in which the interpolation
parameter α in the performance index (17) is systematically varied between zero and
one. Since α = 1 corresponds to a cost function that purely considers flight time, it
is left out of consideration. In this scenario, the same set-up is employed as in the
baseline case, with the exception of the different performance index. In Fig. 7 the
results of this parametric investigation are summarized.
The blue dots shown in Fig. 7 represent the results for the formation mission, where
the dot in the upper left corner represents α = 0 (optimized for minimum total fuel
consumption). When the values of α is increased (in steps of 0.1), Fig. 7 shows that
the total flight time decreases while the total fuel burn increases. The combined
results for the baseline (minimum fuel burn) solo flights are shown in Fig. 7 as well
402 S. Hartjes et al.

60

55

50
Latitude [deg]

45

40 AC A C
AC BC
Formation
35 AC A D
AC BD

30
-90 -80 -70 -60 -50 -40 -30 -20 -10 0
Longitude [deg]

Fig. 5 Formation ground tracks for the delay scenario

Fig. 6 Shift of rendezvous point when aircraft A or B is delayed relative to baseline scenario
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 403

Fig. 7 Flight formation optimal fuel-time performances for various values of the weighting para-
meter α

(represented by the red dot). It can be readily observed that the corresponding solo
flights consume significantly more fuel compared to flying in formation, for any
value of the parameter α in the considered range. When the value of the parameter α
is set to ≈0.78 in Eq. (17), the total flight time of the formation equals the total flight
time of the corresponding solo flight, while the total fuel consumption is 2,300 kg
(1.58%) lower. This shows that, compared to flying solo, formation flight can lead to
significant reduction in fuel burn, even when trip time is preserved. It should be kept
in mind though, that this analysis is for this particular set of flights and aircraft type
combination. For other origin and destination pairs or aircraft type combinations, the
results might deviate from the results obtained in this scenario.

5 Conclusions

This paper has shown the possibility of optimizing the trajectories of aircraft that
join in formation. The developed multiple-phase optimization tool is able to optimize
trajectories of two or more aircraft for minimum total fuel consumption or Direct
Operating Cost. Several numerical experiments have been performed in a case study
to investigate the benefits of formation flight and the behaviour of the aircraft when
joining in formation.
The results from the experiments show that formation flight can lead to significant
reductions in fuel consumption, while not increasing the trip time. The results show
that when aircraft fly in formation, the optimal airspeed decreases and the optimal
altitude increases compared to the corresponding optimal solo flights.
404 S. Hartjes et al.

Furthermore, the effects of departure delay on formations have been examined.


This analysis revealed that in the cases that a departure delay was assigned to one of
the participating formation partners, the location of the rendezvous point was shifted.
In contrast to what has been often assumed in the literature, the rendezvous point
location will not merely shift along the original (non-delayed) optimal route, but it
will also deviate laterally (in the direction of the solo route of the delayed aircraft)
such as to shorten the route of the delayed aircraft that seeks to join the formation.
Although in this paper only the optimization of two-aircraft formations was
addressed, the developed optimization framework is capable of optimizing the trajec-
tories of three-aircraft formations as well. For future research, it might be of interest
to investigate the benefits of larger formations. Furthermore, the optimization in
this research mainly focused on minimizing the total fuel burn or DOC, assuming
a standard atmosphere and a no-wind condition. In future research, the benefits and
characteristics of formation flight in real-world (weather/wind) conditions need to
be explored. Finally, as optimizing the trajectories of more than two aircraft with
the developed optimization framework proved to be very time-consuming, future
research needs to be aimed at speeding up the computational process to render the
optimization approach tractable in the context of bi-level planning of flight forma-
tions on a network scale.

References

1. Pahle J, Berger D, Venti M, Duggan C, Faber J, Cardinal K (2012) An initial flight investiga-
tion of formation flight for drag reduction on the C-17 aircraft. In: AIAA atmospheric flight
mechanics conference, 13–16 August 2012, Minneapolis, U.S.A., p 13
2. Ning SA, Flanzer TC, Kroo IM (2011) Aerodynamic performance of extended formation flight.
J Aircr 48(3):855–865
3. Veldhuis L, Voskuijl M, Fransen B (2013) Formation flight - fine-tuning of theoretical per-
formance prediction. In: AIAA aerospace sciences meeting, 7–10 January 2013, Grapevine,
Texas, U.S.A., p 17
4. Ning SA, Kroo I, Aftosmis MJ, Nemec M, Kless JE (2014) Extended formation flight at
transonic speeds. J Aircr 51(5):1501–1510
5. Bower GC, Flanzer TC, Kroo IM (2009) Formation geometries and route optimization for
commercial formation flight. In: AIAA applied aerodynamics conference, 22–25 June 2009,
San Antonio, Texas. U.S.A., p 18
6. Kent T, Richards A (2015) Analytic approach to optimal routing for commercial formation
flight. J Guid Control Dyn 38(10):1872–1884
7. Xu J, Ning SA, Bower G, Kroo I (2014) Aircraft route optimization for formation flight. J Aircr
51(2):490–501
8. Xue M, Hornby GS (2012) An analysis of the potential savings from using formation flight
in the NAS. In: AIAA guidance, navigation, and control conference, 13–16 August 2012,
Minneapolis, U.S.A, p 12
9. Visser HG (2010) Airplane performance optimisation. In: Encyclopaedia of aerospace engi-
neering. Wiley
10. Visser HG (2008) Environmentally optimized resolutions of in-trail separation conflicts for
arrival flights. J Aircr 45(4):1198–1205
Multiple-Phase Trajectory Optimization for Formation Flight in Civil Aviation 405

11. Rao AV, Benson DA, Darby CL, Patterson M, Francolin C, Sanders I, Huntington GT (2010)
Algorithm 902: GPOPS, a MATLAB software for solving multiple-phase optimal control
problems using the Gauss pseudospectral method. ACM Trans Math Softw 37(2), Article 22.,
22.1–22.39
12. Francolin C, Rao AV (2012) Direct trajectory optimization and costate estimation of state
inequality path-constrained optimal control problems using a radau pseudospectral method.
In: AIAA guidance, navigation, and control conference, 13–16 August 2012, Minneapolis,
U.S.A, p 11
Optimal Scheduling Algorithm for Air
Traffic Point Merge System Using MILP

Youkyung Hong, Somang Lee, Keumjin Lee and Youdan Kim

1 Introduction

Terminal Maneuvering Area (TMA), the area in the vicinity of an airport, is a highly
congested airspace where incoming arrivals and outgoing departures are concen-
trated. To improve the efficiency and safety of flight operations in TMA, Stan-
dard Instrument Departure (SID) and Standard Terminal Arrival Route (STAR) are
defined. Without the interventions by air traffic controllers, aircraft should follow
those predefined routes with aid of the flight management system. However, during
peak hours, air traffic controllers often provide manual instructions of heading angle
and/or speed changes to maintain proper separations between aircraft arriving into
the same runway.
Recently, Point Merge System (PMS), which is a new STAR design for merging
inbound traffics, has been proposed by Eurocontrol [1]. The PMS system allows air
traffic controllers a more systematic way to sequence and schedule arrival aircraft by
providing the predefined procedure, i.e., sequencing leg, to absorb necessary delays.
As shown in Fig. 1, in PMS, incoming flights can fly with economical speed along the
sequencing leg until the appropriate spacing to a preceding aircraft at the merge point
is guaranteed. When a direct-to instruction is given, the flights can make a continuous

Y. Hong (B) · S. Lee · Y. Kim


Mechanical and Aerospace Engineering, Seoul National University,
Seoul, Republic of Korea
e-mail: youkyh1@snu.ac.kr
S. Lee
e-mail: cjsomang@snu.ac.kr
Y. Kim
e-mail: ydkim@snu.ac.kr
K. Lee
College of Aviation and Management, Korea Aerospace University,
Goyang, Republic of Korea
e-mail: keumjin.lee@kau.ac.kr
© Springer International Publishing AG 2018 407
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_22
408 Y. Hong et al.

Fig. 1 Typical structure of Sequencing legs


point merge system for the
arrival traffic flows in the
opposite direction

Path envelope

Merge point

descent to the merge point, and therefore minimize the environmental impacts and
fuel consumption. Furthermore, the safety level in TMA can be improved because
the tactical vectoring is replaced with procedural operations, and the workload of
human air traffic controllers can be also reduced.
Several studies have been performed for PMS. First, by using data collection
experiments, the performance of PMS was compared with the current working
method of managing arrival traffic such as heading instructions [2]. In a follow-
up study, the performance of PMS was assessed in more complex environment, and
the application of continuous descent from further upstream airspace was investi-
gated [3]. A method for designing fast-time models for performance comparison
between PMS and conventional vectoring was provided [4]. PMS was applied to
Istanbul international airport, and then the pre-implementation studies through real
time simulation was described [5]. However, most previous studies on PMS have only
focused on performance validation. Much less attention has been given to optimize
actual flight operations conducted within PMS.
In this study, optimal scheduling for PMS is investigated using a Mixed Inte-
ger Linear Programming (MILP). A number of different MILP formulations have
been proposed to solve the optimal planning and scheduling problems for the aircraft
movements on the airport surface [6–8]. In our MILP formulation, decision variables
and constraint equations are derived by combining the discrete routing and contin-
uous time scheduling problems, which is similar to those in the previous study for
metroplex traffic [9]. However, by utilizing the characteristics of PMS, the details of
the constraint equations become more relevant, and therefore the number of variables
can be significantly reduced. In real operations, the proposed optimization algorithm
may suggest the direct-to instruction at the optimum time, whereas it is determined
intuitively by controller in the current air traffic control environment. In addition, the
arrival time of flights can be easily estimated when advisories are made based on the
proposed optimal scheduling algorithm. Note that the arrival time estimation is one
of the challenging issues in air traffic management.
The remainder of this study is organized as follows. In Sect. 2, the concept of PMS
is briefly described. Section 3 shows the proposed optimal scheduling algorithm for
Optimal Scheduling Algorithm for Air Traffic Point … 409

PMS using MILP. In Sect. 4, numerical simulations are performed to demonstrate the
performance of the proposed method. Section 5 states the conclusions of this study
and provides some directions for future research.

2 Point Merge System

This section briefly introduces a PMS. PMS is a new technique for integrating arrival
air traffic flows into airport developed by Eurocontrol in 2006. Following the first
PMS implementation at Oslo in 2011, PMS is now operational in several international
airports around the world such as Seoul (2012), Paris (2013), Hannover (2014), and
so on [1].
Figure 1 shows a typical structure of PMS which is characterized by the two
features: the merge point and sequencing legs. As shown in Fig. 1, the merge point is
used as the final point for arrival traffic integration. On the other hand, the sequencing
legs which are equidistant from the merge point are used to delay the inbound traffics
to build a schedule with an adequate separations. Note that different sequencing legs
are vertically separated by 1,000 ft and therefore aircraft from one direction can be
free from the conflict with aircraft from the other direction. Incoming flights fly
along the sequencing legs at a constant speed, and then they start continuous descent
approach towards the merge point when a direct-to instruction is given by air traffic
controllers. Note that the direct-to instruction can be issued when the appropriate
spacing is achieved with the preceding flight in the sequence.
Depending on the airspace and runway conditions of airport, various configura-
tions of PMS can be applied. Figure 2 shows the type of PMS which is used in Jeju
international airport in the Republic of Korea. As shown in Figs. 1 and 2, unlike the
typical PMS, arrival flows in the PMS of Jeju international airport are in the same
direction. In this study, our attention is restricted to the PMS type used in Jeju inter-
national airport. The ultimate objective of this study is to develop a decision support

Fig. 2 Point merge system Sequencing legs


for the arrival traffic flows in
the same direction

Path envelope

Merge point
410 Y. Hong et al.

tool for air traffic controllers and help them to assess the impacts of their decisions
on managing arrivals in the PMS of Jeju international airport. Note that the proposed
approach could be extended to the different types of PMS.

3 Problem Formulation

3.1 Performance Index

The performance index to design the optimal scheduling algorithm for PMS can be
defined as follows:


F 
R
 
J= A f,r T f,r, p I + T f,r, p F (1)
f =1 r =1

where A f,r is a binary variable that takes value 1 when flight f is assigned to the
route r and zero otherwise, and T f,r, p is a continuous variable representing the time
that flight f reaches the point p on route r . Also, p I and p F are the first and final
merge points in PMS, respectively, and F and R are the number of flights and routes,
respectively. In (1), the second term is included to minimize the total time required
for all flights to reach the final merge point. However, if the performance index is
defined only using the second term, then the entering time of each flight into PMS
may be delayed. In other words, a flight waits outside PMS until a suitable spacing
and sequencing to a preceding flight is obtained, and then approaches the final merge
point right after passing the first point of PMS. To encourage flight to stay in the
sequencing leg, the first term in (1) is introduced.
Note that (1) is a nonlinear performance index where two variables are multiplied.
To be transformed into a linear form, following auxiliary variable δ Tf,r, p = A f,r T f,r, p
is used [10]:


F 
R
 T 
J= δ f,r, p I + δ Tf,r, p F (2)
f =1 r =1

subject to
 
δ Tf,r, p I ≥ T f,r, p I − M 1 − A f,r
 
δ Tf,r, p I ≤ T f,r, p I + M 1 − A f,r
 
δ Tf,r, p F ≥ T f,r, p F − M 1 − A f,r
 
δ Tf,r, p F ≤ T f,r, p F + M 1 − A f,r

where M is an arbitrarily large number. Note that (1) is equivalent to (2).


Optimal Scheduling Algorithm for Air Traffic Point … 411

3.2 Constraints

Six constraint equations are required for the optimal scheduling in PMS based on
MILP. The first constraint is that each flight is assigned to only one route, which can
be obtained as follows.


R
A f,r = 1 ∀f (3)
r =1

The second and third constraints are to make the time range of each flight at the first
and final merge points in PMS, respectively. The second constraint can be formulated
as follows:
 
A f,r T f,r, p I − T f,r,
E
pI ≥ 0 ∀ f, r (4)
 
A f,r T f,r, p I − T f,r,
L
pI ≤ 0 ∀ f, r (5)

E L
where T f,r, p I and T f,r, p I are the earliest and last time at the first point. Similarly, the
third constraint can be obtained as follows:
 
A f,r T f,r, p F − T f,r,
E
pF ≥ 0 ∀ f, r (6)
 
A f,r T f,r, p F − T f,r,
L
pF ≤ 0 ∀ f, r (7)

E L
where T f,r, p F and T f,r, p F are the earliest and last time at the final merge point. Note
that the second and third constraints should be transformed into linear inequations
using the auxiliary variable δ Tf,r, p . For example, the second constraints (4) and (5)
can be transformed into following equations.

δ Tf,r, p I − A f,r T f,r,


E
pI ≥ 0 ∀ f, r (8)
δ Tf,r, p I − L
A f,r T f,r, pI ≤0 ∀ f, r (9)

The fourth constraint is to determine the sequence of flight at the first and final merge
points. Contrary to the discrete routing and continuous time scheduling problem for
metroplex traffic [9], the scheduling and sequencing points are only considered as
the first and final merge points in this study. Because the schedule and sequence
of flight are not determined for all points in PMS, the number of variables related
to the computational efforts are not increased much. The fourth constraint can be
formulated as follows:

S f, f  ,r,r  , p I + S f  , f,r  ,r, p I = A f,r A f  ,r  ∀ f = f  , r = r  (10)


S f, f  ,r,r  , p F + S f  , f,r  ,r, p F = A f,r A f  ,r  ∀ f = f  , r, r  (11)
412 Y. Hong et al.

where S f, f  ,r,r  , p is a binary variable that takes value 1 when flight f on route r is
prior to flight f  on route r  at shared point p. In PMS, flights on different routes
enter the first point at different altitudes. In addition, because different routes (i.e.,
different sequencing legs) are vertically separated, the sequence at the first point is
only determined among flights on same route. By considering these characteristics
of PMS, r  is equal to r in (10). However, at the final merge point, the sequence
of flight should be determined whatever their assigned routes are. Note that (10)
and (11) should be transformed into a linear form by using an auxiliary variable
δ Af, f  ,r,r  = A f,r A f  ,r  . For example, (11) is equivalent to the following equation.

S f, f  ,r,r  , p F + S f  , f,r  ,r, p F = δ Af, f  ,r,r  ∀ f = f  , r, r  (12)


 
−A f,r + δ Af, f  r,r  ≤ 0 ∀ f = f , r, r (13)
 
−A f  ,r  + δ Af, f  r,r  ≤ 0 ∀ f = f , r, r (14)
 
A f,r + A f  ,r  − δ Af, f  r,r  ≤ 1 ∀ f = f , r, r (15)

The fifth constraint is to make a time separation for successive flight at the first and
final merge points. It can be formulated as follows:

S E P f, f  , p I ≤ A f  ,r  T f  ,r  , p I − A f,r T f,r, p I + M(1 − S f, f  ,r,r  , p I ) ∀ f = f  , r, r 


(16)
S E P f, f  , p F ≤ A f  ,r  T f  ,r  , p F − A f,r T f,r, p F + M(1 − S f, f  ,r,r  , p F ) ∀ f = f  , r, r 
(17)

where S E P f, f  , p I and S E P f, f  , p F are the minimum separation time required at the


first and final merge points. Again, (16) and (17) should be transformed into a linear
form using the auxiliary variable δ Tf,r, p . The last constraint is to calculate the transit
time of each flight in PMS. It can be represented as follows:
 
T f,r, p F = T f,r, p I + P f,r − 2 ΔTL + ΔTR ∀ f, r (18)

where P f,r is the number of points that flight f on route r passes through in PMS.
Because P f,r includes the first and final merge points, P f,r is greater than or equal
to two. Also, ΔTL and ΔTR are the transit time between successive points in the
sequencing legs and the flight time for final descent to the merge point from the legs,
respectively.

3.3 Model Summary

The performance index and constraint equations to design the optimal scheduling
for PMS can be summarised as follows.
Optimal Scheduling Algorithm for Air Traffic Point … 413


F 
R
 T 
min J = δ f,r, p I + δ Tf,r, p F (19)
f =1 r =1

subject to
 
δ Tf,r, p I ≥ T f,r, p I − M 1 − A f,r ∀ f, r
 
δ Tf,r, p I ≤ T f,r, p I + M 1 − A f,r ∀ f, r
 
δ Tf,r, p F ≥ T f,r, p F − M 1 − A f,r ∀ f, r
 
δ Tf,r, p F ≤ T f,r, p F + M 1 − A f,r ∀ f, r


R
A f,r = 1 ∀f
r =1

δ Tf,r, p I − A f,r T f,r,


E
pI ≥ 0 ∀ f, r
δ Tf,r, p I − A f,r T f,r,
L
pI ≤ 0 ∀ f, r
δ Tf,r, p F − E
A f,r T f,r, pF ≥0 ∀ f, r
δ Tf,r, p F − L
A f,r T f,r, pF ≤0 ∀ f, r

S f, f  ,r,r  , p I + S f  , f,r  ,r, p I = δ Af, f  ,r,r  ∀ f = f  , r = r 


S f, f  ,r,r  , p F + S f  , f,r  ,r, p F = δ Af, f  ,r,r  ∀ f = f  , r, r 
−A f,r + δ Af, f  r,r  ≤ 0 ∀ f = f  , r, r 
−A f  ,r  + δ Af, f  r,r  ≤ 0 ∀ f = f  , r, r 
A f,r + A f  ,r  − δ Af, f  r,r  ≤ 1 ∀ f = f  , r, r 

S E P f, f  , p I ≤ A f  ,r  T f  ,r  , p I − A f,r T f,r, p I + M(1 − S f, f  ,r,r  , p I ) ∀ f = f  , r, r 


S E P f, f  , p F ≤ A f  ,r  T f  ,r  , p F − A f,r T f,r, p F + M(1 − S f, f  ,r,r  , p F ) ∀ f = f  , r, r 

 
T f,r, p F = T f,r, p I + P f,r − 2 ΔTL + ΔTR ∀ f, r
414 Y. Hong et al.

4 Numerical Simulation

Numerical simulations are performed to demonstrate the performance of the proposed


optimal scheduling algorithm for PMS using MILP. In the simulations, to mimic
the real PMS, all flights are assumed to fly at a constant speed of 210 knots. By
considering the structure of PMS in Jeju international airport in the Republic of Korea,
the length of arc between successive points in the sequencing legs and the radius of arc
are set to 5 and 17 nm, respectively. Thus, the transit time between successive points
ΔTL and ΔTR in (18) are determined as 1.43 and 4.86 min, respectively. In addition,
the minimum separation time requirements S E P f, f  , p I and S E P f, f  , p F in (16) and
(17) are set to 5 and 1 min, respectively. All numerical computations are performed
using a desktop PC with an Intel Core (3.60 GHz) processor. The simulation results
are obtained using CPLEX, a standard optimization software package for MILP [11].
In the first simulation, PMS composed of six points is considered; one point is the
final merge point and the other points are in the sequencing legs. Also, it is considered
that four arrival flights exist on two different routes; route 1 is assigned for one flight,
and route 2 is assigned for the other flights. Figure 3 shows the trajectory of each
flight, where each triangle denotes the position and orientation of the flight every

20 20
Flight 1 Flight 2

15 15
Y-axis [nm]

Y-axis [nm]

4 min
10 10
6 min

5 5 2 min
8 min

0 0
4 min 2 min 0 min

-5 -5
-5 0 5 10 15 20 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

20 20
Flight 3 Flight 4
10 min
15 15
14 min
Y-axis [nm]

Y-axis [nm]

16 min
10 8 min 10
12 min 12 min

5 6 min 5 18 min

14 min 10 min
0 0

-5 -5
-5 0 5 10 15 20 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

Fig. 3 Trajectory of each flight when the point merge system is composed of 6 points
Optimal Scheduling Algorithm for Air Traffic Point … 415

Table 1 Results when the Route Flight P f,r Point T f,r, p


point merge system is
composed of 6 points 1 1 2 pI 0.00
pF 4.86
2 2 5 pI 0.71
pF 9.86
3 6 pI 4.28
pF 14.86
4 6 pI 9.28
pF 19.86

2 min until each flight reaches the final merge point of PMS. The simulation results
are summarized in Table 1. As shown in Fig. 3 and Table 1, flights 3 and 4 are held
before entering PMS. The reason is that the necessary delays for the flights 3 and 4
cannot be achieved, although they pass through all six points in PMS. In addition,
the performance index is 63.71 min, which is the summation of the total time at
the first point(=14.27 min) and the final merge point(=49.44 min). Even though the
separation constraints at the final merge point can be satisfied by using the proposed
algorithm, it seems that PMS points do not have enough capacity to provide efficient
flight for four aircraft simultaneously.
The number of points constituting PMS is increased from six to twelve in the
second simulation. The trajectory of each flight is shown in Fig. 4, and the simulation
results are summarized in Table 2. As shown in Fig. 4 and Table 2, the entering time
of each flight is hastened; therefore, the performance index is reduced to 52.89 min
which is the summation of the total time at the first point(=3.14 min) and the final
merge point(=49.75 min). A comparison of the two results reveals that, depending
on the traffic congestion, the number of points in PMS needs to be adjusted to reduce
the total transit time required for all flights.
In the third and forth simulations, it is additionally verified that the entering or
final merging time of a particular flight can be predetermined by using the proposed
algorithm. Figure 5 and Table 3 show the third simulation results where flight 1 is
managed to enter PMS at 3.00 min. The flight 1 passes the first point at 3.00 min
instead of 0.00 min determined in the previous simulations, and then it is managed
to stay in the sequencing legs by passing through six points. As the sequencing
and scheduling of the flight 1 are changed, those of the other flights should be
rearranged. Therefore, the performance index is slightly increased to 56.03 min,
which is the summation of the total time at the first point(=6.14 min) and the final
merge point(=49.89 min). Figure 6 and Table 4 show the fourth simulation results
where flight 1 is managed to pass the final merge point in PMS at 10.00 min. As
shown in Fig. 6 and Table 4, the flight 1 enters PMS at 0.85 s and then passes through
four points in the sequencing legs in order to pass the final merge point at 10.00 min.
These experiments reveal that the entering or final merging time can be managed at the
request of human controller. However, because additional constraints are included
416 Y. Hong et al.

20 20
Flight 1 Flight 2

15 15 10 min 8 min 6 min


4 min
Y-axis [nm]

Y-axis [nm]
10 10
12 min
2 min
5 5

14 min
0 0
4 min 2 min 0 min 0 min

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]
20 20
Flight 3 Flight 4

15 10 min 8 min 15
6 min
12 min
Y-axis [nm]

Y-axis [nm]
10 10
4 min
4 min
14 min 6 min
5 5
2 min 8 min
16 min
0 18 min 0
20 min

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

Fig. 4 Trajectory of each flight when the point merge system is composed of 12 points

Table 2 Results when the Route Flight P f,r Point T f,r, p


point merge system is
composed of 12 points 1 1 2 pI 0.00
pF 4.86
2 2 9 pI 0.00
pF 14.87
3 12 pI 1.00
pF 20.16
4 4 pI 2.14
pF 9.86

to achieve the special requirement, the total elapsed time in PMS of all flights is
increased.
Note that the number of variables required to solve the simulations is 192, where
the number of flight and routes are set to 4 and 2, respectively. In the problem
formulation, the schedule and sequence of flight are determined at the first and final
points in PMS, not all points. Because the number of point constituting PMS is not
related to computational effort, various configurations of PMS can be considered
Optimal Scheduling Algorithm for Air Traffic Point … 417

20 20
10 min
Flight 1 Flight 2

15 15
8 min
Y-axis [nm]

Y-axis [nm]
10 12 min 6 min 10

5 5
14 min 4 min

0 0
4 min 2 min 0 min

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

20 20
Flight 3 Flight 4

15 10 min 8 min 15
6 min
12 min
Y-axis [nm]

Y-axis [nm]
10 4 min 10
6 min
14 min
5 5 4 min
2 min 8 min
16 min
0 18 min 0

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

Fig. 5 Trajectory of each flight when flight 1 is managed to enter the point merge system at 3.00 min

Table 3 Results when flight Route Flight P f,r Point T f,r, p


1 is managed to enter the
point merge system at 1 1 7 pI 3.00
3.00 min pF 15.01
2 2 2 pI 0.00
pF 4.86
3 12 pI 1.00
pF 20.16
4 4 pI 2.14
pF 9.86

to integrate arrival traffic flows effectively. Furthermore, the CPU time is less than
0.35 s in all numerical computations.
418 Y. Hong et al.

20 20
Flight 1 Flight 2

15 15
Y-axis [nm]

Y-axis [nm]
6 min
10 4 min 10

5 8 min 5
2 min

0 10 min 0
4 min 2 min 0 min

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

20 20
Flight 3 10 min Flight 4

15 10 min 8 min 15 8 min


12 min 6 min
Y-axis [nm]

Y-axis [nm]
10 4 min 10 12 min 6 min
14 min

5 5
2 min 14 min 4 min
16 min
0 18 min 0
20 min

-5 -5
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20
X-axis [nm] X-axis [nm]

Fig. 6 Trajectory of each flight when flight 1 is managed to pass the final merge point at 10.00 min

Table 4 Results when flight Route Flight P f,r Point T f,r, p


1 is managed to pass the final
merge point at 10.00 min 1 1 5 pI 0.85
pF 10.00
2 2 2 pI 0.00
pF 4.86
3 12 pI 1.00
pF 20.16
4 7 pI 2.99
pF 15.00

5 Conclusion

In this study, the optimal scheduling algorithm for PMS (Point Merge System) was
proposed based on MILP (Mixed Integer Linear Programming). In the proposed
algorithm, the performance index was designed to minimize the total transit time
of all flights in PMS, and six constraint equations were derived by considering the
Optimal Scheduling Algorithm for Air Traffic Point … 419

characteristics of PMS. During this process, nonlinear equations were transformed


into linear equations using the auxiliary variables to solve the optimal problem using
MILP. In addition, to reduce the number of variables, the first and final points in PMS
were only considered as the scheduling points. Therefore, the computational efforts
are not significant even if a lot of points are included in PMS. Various numerical
simulations have been performed to demonstrate the performance of the proposed
method. As a result, it can be concluded that the proposed algorithm can be imple-
mented in real time. Furthermore, the optimal solution can be adjusted reflecting
controller’s intention.
For future works, the discrete PMS considered in this study can be extended to the
continuous PMS. In real operation, a flight can get the direct-to instruction to the final
merge point even though it is in the middle of successive points in the sequencing
legs. It seems that more practical solutions can be obtained by using the continuous
PMS. Also, the optimization problem to determine the schedule and sequence of
flight in PMS might require a nonlinear optimization technique such as population-
based genetic or particle swarm optimization algorithm to deal with nonlinearity. In
the current MILP formulation, it is considered that each aircraft is flying at the same
speed. However, speed variation may exist in real operation. To consider a variety of
speed classes, additional sequencing legs with scheduling points spaced differently
might be included. However, if the number of flight, route and point are increased,
the number of auxiliary variables to handle the nonlinearity increases. Therefore,
more tractable optimization schemes are required to solve such a complex problem
in real time.

Acknowledgements This work was supported by the Development of Integrated Departure/Arrival


Management Technologies Project funded by the Ministry of Land, Infrastructure and Transport.

References

1. Eurocontrol (2006) Point merge: Improving and harmonising arrival operations with existing
technology. https://www.eurocontrol.int/services/point-merge-concept
2. Boursier L, Favennec B, Hoffman E, Trzmiel A, Vergne F, Zeghal K (2007) Merging arrival
flows without heading instructions. In: 7th USA/Europe Air Traffic Management R&D Seminar,
Barcelona, Spain
3. Favnnec B, Hoffman E, Trzmiel A, Vergne F, Zeghal K (2009) The point merge arrival flow
integration technique: towards more complex environments and advanced continuous descent.
In: AIAA Aviation Technology, Integration, and Operations Conference, Hilton Head, SC
4. Ivanescu D, Shaw C, Tamvaclis CL (2009) Models of air traffic merging techniques: evaluating
performance of point merge. In: 9TH AIAA Aviation Technology, Integration, and Operations
Conference, Hilton Head, SC
5. Meric OS, Usanmaz O (2013) A new standard instrument arrival: the point merge system. Aircr
Eng Aerosp Technol 85(2):136–143
6. Beasley JE, Krishnamoorthy M, Sharaiha YM, Abramson D (2000) Scheduling aircraft landings
- the static case. Transp Sci 34(2):180–197
7. Beasley JE, Krishnamoorthy M, Sharaiha YM, Abramson D (2004) Displacement problem and
dynamically scheduling aircraft landings. J Oper Res Soc 55(1):54–64
420 Y. Hong et al.

8. Roling PC, Visser HG (2008) Optimal airport surface traffic planning using mixed-integer
linear programming. Int J Aerosp Eng 2008(1):1–11
9. Capozzi B, Atkins S, Choi S (2009) Towards optimal routing and scheduling of metroplex
operations. In: AIAA Aviation Technology, Integration, and Operations Conference, Hilton
Head, SC
10. Bemporad A, Morari M (1999) Control of systems integrating logic, dynamics, and constraints.
Automatica 35(3):407–427
11. Ibm ILOGCPLEX, V12.1 (2009) User’s manual for CPLEX. International Business Machines
Corporation, Armonk, NY
Flight Path Control for a Multi-body HALE
Aircraft

Alexander Köthe and Robert Luckner

1 Introduction

High Altitude Long Endurance (HALE) aircraft have become an interesting alter-
native for satellites, e.g. for communication and surveillance tasks, since they offer
more flexibility in operation. Due to their lightweight construction, their high-aspect-
ratio and the use of solar panels, they can be operated in the stratosphere for up to
336 h (cf. QinetiQ Zephyr [9]). In contrast to satellites, HALE aircraft are not bound
to a specific trajectory. They can be operated in a specific region for a certain amount
of time. When a mission is completed, they can be recovered, relocated and used
for another mission. Current HALE aircraft have large wing spans that can lead
to large deformation with structural geometrical nonlinearities. On the flight to the
mission altitude, HALE aircraft have to pass the troposphere, in which most of the
weather events (gusts, turbulences) occur. Gusts may cause high aerodynamic loads
leading to high wing bending moments that influence the fatigue strength of the air-
craft. Additionally, non-uniform gust excitations of the highly flexible vehicle may
result in larger deformations than caused by uniform ones [17]. A new alternative
to one-wing HALE aircraft are Multi-Body Aircraft (MBA) that are investigated at
TU Berlin’s department of Flight Mechanics, Flight Control and Aeroelasticity. This
concept is based on the linkage of several individual rigid-body aircraft to a sin-
gle HALE aircraft in the mission altitude. A high-aspect-ratio can be accomplished
without consideration of structural geometrical nonlinearities. Moreover, each sin-
gle aircraft can be brought to the stratosphere with a helium balloon or fly on their
own up to the mission altitude ensuring low aerodynamic loads and hence bending
moments due to atmospheric disturbance in the troposphere. Lastly, the modularity

A. Köthe (B) · R. Luckner


Technische Universität Berlin, Marchstraße 12, 10587 Berlin, Germany
e-mail: alexander.koethe@campus.tu-berlin.de
R. Luckner
e-mail: robert.luckner@tu-berlin.de

© Springer International Publishing AG 2018 421


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_23
422 A. Köthe and R. Luckner

of a MBA permits exchange and return to ground of a single individual aircraft for
repairing purposes without significantly affecting the flight mission.
A flight mechanic design for such a MBA HALE based on the DARPA Vulture
program specification [11] was carried out. The objective of the Vulture program is
the development of a heavier-than-air aircraft that can be operated with a payload
of 1,000 lb (450 kg) over a period of five years. Besides those flight performance
specifications, every aircraft has to be designed with a nearly rigid wing that leads
to a heavier wing structure with negligible structural modes. For the coupling in
the mission altitude each aircraft has to be able to fly individually. Therefore, the
aircraft requires an adequate wing to produce sufficient lift, a horizontal and vertical
stabilizer for stability, control surfaces (ailerons, elevator and flaps) for lateral and
vertical controllability and a flight control system. The result of the design process
was a formation with ten coupled aircraft that possesses a total wing span of 215 m
with an aspect ratio of 66.8 and a total mass of 4090 kg. Additionally the outer
aircraft of the MBA have a dihedral angle of 2.5◦ . This 80% cranked semi-span
dihedral configuration reduces the span width, since the Oswald parameter is positive
affected. The MBA HALE is able to fly 365 days in the mission altitude of 20 Km
with a payload of 450 kg and a maximum (north or south) latitude of 40◦ . The detailed
properties are given in Table 1. Figure 1 presents a illustration of the designed MBA
HALE. As controls, the left and right flaps along the complete half span, an elevator,
a rudder and one engine of each aircraft are used. In total the MBA has 50 control
inputs.
A previous general concept investigation showed that an optimal linkage of two
aircraft can be achieved with a joint that allows a pitch and roll motion between two
aircraft and restrict a yaw motion [8]. As a consequence the degrees of freedom are
much higher in comparison to a conventional fixed wing aircraft. This has an impact
on the flight control system. This paper describes the development of a flight path
control law for altitude and heading control. The flight control law is structured into
the inner-loops that ensure damping as well as attitude and airspeed control and the
outer-loop for altitude and heading control. The flight dynamics of the formation
are discussed and the requirements that are derived from the aircraft design mission
and the flight mechanical analysis are defined. The control law structure for the

Table 1 Properties of the designed Multi-body High Altitude Long Endurance Aircraft
Coupled aircraft i = 10 Mission altitude H = 20 km
Mission latitude Lat ≤ 40◦ Complete span width b = 215.27 m
Aspect ratio Λ = 66.76 Total mass m = 4089.9 kg
Design speed V = 33.15 ms Required energy E req = 3.2212 GJ
Design lift C L = 1.242 Zero drag coefficient C D,0 = 0.0061
coefficient
Total payload m Pay = 450 kg Required payload Preq,pay = 5 kW
power
Flight Path Control for a Multi-body HALE Aircraft 423

Fig. 1 Illustration of the designed Multi-body High Altitude Long Endurance Aircraft

inner-loop and outer-loop is introduced and the controller gains are determined. The
control laws are tested in linear and nonlinear simulations for command following
and disturbance rejection.

2 Flight Dynamics of Multi-body Aircraft

The flight dynamic model of the MBA for the flight control design is basesd on
the equations of motion and models of external forces and moments (aerodynam-
ics, thrust and weight). The equations of motion for the Multi-Body Aircraft are
assembled following Kane’s formalism [7] by using the software tool Autolev /
Motion Genesis [10]. Aerodynamic forces and moments are modeled by a Vortex-
Lattice method. Based on those methods and the design parameter, a nonlinear flight
dynamic model is build up in Simulink. This model is linearized and analyzed by
numerical perturbation.

2.1 Equations of Motion

The origin of the equations of motion is Kane’s dynamical equation,

F̃r + F̃r = 0 (r = 1, . . . , p) , (1)

where F̃r are the generalized active forces, F̃r are the generalized inertial forces
and p is the number of degrees of freedom of the system in the reference frame. In
Eq. 1, the denotation “generalized force” includes inertial and active forces as well
as inertial and active moments (translation and rotation) [7]. The generalized inertial
force is determined by
424 A. Köthe and R. Luckner


l
∂ N vC G, j 
l
∂ N ω B, j
F̃r = −
C G, j C G, j
N
Fk − N
Mk , (2)
j=1
∂u r j=1
∂u r

where N vC G, j is the velocity of the centre of gravity of the jth body in the Newtonian
frame, N ω B, j the angular velocity of the body frame against the Newtonian frame
of the jth body, u r the generalized speeds and Fk and Mk are the mass force and
mass torque of the jth body decomposed as
 
d B vC G N B B C G  
N FC G = m + ω × v and N MkC G = I N ω̇ B + N ω B × I N ω B , (3)
k dt

and l the number of rigid bodies in the system. The generalized active force is given
by


l
C G, j ∂ N vC G, j 
l
C G, j ∂ N ω B, j
F̃r = N
FA + N
MA , (4)
j=1
∂u r j=1
∂u r

where F A and M A are the active forces and moments acting at or around the cen-
ter of gravity. Both, velocities and angular velocities in Eqs. 2 and 4 are based on
generalized speeds u r (r = 1, . . . , p) that are derived from the generalized coordi-
nates qs (r = 1, . . . , n), where n is the number of generalized coordinates and p the
number of generalized speeds, with


n
ur = Yr s q̇s + Z r (r = 1, . . . , p) (5)
s=1

where Yr s and Z r are functions of the generalized coordinates and time. Equation 5
is called kinematical differential equation [7].
Generalized coordinates and speeds are restricted by constraint equations. Consid-
ering a formation of i aircraft, the number of generalized coordinates is determined
by

n = 6 × i − M, (6)

where M is the number of holonomic constraint equations and every aircraft possesses
the position (three Cartesian coordinates) and the orientation against the Newtonian
frame (three Euler angles1 ) as generalized coordinates. Holonomic constraints are
expressed by the generalized coordinates, while N nonholonomic constraint equa-
tions can be expressed as m relationships

1 Euler angles is the common denotation in flight mechanics. In multi-body dynamics the orientation

angles are called Cardan angles.


Flight Path Control for a Multi-body HALE Aircraft 425


p
ur = Ar s u s + Br with p = n − m (r = p + 1, . . . , n) (7)
s=1

where Ar s and Br are functions of the generalized coordinates and time [7]. In case
of using Eq. 7, holonomic constraint equations can be formed into nonholonomic
constraint equations, but not necessarily vice versa. Hence the number of generalized
speeds p is given by

p = 6 × i − M − N. (8)

The selected joint of the MBA allows a pitch and roll motion between two neighboring
aircraft A and B. The other generalized speeds are restricted with four non-holonomic
constraints
 N C AB N C B A   N C AB N C B A 
 N v C B A − N v C AB  e xg = 0 vN A − N v B  e yg = 0 , (9)
v − v ezg = 0 ω − ω ezg = 0

where CAB is the connection point between both aircraft. The N = 3 nonholonomic
motion constraints for the body fixed velocities can be further expressed as M = 3
holonomic constraint equations. This is no longer applicable for the motion con-
straints of the rotation. Using the roll rate u 1 , pitch rate u 2 and yaw rate u 3 as gen-
eralized speeds and the roll angle q1 , pitch angle q2 and yaw angle q3 as generalized
coordinates, the kinematic differential equations are derived in [14] as
⎡ ⎤ ⎡ ⎤⎡ ⎤
q̇1 1 sin (q1 ) tan (q2 ) cos (q1 ) tan (q2 ) u1
⎣ q̇2 ⎦ = ⎣ 0 cos (q1 ) − sin (q2 ) ⎦ ⎣ u 2 ⎦ . (10)
sin(q1 ) cos(q1 )
q̇3 0 cos(q2 ) cos(q2 ) u3

Even if u 3 is equal to zero, pitch and roll rate influence all other generalized speeds
due to the nonholonomic motion constraints. Thus, N = 1 nonholonomic constraints
exist, but no holonomic constraints. As a consequence, every coupled aircraft results
in N = 4 nonholonomic constraints and M = 3 holonomic constraints. Hence a
formation with ten coupled aircraft and motion constraints of Eq. 9 has 33 generalized
coordinates and 24 generalized speeds. By neglecting the navigation states (Ψ and
three Cartesian coordinates), four additional generalized coordinates are removed.
The arising equations of motions are highly nonlinear due to the rotational degrees
of freedom, but the existing nonlinearities can be described mathematically exact.
This is an advantage in comparison to structural nonlinearities that can only be
approximated by mathematical models. Linearizing those nonlinear equations leads
to a first order differential equation system with 53 states.
426 A. Köthe and R. Luckner

2.2 External Active Forces and Moments

The active forces and moments that have to be considered for the equations of motion
are: aerodynamic forces (in the aerodynamic reference frame) R A , thrust (in the body
fixed reference frame) T and weight (in the Newtonian frame) W of each aircraft
as well as aerodynamic moments (in the aerodynamic reference frame) M A and
thrust moments (in the body fixed reference frame) MT . For each single aircraft, it
is assumed that the thrust acts at the center of gravity. This results in a zero thrust
moment. Regarding to Eq. 4, the active force at the jth aircraft in the body fixed
reference frame is determined as
b C G, j
FA = Tb,a, j R A,a, j + Tb,n, j Wn, j + Tb, j , (11)

where Tb,a is the transformation matrix from the aerodynamic reference frame (index
a) to the body fixed reference frame (index b) and Tb,n is the transformation matrix
from the Newtonian reference frame2 (index n) to the body fixed reference frame.
The active moment of the jth aircraft in the body fixed reference frame for Eq. 4 is
computed with
C G, j
b
MA = Tb,a, j M A,a, j + Mb,F . (12)
 
=0

The gravity of the jth aircraft is defined in the Newtonian reference frame as
 T
Wn, j = 0, 0, m j g (13)

where m j is the mass of the jth aircraft and g is the gravitational acceleration. The
thrust of the jth aircraft is calculated with
 T
Tb, j = F j , 0, 0 (14)

where F j is the thrust of the jth engine.


Aerodynamic forces and moments are generated by the wing, horizontal stabilizer
and vertical stabilizer. The overall wing is built up by the wings of the single aircraft.
As a consequence, a wing with a high aspect ratio is formed. The aerodynamic forces
and moments are calculated in Matlab with the vortex lattice method described
in [6]. For this purpose, the wing is divided into a finite number of surfaces. The
flow conditions on every surface depend on both the air density and aerodynamic
parameter (angle of attack, sideslip angle and airspeed) that are also a function of
the yaw rate of the whole formation and the pitch and roll rate of every aircraft. The
software tool Autolev / Motion Genesis computes those kinematic equations after
the definition of motion constraints. Based on the aerodynamic conditions, the vortex

2 In flight mechanics often called geodetic reference frame that is considered as an inertial system.
Flight Path Control for a Multi-body HALE Aircraft 427

lattice method determines lift, yaw (considering also the zero drag coefficient) and
induced drag of every surface. By rotation of the normal vectors of the surfaces, flap
deflections are considered. For the MBA every single aircraft is equipped with flaps
along the complete left η K ,le f t and right wing η K ,right with 25% flap chord. Based
on the aerodynamic forces at every surface and the corresponding collocation point,
lift, induced drag and yaw can be assembled to each single aircraft. If the surface
collocation point of the complete wing belongs to the ith aircraft, the forces are
assigned to the ith aircraft. The corresponding aerodynamic moments are calculated
by the lever arm of the surface collocation point (that belongs to the ith aircraft)
to the center of gravity of the ith aircraft. To consider the downwash, horizontal
and vertical stabilizer are included to the vortex lattice computation. The forces and
moments can be directly assigned to the corresponding aircraft. The influence of
rudder ζ and elevator η with 25% flap chord of vertical and horizontal stabilizer is
computed by rotation of the normal vector of the corresponding surfaces. Finally,
the part of the zero drag is added to each aircraft.

2.3 Linear Analysis of the Multi-body Aircraft

Based on the equation of motion, a Simulink Model is generated and linearized to


analyze the flight dynamics of the formation. Additionally to the previous introduced
flight dynamic model, the difference of the yaw to the yaw angle of the main aircraft

ΔΨi = Ψ5 − Ψi with i ∈ {1, . . . , 10} \ {5} (15)

is considered as state instead of the absolute yaw angle of every aircraft. The state
vector
⎡ ⎤T
 qACi
qAC5 , αAC5 , VAC5 , γAC5 , rAC5 , βAC5 , . . . ⎢ ΘACi ⎥
, Φ , , , , , . . . ⎢ ⎥
x= p AC5 AC5 xAC1 xAC2 xAC3
T
xAC4 with xACi = ⎢
⎢ pACi ⎥
⎥ (16)
xAC6 , xAC7 , xAC8 , xAC9 , xAC10 ⎣ ΦACi ⎦
ΔΨACi

has 53 elements (resulting of generalized speeds and coordinates). The fifth aircraft
is selected as the main aircraft. A first analysis showed that the eigenvalues related
to the yaw motion of every aircraft are close to the origin of the complex plane.
Hence those nine states are neglected and the state vector is reduced to 44 elements.
The eigenvalues of the system are plotted in Fig. 2. Twelve out of these eigenvalues
are unstable. In total, the system has eight real eigenvalues (two are unstable) and
18 complex conjugate eigenvalue pairs (five are unstable). Based on the eigenvec-
tors, a clear separation between lateral, longitudinal and linkage eigenvalues is not
possible. The eigenvectors shows a strong coupling between all states in all modes.
428 A. Köthe and R. Luckner

Fig. 2 Illustration of the


eigenvalues of the linearized
Multi-body HALE Aircraft
in the complex plane

Nevertheless, a short period mode, a phygoid, a Dutch roll, an unstable spiral as


well as roll and pitch linkage modes are recognizable. In [8] the eigenvectors for a
formation of three coupled aircraft are investigated in detail.

3 Control Law Design

Although the aircraft dynamics strongly deviate from classical aircraft, the cas-
cade control principle for conventional aircraft is applied to the Multi-Body aircraft.
Hence, the flight path control laws contain three loops: The basic flight control law
shall ensure damping of rates, airspeed, and wing shape holding control, while the
outer-loop is used for attitude control (flight control) and flight path control (flight
guidance). Only cruise flight is considered. The HALE aircraft shall operate in the
mission altitude without significant altitude change, but with heading changes to
ensure a cruise flight above a certain area. Therefore basic control laws are required
to control pitch as well as bank angle of the aircraft. Attitude control is achieved with
a special concept. The left middle aircraft is used as reference for the pitch angle
of all left aircraft and the right middle aircraft for the other ones. In a left side turn,
the left aircraft reduce their pitch angle, while the other aircraft hold or increase the
pitch. With this, an imbalance in the lift distribution occurs and the aircraft banks
to the left side. This is nothing else than the classical aileron concept. If the pitch
Flight Path Control for a Multi-body HALE Aircraft 429

Flight Guidance Flight Control Inner MulƟ-Body


Loop Loop Loop AircraŌ
KFGloop KFCloop Kiloop Dynamics
G

Washout

Fig. 3 Block diagram for the cascade flight path control law structure of the MBA

angle of the formation is changed, the demand values of left and right pitch angle
have to be identical. Left and right pitch angle are controlled within the inner-loop.
Changing of the demand values for left and right pitch angle for attitude control is
carried out in the first outer-loop. Based on the attitude control, the second outer-loop
for azimuth and altitude control is designed. Figure 3 illustrates the corresponding
control law structure. The outputs ΔΘ and ΔΦ represent the wing shape differences
and will be introduced in Sect. 3.2. In addition the inner-loop and two outer-loops, a
washout filter is included in the flight control system. Because of the yaw damping,
the inner-loop tries to damp also steady yaw rates that occur in turned flight. This is
not desirable. With the help of a washout only frequencies relating to the Dutch roll
are passed to the inner-loop. Steady yaw rates are not affected.

3.1 Requirements

Requirements for the flight control laws are derived from the analysis of the nominal
plant and the aircraft design. The nominal plant has ten unstable eigenvalues. The
stabilization of the plant is the main requirement of the flight control law. After the
Helios mishap, the NASA in its function as an investigation organization recom-
mend the use of nonlinear methods in the aircraft modeling and the flight control
law design [12]. Multi-Body aircraft’s equations of motions are nonlinear due to the
trigonometric functions caused by joint modeling and kinematic differential equa-
tions of the individual aircraft. The flight control law design process shall consider
those nonlinear effects. Due to gusts and turbulence, disturbances act on the aircraft
that have to be rejected by damping of the rates [2] and by an airspeed controller.
Flying over a one-year period with solar energy requires a low energy consumption
that is ensured by flying with minimum power consumption, which, in turn, requires
flying at a high lift coefficient. The aircraft operates close to the stall speed. To avoid
stall, the flight control law has to achieve speed holding with high precision. In a
basic investigation it turned out that the planar wing is optimal for low induced drag.
430 A. Köthe and R. Luckner

This leads to the requirement that the wing shape has to hold straight. To save energy,
an extensive control surface activity has to be avoided. The long wing carries the
danger of stall in turned flight. The outer wing has a high airspeed while the inner
wing airspeed is very low.
Regarding airspeed and bank angle control, quantitative requirements can be
defined. The aircraft flies with 90% of the maximum lift coefficient. To avoid stall,
a maximum drop in the airspeed of 1.198 ms is allowed. This maximum airspeed
reduction has to be considered also in turn flight. While the aircraft yaws, the air-
speed is increased on the outside of the curve and decrease on the inside of the curve.
Considering the half span of the aircraft and the maximum permissible airspeed
drop, the maximum yaw rate is 0.64◦ s−1 . An alternative approach would include
the direct control of the local angles of attack instead of controling the speed of the
(central) reference aircraft of the flight formation. Because such an approach would
require more sensors and thus render the Flight Control Law more complex, it is
not yet taken into account. Note, however, that measuring the local angles of attack
is actually conceivable for the real application case of a HALE aircraft, eventually
allowing to achieve a flight envelope protection.
Quantitative requirements for the flight path flight control law, like described in
SAE AS94900 for piloted aircraft, do not exist for unmanned aircraft (especially
for HALE). Those requirements depend on the actual mission. Currently, the MBA
HALE shall be used for surveillance task and broadcast of television or internet. The
altitude of the aircraft shall be maintained and heading changes shall be carried out
in an adequate time and with an adequate radius above the area of interest. In this
basic investigation only the functionality of a flight path with an MBA is shown.

3.2 Inner-Loop Control Law

The flight dynamics of the MBA are described as a nonlinear multiple input, multiple
output (MIMO) differential equation system with significant coupling between the
state variables. In general, there exist a variety of control design methods for nonlin-
ear plants. In this paper the H∞ robust control design method is used to describe the
nonlinear dynamics as uncertainties. This method allows a definition of the require-
ments in the frequency domain and can deal directly with an uncertainty description
during the design process [15]. A disadvantage of the method is the high order of the
control laws. Nevertheless the computation effort can be distributed to all ten flight
control computer.
The inner-loop shall achieve stability, damp pitch (every aircraft), roll (every
aircraft) and yaw (formation) rate and controls the left and right pitch angle as well
as the airspeed. The differences in the pitch angles are expressed by

ΔΘi = ΘAC5 − ΘACi with i ∈ {1, . . . , 4} ,


(17)
ΔΘi = ΘAC6 − ΘACi with i ∈ {7, . . . , 10} ,
Flight Path Control for a Multi-body HALE Aircraft 431

with the fifth aircraft (ΘAC5 ) and sixth aircraft (ΘAC6 ) as reference for left and right
side pitch angle. The bank angle differences are formulated by deviation of the
separate aircraft to the fifth aircraft (as reference aircraft) with

ΔΦi = ΦAC5 − ΦACi with i ∈ {1, . . . , 10} \ {5}. (18)

Those 17 differences lead to 41 total output values (21 rates, 17 wing shape dif-
ferences, left and right pitch angle, and the airspeed) that are controlled within the
inner-loop. As input variables all elevator deflections are used. The left and right
wing flap are summarized into a common aileron

ξACi = ηK, right, ACi − ηK, left, ACi with i ∈ [1, . . . , 10] (19)

of every aircraft. The thrust and the rudder are set to identical values for every aircraft.
This leads to 21 input variables. Hence, the linearized state-space model used for the
inner-loop design is
ẋ (t) = Ax (t) + Bu (t) ,
(20)
y (t) = Cx + Du (t)

with y as control variables, u as control inputs and x as states. By applying the


Laplace transformation (assuming that the feedforward matrix D is equal to zero),
this state-space models yields the system

s x̂ (s) = Ax̂ (s) + Bû (s) ,


(21)
ŷ (s) = Cx̂ (s)

that describes the plant in the frequency domain. Hence, the transfer function of the
plant for inner-loop design is determined by

G (s) = ŷ (s) û−1 (s) = C [s I − A]−1 B. (22)

3.2.1 H∞ loop shaping

Figure 4 illustrates the augmented plant that is used for the H∞ synthesis. The subject
of the applied loop shaping is to minimize γ of the norm

Fl (P, K)∞ < γ (23)

under the constraint that K stabilizes the plant. The lower linear fractional transfor-
mation Fl represents the closed loop transfer function from the exogenous inputs to
the exogenous outputs. The exogenous inputs are the demand values r for output
values y that are controlled within the inner and disturbances values d that represent
wind velocities acting on every aircraft. As discussed later, the output of the uncer-
432 A. Köthe and R. Luckner

Fig. 4 Block Diagram of the H∞ inner-loop synthesis with design weights W S , WU , deviation
matrix W A for an additive perturbation configuration and uncertainty matrix Δ

tainty matrix uΔ are also used as inputs in the control law design. The exogenous
outputs are the weighted control inputs Wu u to restrict controls, and the weighted
error of the control values We e to shape the sensitivity functions. Using an additive
input perturbation configuration to describe the uncertainties, the deviation matrix
W A u is used as additional exogenous output. For the use of normalized weights,
the plant has to be normalized to the maximum input signal u max,i , the maximum
disturbance values dmax, j and the maximum errors emax,k [15]. The general input
vector

ũ = [u d]T (24)

collects the control inputs and disturbance values. The maximum values for every
general input l ∈ {1, . . . , i + j} and every output k are collected in two diagonal
matrices with    
Dũ = diag ũ max,l and De = diag ymax, j . (25)

In the case of the flight control law for the MBA, the maximum input signal for the
elevator, ailerons and rudder is set to 10◦ and for the thrust to 50 N. According to
Flight Path Control for a Multi-body HALE Aircraft 433

Table 2 Parameter of the sensitivity weight for the different control variables
Number Bandwidth Target error Target overshoot
 
ωBW rad s−1 A M
Pitch rate 10 10 100 1.15
Roll rate 10 10 100 1.15
Yaw rate 1 10 100 1.15
Bank angle 9 10 100 1.15
differences
Left pitch angle 4 10 100 1.15
differences
Right angle 4 10 100 1.15
differences
Left pitch angle 1 5 100 1.1
Right pitch angle 1 5 100 1.1
Airspeed 1 5 100 1.1

the certification specification for large aircraft CS-25 the maximum gust velocity is
6.36 ms .3 This value is rounded to 7 ms and used as maximum disturbance value. The

error for the pitch and roll rates is set to 5 1s . The maximum error for the yaw rate

follows from the requirements with 0.64 1s . The error of wing shape differences is set
to 5◦ and for left and right pitch angle to 5◦ . Based on the predefined requirements,
a maximum airspeed error of 1.198 ms is considered. The normalized plant Gn is
computed with
Gn = D−1 e G Du . (26)

The performance weights for shaping the sensitivity function are defined as block-
diagonal matrix with the transfer function
s
+ ωBW
wS = M
, (27)
s + ωBW A

on the main diagonal. The parameter for the different control variables are listed in
Table 2. The weight for the control surface deflections is selected with the transfer
function
⎛  2 ⎞
1
s + 1
⎜ ωBW, actuator ⎟
WU = diag ⎝  2 ⎠ (28)
10 10ωBW, actuator s + 1
1

3 The MBA belongs to CS-23 aircraft, but the flight envelope in terms of gust ends at 15,240 m (CS
23.333, [3]). Since the CS-25 considers altitudes up to 18,288 m (CS 25.341, [4]), this specification
is applied.
434 A. Köthe and R. Luckner

that shall ensure that the controller only commands inputs that are within the band-
width of the actuators ωBW, actuator = 18.95 rads
. The uncertainty is described as
unstructured uncertainty in the additive perturbation configuration with

WA (s) Δ (s) = GP,i − G0 , , (29)

with G0 as nominal system (based on the linearization) and GP,i as family of perturbed
system dynamic that cover the nonlinearities. The determination of the perturbed sys-
tems is carried out as follow: The considered linear plant arises out of the linearization
of the nonlinear equation of motion. Linearization accuracy drops off for highly non-
linear systems since the applied Taylor series truncates quadratic and higher order
terms of the derivation variables [1]. Hence, the linear approximation of the fully
nonlinear trajectory is only valid in a small interval around δx = 0. To increase the
range of valid solutions to an interval of interest [δx1 , δx2 ], the gradient of the fully
  of every δx within the range
nonlinear trajectory  ofinterest is determined. Based on
∂f
the maximum ∂ x and minimum gradient ∂∂ xf , the maximum negative and
max  min
∂f 
positive variation to the nominal parameter ∂ x  x=x0 is determined. Those variations
u=u 0
represent the possible range of the corresponding entry in the system matrix A and,
hence, the parameter can be assumed as uncertain. It has to be noted that the para-
meter could be varied only negatively or positively to the nominal parameter. The
same procedure can be carried out for the input values. The differences between fully
nonlinear trajectory and linear approximation for one entry of the system matrix and
input matrix are exemplary illustrated in Fig. 5. The consideration of all parameter

Fig. 5 Differences between the fully nonlinear trajectory and the linear approximation
Flight Path Control for a Multi-body HALE Aircraft 435

would lead to a very large computation effort. In order to avoid this, conditions are
introduced to decide if a parameter is assumed as uncertain or not. If the difference
between calculated maximum or minimum slope in the range of interest and the
slope in system or input matrix is smaller than 0.1, the parameter is not assumed to
be uncertain. After applying this criteria, the system matrix contains 245 uncertain
parameter that correspond to 12% of all entries. In the input matrix, 476 uncertain
parameter remain, corresponding to 22% of all derivatives of the input matrix. In
sum, 721 uncertain parameter are identified for the whole system description. Since
the plant is not squared (different numbers of inputs and outputs), the unstructured
uncertainties have to describe by a reduced number of inputs and outputs. Most
uncertainties in the system matrix are related to the rates and the uncertain parameter
in the input matrix are exclusively connected to the aerodynamic surface deflections.
Hence, only the 21 rates (pitch and roll rate of every aircraft and the yaw rate of
the formation) and the 21 aerodynamic control surface inputs (aileron and rudder of
every aircraft as well as the rudder that is equal for all aircraft). The plant is now
squared. With the help of Matlab the uncertain plant is determined and a sample
of 7210 random uncertain models is generated. Different unstructured uncertainty
descriptions are applied to the uncertain models and the plant, since the results dif-
fers from method to method [15]. The criteria of low entries in the deviation matrix
is fulfilled by using an additive perturbation configuration. The maximum singular
values for the differences of all 7210 uncertain models to the nominal plant together
with an upper bound are determined with the transfer function
1
s
wa =  
0.05
. (30)
1
0.05
s + 1 11 s + 1

The weight and 50 randomly selected maximum singular values of the differences
between uncertain models and the nominal plant are illustrated in Fig. 6. The results
of the random sampling are representative for the complete uncertain model family.

Fig. 6 Maximum singular value of the differences between 50 randomly selected uncertain models
and the nominal plant and the corresponding weight for the deviation matrix
436 A. Köthe and R. Luckner

The deviation matrix WA is a block diagonal matrix with the transfer function of
Eq. 30 on the main diagonal.
With the introduced weights, the control law process is carried out and a control
law with the order of 191 is calculated. The controller itself is stable and the maximum
frequency is 7.2 Hz. Evaluation of robust stability is carried out by using the MΔ
structure. In this control loop description, the controller and augmented plant are
connected with each other. This leads to the system M. As exogenous inputs and
outputs for this system only the outputs of the uncertainty matrix Δ and outputs of
the deviation weight are used. Based on the small gain theorem, the condition

σ (M) < 1 (31)

has to be fulfilled for robust stability with σ as maximum singular value [15]. The
developed control law fulfills the condition of Eq. 31 is robustly stable against the
modeled uncertainties. Since the order is too high, model reduction with the balanced
truncation method is applied [15]. To define the minimal achievable control law order,
the order of the control law was reduced from full (order 191) to one by one order
steps until the stop criteria (that robust stability is still achieved) is violated. In this
context, the control law was successfully reduced to the order of 61.

3.2.2 Results

The designed inner-loop controller with an order of 61 is now evaluated with respect
to the time dimension. Therefore, the control law is implemented in the non-linear
simulation environment of the MBA. In a nonlinear simulation study, the left and right
pitch angle command is increased to 5◦ . The results are illustrated in Fig. 7. All pitch
angles respond simultaneously. This indicates that the wing shape controller relating
to the pitch angle works well. A steady error occurs, which is expected by considering
the sensitivity function. The steady value of the pitch angle is reached within 20 s.
The corresponding elevator deflections are low. No high frequency deflections are
identified. Deviations in the bank angle are very low and, hence, the requirements of
the wing shape holding relating to the bank angle is completely fulfilled. Also, the
amounts and frequencies of wing flap deflections are low and within an acceptable
limit. The drop in the airspeed is very low. That was one requirement to avoid stall
conditions. Nevertheless, the thrust is very high and exceeds the limits of the engine
that works in steady flight condition with half power. Thus, for the outer-loops it has
to be considered to limit the maximum pitch angle to 2◦ . In summary, the inner-loop
fulfills all requirements completely.
The aircraft response to a non-uniform distributed vertical gust is investigated.
Figure 8 shows the nonlinear results. The gust acts at the second aircraft and is
modeled as an 1 − cos gust with
Flight Path Control for a Multi-body HALE Aircraft 437

4
CMD AC1
AC1 AC2
AC2 2 AC3
8 AC3 AC4
AC4 0 AC5
AC5 AC6
AC6 AC7
6 AC7 −2
AC8
AC8
AC9
AC9 −4 AC10
AC10
4 −6
0 10 20 30 40 0 10 20 30 40
Time [s] Time [s]
(a) Pitch angles (b) Elevators

AC1 AC1
2 AC2 2 AC2
AC3 AC3
AC4 AC4
AC5 0 AC5
0 AC6 AC6
AC7 AC7
AC8 −2 AC8
AC9 AC9
−2 AC10 AC10
−4
0 10 20 30 40 0 10 20 30 40
Time [s] Time [s]
(c) Bank angles (d) Right wing flaps

33.15 AC1
AC2
400
AC3
33.1 AC4

V 1 m s−1

F [1 N]

AC5
AC6
33.05 200 AC7


AC8
33 AC9
AC10
0
0 10 20 30 40 0 10 20 30 40
Time [s] Time [s]
(e) Airspeed (f) Engine thrust

Fig. 7 Nonlinear simulation results of inner-loop for a step input to the left and right side pitch
angle command of 5◦
438 A. Köthe and R. Luckner

5 AC1 AC1
AC2 2 AC2
AC3 AC3
4.5 AC4 AC4
AC5 0 AC5
AC6 AC6
4 AC7 AC7
AC8 −2 AC8
AC9 AC9
3.5
AC10 AC10
−4
0 10 20 30 40 0 10 20 30 40
Time [s] Time [s]
(a) Pitch angles (b) Bank angles

AC1
AC2 33.18
0 AC3
AC4


33.16
V 1 m s−1

AC5
AC6
AC7 33.14


−20 AC8
AC9
33.12
AC10

33.1
0 10 20 30 40 0 10 20 30 40
Time [s] Time [s]
(c) Right wing flaps (d) Airspeed

Fig. 8 Nonlinear simulation results of inner-loop for a vertical gust acting on the second aircraft

  
Ugust Vref
ww (t) = 1 − cos 2 π t , (32)
2 2

with Ugust = 6.36 ms as gust amplitude (c.f. CS-25 for an altitude of 18,288 m [4],
L as gust length that is equal to 25 times the chord length and Vref = 33.15 ms as
reference airspeed [18]. In the aircraft response, it becomes clear that the gust acts
at the second aircraft, because the bank of the first and third aircraft are contrarily
affected. The values of the wing shape differences are small and acceptable. Also,
the airspeed changes are within satisfactory limits, since the airspeed drop is very
low. Although a non-uniformly distributed gust acts on the formation, the bank angle
changes are very small. The linkages, as shown by the bank angle differences, do not
transfer bending moments and hence the Multi-Body HALE aircraft is most suitable
to reject non-uniformly distributed gust. The thrust changes are very low, but the wing
flap deflection of the third aircraft is very high. Because of the low speed operation
of the aircraft such a deflection should be acceptable.
Flight Path Control for a Multi-body HALE Aircraft 439

In the nonlinear simulation, the results with respect to the shaped sensitivity
function are confirmed. All controller work as required and fulfill the requirements.
Wing shape holding is achieved in gust and maneuvers. The airspeed does not drop
below the minimum value. Non-uniform distributed gusts are rejected by the inner-
loop, which is a big advantage in comparison to state of the art HALE aircraft [17].

3.3 Outer-Loop Control Law

The outer-loop design is based on the single input, single output description between
the input variable and the control variable. Since pitch angle control is already estab-
lished by the inner-loop, the outer-loop relating to flight control has only to cover
the functionality of bank angle control. For turned flight, at first a washout filter is
integrated in the inner-loop. Therefore, a transfer function with

TD s
G Washout = (33)
TD s + 1

is selected with TD = 0.2 s. This value is based on the Dutch roll frequency with
inner-loop. The integration of this filter destabilizes. This change is expected since
the spiral mode has to be unstable for turned flight. The left Θleft, cmd and right
Θright, cmd pitch angle command to the inner-loops represent an overlay of the pitch
angle command Θcmd and the signal caused by the bank angle controller ξbank with

Θleft, cmd = Θcmd + ξbank


. (34)
Θright, cmd = Θcmd − ξbank

The bank angle controller is designed with the root locus method [2]. The transfer
function from ξbank to the bank angle is used. Therefore, the system is reduced by
the balanced truncation to a second order system. The corresponding control law is

ξbank = kξ Φ (Φcmd − ΦAC5 ) (35)

and the proportional gain is determined with kξ Φ = 2. With this approach, pitch as
well as bank angle are controlled for the MBA and the outer-loop relating to flight
control is designed.
Regarding the flight control outer-loop, the pitch angle Θcmd and the bank angle
Φcmd are available as input values and the altitude H and the azimuth Ψ have to be
controlled by the flight guidance outer-loop. This classical flight control principle is
also applied to conventional aircraft [2]. For both values, a proportional control law
with
440 A. Köthe and R. Luckner

100

50

0
0 50 100 150 200 250 300
Time [s]
(a) Azimuth

LEFT

RIGHT 1
4

0.5

2
0

0 100 200 300 0 100 200 300


Time [s] Time [s]
(b) Pitch angles (c) Bank angles

Fig. 9 Nonlinear simulation results of flight guidance outer-loop with a commanded azimuth of 90◦

Θcmd = kΘ H (Hcmd − H ) and


 
eH
(36)
Φcmd = kΦΨ (Ψcmd − Ψ )
 

is used. The maximum commanded pitch angle is limited to 2.0◦ for a lower required
thrust. Having an altitude error of 5 m, the gain kΘ H commands 2.0◦ to the flight
control inner-loop. The bank angle command is bounded to 1◦ and kΦΨ = 0.25 is used
for the azimuth control loop. The nonlinear simulation results for a step command
in the azimuth angle of 95◦ are illustrated in Fig. 9. The MBA needs approximately
160 s until the demand value is reached. This corresponds to a yaw rate of 0.56◦ s−1 .
A small overshoot occurs. The left and right side pitch angle react adversely to each
other. In the intercept/capture phase of the desired azimuth, some low frequent and
well damped oscillations occur. In summary, the proportional gain controller is able
to achieve fast tracking of an azimuth.
Flight Path Control for a Multi-body HALE Aircraft 441

4 Conclusion and Outlook

In this paper, a flight path flight control law for a Multi-Body HALE aircraft was pre-
sented. This aircraft is able to operate continuously one year in the mission altitude.
Kane’s formalism was used to assemble the equations of motion for the Multi-Body
aircraft. The uncontrolled aircraft shows a nominal unstable behavior with 10 right
hand side poles.
The developed flight control law bases on the classical cascade flight control
principle. Since the flight dynamics of the MBA strongly differ to classical aircraft,
a new design method and structure for the inner-loop had to be applied. Therefore,
the H ∞ loop shaping in the frequency domain was successfully used. Besides a clear
and unique definition of the requirements, the method allows the use of uncertainties
to take non-modeled flight dynamics into account. With the design method, a robust
inner-loop was designed that successfully stabilizes the plant and achieves wing
shape holding, airspeed, left and right side pitch control as well as gust rejection.
Especially the results of non-uniform distributed gust load rejection underline the
benefit of a Multi-Body Hale aircraft in comparison to a one wing HALE aircraft.
Based on the inner-loop flight control law, classical outer-loop flight control laws for
azimuth angle and altitude control were applied. The formation follows the azimuth
angle very fast. That allows surveillance and broadcast missions over a certain area.
Alongside the benefits of the design method for the inner-loop, the order of the
designed inner-loop is very high (61). In the case of a classical aircraft, this order
would be too high, but the Multi-Body aircraft concept offers new possibilities to
handle the computational effort. Calculation routines can be distributed among many
computers and this allows a fast computation even for high order control laws. A
suitable concept has to be discussed in further investigations. The functionality of
the control laws (especially for wing shape holding) shall be proven in a flight test
campaign with a small Multi-Body aircraft demonstrator that is already constructed
and possesses the same degrees of freedom like the HALE Multi-Body aircraft.

References

1. Armellin R et al (2010) Nonlinear mapping of uncertainties: a differential algebraic approach.


In: 4th international conference on astrodynamics tools and techniques, ESAC, Spain
2. Brockhaus R, Alles W, Luckner R (2013) Flugregelung, vol 3. Springer, Berlin
3. European aviation safety agency, certification specifications and acceptable means of compli-
ance for normal, utility, aerobatic, and commuter category aeroplanes (CS-23), amendment 4,
2015
4. European aviation safety agency, certification specifications and acceptable means of compli-
ance for large aeroplanes (CS-25), Amendment 18, 2016
5. Gu DW, Petkov PH, Konstantinov MM (2005) Robust control design with MATLAB®.
Springer Science & Business Media, Berlin
6. Katz J, Plotkin A (2001) Low-speed aerodynamics. Cambridge University Press, Cambridge
7. Kane, Thomas R, Levinson, David A, (1985) Dynamics, theory and applications. McGraw
Hill, New York
442 A. Köthe and R. Luckner

8. Köthe A, Luckner R (2015) Flight mechanical modeling and analysis of Multi-Body aircraft. In:
International forum on aeroelasticity and structural dynamics (IFASD). St. Petersburg, Russia
9. Lee B, Poomin P, Chuntaek K (2014) Power managements of a hybrid electric propulsion
system powered by solar cells, fuel cells, and batteries for UAVs. In: Handbook of unmanned
aerial vehicles. Springer, Berlin
10. Levinson, DA, Kane, TR (1990) AUTOLEV - a new approach to multibody dynamics. In:
Multibody systems handbook. Springer, Berlin
11. Marsh G (2010) Best endurance under the sun. In: Renewable energy focus 11.5, Oxford
12. Noll TE et al (2004) Investigation of the Helios prototype aircraft mishap volume I mishap
report. National aeronautics and space administration
13. Niewoehner RJ, Isaac IK (1994) Design of an autoland controller for a carrier-based F-14
aircraft using H∞ output-feedback synthesis. In: American control conference, vol 3. IEEE,
New York
14. Phillips WF (2004) Mechanics of flight. Wiley, New York
15. Skogestad S, Postlethwaite I (2007) Multivariable feedback control: analysis and design, vol
2. Wiley, New York
16. Tucker MR, Walker DJ (1997) H ∞ mixed sensitivity. In: Robust flight control. Springer, Berlin
17. Su W, Cesnik CE (2011) Dynamic response of highly flexible flying wings. AIAA J 49(2)
18. Wright JR, Cooper JE (2008) Introduction to aircraft aeroelasticity and loads. Wiley, United
kingdom
Task Allocation of Multiple UAVs
for Cooperative Parcel Delivery

Gyeongtaek Oh, Youdan Kim, Jaemyung Ahn and Han-Lim Choi

1 Introduction

As the ability of unmanned aerial vehicles (UAVs) has been improved, the demand
of the UAV mission is also increased. Especially, the aerial transport capability of
UAVs has become the primary interest in delivery business. For instance, Amazon
shared video clips describing the future delivery system with its prototype UAV,
called Prime Air. DHL tested its tilt-wing UAV, called Parcelcopter 3.0, during three
months in the alpine condition. As shown in the aggressive developments by major
companies, it is expected that UAVs will take important roles in the future delivery
system.
In general, the maximum payload of a UAV is relatively smaller than that of the
ground transport such as a truck or train which can carry a number of parcels having
different payloads. If a UAV is permitted to carry only one parcel at a time, then a
variety of UAVs should be developed to satisfy the requirements on the delivery of
various payload, which will need a massive cost for development and maintenance.
From this point of view, a UAV that can carry a heavy item with its neighboring
UAVs can reduce the cost.

G. Oh · Y. Kim (B)
Department of Mechanical and Aerospace Engineering,
Seoul National University, Seoul 08826, South Korea
e-mail: ydkim@snu.ac.kr
G. Oh
e-mail: laimo@snu.ac.kr
J. Ahn · H.-L. Choi
Department of Aerospace Engineering, Korea Advanced Institute of Science
and Technology, Daejeon 34141, South Korea
e-mail: jaemyung.ahn@kaist.ac.kr
H.-L. Choi
e-mail: hanlimc@kaist.ac.kr

© Springer International Publishing AG 2018 443


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_24
444 G. Oh et al.

Several research on cooperative transport [1, 13, 16–18] have focused on the
motion control of multiple robots, where a single product is assigned to the robots.
The aforementioned research, however, did not address about a scheduling issue in
real-world implementation, where multiple parcels should be delivered to different
drop-off points. In [4, 7], the scheduling problem was considered for a truck-UAV
cooperation, however, a parcel that should be carried by multiple UAVs was not
considered.
For multiple parcels case, which cannot be carried by a single UAV, the efficiency
of the mission depends on a decision of team members and delivery orders. According
to the well-known taxonomy for task allocation (TA) [5], this type of problem is called
the single-task robots (ST)–multi-robot tasks (MR) problem, where ST means that
each robot is capable of executing at most one task at a time and MR indicates that
each task requires multiple robots for its completion. The ST-MR problem is often
referred to as a coalition formation problem, where a coalition is a group of agents
that conduct a common task [10].
Sandholm and Lesser [11] stated that the vehicle routing problem, combined with
the coalition formation problem, is too hard to solve optimally. Shehory and Kraus
[12] adopted a greedy policy, which precedes the higher valued coalition’s task. Oh
et al. [9] proposed the meta-heuristic solver of the ST-MR problem using particle
swarm optimization. Distributed coalition formation algorithms for a multi-robot
system have also been proposed [8, 14, 15]. However, these studies concentrated on
the type of task that is completed when the fleet of UAVs visits the task location,
whereas different pick-up point and drop-off point are designated to each task in the
cooperative parcel delivery problem.
In this study, a cooperative parcel delivery problem using multiple UAVs is defined
as an integer programming problem. The visiting orders of UAVs are constrained by
a graph theoretic notion, which excludes infeasible solutions. To obtain the subop-
timal solution of the problem with less computation time, the improved sequential
greedy algorithm (SGA) is proposed. Numerical simulation demonstrates that the
performance of the proposed algorithm is better than that of the traditional SGA.
This paper is organized as follows. Section 2 defines the cooperative parcel deliv-
ery problem. The traditional SGA and the proposed SGA are provided in Sect. 3.
Numerical result and analysis are presented in Sect. 4. Finally, Sect. 5 discusses the
conclusion.

2 Problem Statement

Let us consider N agents and M delivery tasks as shown in Fig. 1. Agent i


∈ {1, 2, . . . , N } is defined as its initial position ui , average speed vi , payload ci ,
p
time for parcel pick-up ti , and time for parcel drop-off tid .
In this study, homogeneous agents are considered and it is assumed that vi = V ,
p p
ti = t p and tid = td . Task k ∈ {1, 2, . . . , M} is defined as its pick-up location yk ,
drop-off location ydk , weight of the parcel wk , and the time window for delivery
Task Allocation of Multiple UAVs for Cooperative Parcel Delivery 445

Fig. 1 Mission environment

[tkm , tkM ]. In Fig. 1, P and D denote the pick-up and drop-off points, respectively, and
the number inside the parenthesis means that the required number of agents, which is
determined by the payload of agents and the weight of the parcel. In this setting, the
cooperative parcel delivery problem can be formulated as an integer programming
problem as follows.


M
Maximize J = sk (tk (P), tkm , tkM ) (1)
P
k=1

subject to ci ≥ wk , ∀k ∈ K (2)
i ∈ ak (P)

isDAG(G) = 1, G = (K, E (P)) (3)

where K  {1, 2, . . . , M} is the index set of the tasks, and the optimization variable
P = ( pi,m ) denotes the visiting orders of all agents. For instance, pi,m = k means
that task k is the mth task of the agent i; pi,m = 0 denotes that no task is allocated
to the agent i as the mth order. The objective function is set as the summation of
all scores, where score sk for the task k is the function of the termination time tk of
the task k and its time window. Equation (2) constrains that the total payloads of a
coalition should be greater than the weight of the target task, where ak is a coalition
set containing the indices of agents assigned to the task k.
Note that (3) is introduced to allow simultaneous arrival of agents for carrying
a heavy item together. The dependency graph G describes the resultant precedence
between the tasks [2]. The directed edge set E (P) is defined as follows.

E (P) = {( pi, j , pi, j+1 )|i ∈ I, j ∈ {1, ..., card(pi ) − 1}} (4)
446 G. Oh et al.

Fig. 2 Illustrative examples (a) (b)


of the DAG constraint
Task 1 (2) Task 1 (2)
Task 2 (1) Task 2 (1)

Task 3 (2) Task 3 (2)

Agent 1 Agent 2 Agent 1 Agent 2

T1 T1

T3 T2 T3 T2

isDAG isDAG

where card(·) denotes the number of nonzero elements in a set (or a vector), and
pi is the ith row of P. The simultaneous arrival fails when the dependency graph
contains a directed cycle. Therefore, designating the type of the dependency graph
as a directed acyclic graph (DAG), which is a directed graph with no directed cycles
[6], plays a role of the filtering. The function isDAG(G) is one if the graph G
is DAG and zero otherwise. Two illustrative examples are shown in Fig. 2, where
simultaneous arrivals are possible in (a) whereas it is impossible in (b).
On the other hand, the objective function should be defined such that agents can
finish many tasks within time windows. Thus, in this study, the score sk is defined as
follows.

⎨ tkM − tk
s0 + M , if tkm ≤ tk ≤ tkM
sk = tk − tkm (5)

0, otherwise

where s0 is the default reward of success, and tk can be expressed as follows.


 
tk (P) = max t E T A (i, k) + t p + dk /V + td (6)
i∈ak

p
where dk (= ||yk − ydk ||) is the distance between pick-up point and drop-off point of
the task k, and t E T A (i, k) is the estimated time of arrival (ETA) of the agent i for
pick-up point of the task k. Then, the first term of the right hand side is the meeting
time of the coalition at the pick-up point of the task k, and the other terms are the
required time for delivery.
Task Allocation of Multiple UAVs for Cooperative Parcel Delivery 447

TA problem defined in (1)–(3) is a overlapping coalition formation problem com-


bined with a vehicle routing problem. A number of possible coalitions and visiting
orders make this integer programming problem be intractable, thus considerable com-
putation time is required to obtain an exact optimal solution. In this study, heuristic
approaches are considered to obtain suboptimal solution with less computation time.

3 Task Allocation Algorithm

In this section, modified SGA is proposed after brief introduction of traditional SGA.

3.1 Agent-Based Sequential Greedy Algorithm

In this section, a traditional SGA [9] is briefly summarized. The SGA matches a
capable coalition with its corresponding task repeatedly in a short-term perspective.
There exist many possible coalitions, and therefore the SGA selects a coalition leader
by calculating the ETA between all agents and tasks. After the coalition leader and the
corresponding task are determined, coalition members having less ETA for the target
task are selected. This procedure is repeated until the whole tasks are allocated. To
distinguish between the traditional SGA and the proposed SGA, the former is called
agent-based SGA (ASGA) in this study.
The merit of the ASGA is that the DAG constraint is automatically satisfied,
because newly allocated task is augmented at the end of the current sequence of
tasks, thereby a directed cycle cannot appear. Also, computational burden can be
significantly reduced compared to the exact algorithm. Therefore, the ASGA may
be a possible choice for practical application of the cooperative timing mission. The
detailed procedure of the ASGA is summarized in Algorithm 1, where p(i) ⊕end {k}
denotes that the task k is augmented at the end of the agent i’s path vector p(i) .

3.2 Task-Based Sequential Greedy Algorithm

In ASGA, two greedy decisions are made for each matching between a task and
its coalition: (i) a target task and its corresponding coalition leader are determined
concurrently by greedy sense, and then (ii) several agents are selected as the coalition
members by greedy sense. In the cooperative parcel delivery problem, however, the
first decision is much more important than the second one because task execution
order is fixed by the first one. In addition, tk of the problem depends on the latest
member, which results in the small influence of the second decision. Based on this
consideration, the task-based sequential greedy algorithm (TSGA) is proposed.
448 G. Oh et al.

Algorithm 1 Sequential Greedy Algorithm


1: procedure SGA(I, K)
2: K0 = K
3: for iter=1:n(K) do
4: (i ∗ , k ∗ ) = argmin(i,k)∈I×K0 t E T A (i, k)
∗ ∗
5: p(i ) = p(i ) ⊕end {k ∗ }
6: I0 = I \ {i } ∗

7: for z=1:(Z k ∗ − 1) do
8: j ∗ =argmin j∈I0 t E T A ( j, k ∗ )
9: I0 = I0 \ { j ∗ }
∗ ∗
10: p( j ) = p( j ) ⊕end {k ∗ }
11: end for
12: K0 = K0 \ {k ∗ }
13: end for
14: end procedure

For each permutation,


Given tasks All permutations tasks are sequentially assigned to
coalitions in a greedy sense

T1 T1 T2 T3
T3 T1 T2 T3 Select best results
among all permutations
T2 T1 T3 T2

Fig. 3 Overall procedure of TSGA

Topological Sorting
T1
T3 T2 T1
T3 T2

Fig. 4 Example of topological sorting

The fundamental idea of the TSGA is to replace the important decision of the
AGSA with the process of exact algorithm, which means that all possible task exe-
cution orders are investigated as a candidate in the TSGA. For instance, M! task
execution orders are considered when M tasks are given. Coalition members includ-
ing a leader for each task are determined by a greedy algorithm. Among the resul-
tant objective functions for each task execution order, the maximum-valued case is
selected as the solution of the TSGA. Overall procedure of the TSGA is summarized
in Fig. 3.
The solution of the TSGA naturally satisfies (3). It is known that a graph can
be topologically sorted if and only if the graph is DAG [3]. The topological sorting
of a directed graph G is a linear ordering of all the vertices; if G contains an edge
(u, v), then u appears before v in the order. The illustrative example of topological
sorting of dependency graph G is shown in Fig. 4. Because the TSGA considers all
Task Allocation of Multiple UAVs for Cooperative Parcel Delivery 449

permutations of task execution order, all feasible domain of (3) can be investigated
by the TSGA.
Note that the TSGA is not a polynomial algorithm, it may require much computa-
tion time for big problems with large N and M. For problems with moderate size of
N and M, however, the computation time will not be an issue because the computa-
tional effort for t E T A is light. In addition, the solution of the TSGA is always better
than or at least same as that of the ASGA because candidates of the task execution
order of the TSGA includes the task execution order determined by the ASGA.

4 Numerical Simulation

Numerical simulation is conducted to demonstrate the performance of the proposed


task allocation algorithm for cooperative parcel delivery. Simulation is performed
using a desktop computer with an Intel Core i5-4670 @ 3.40 GHz with 16 GB
RAM and MATLAB on a Windows 7 operating system. Five UAVs and five tasks
in 2-dimensional simulation environment are considered as shown in Fig. 1. It is
assumed that average speed of UAV is 20 m/s, pick-up and drop-off time t p = td =
10 s, payload ci = 1 kg, default score for delivery s0 =1, and weights of parcels are
randomly selected. Also, collisions between UAVs are assumed to be autonomously
avoided by vertical separation or formation flight. For the first scenario, the time
windows of tasks are set as [tkm , tkM ] = [0, 1 h]. The TA results of ASGA and TSGA
are shown in Fig. 5 and summarized in Table 1.
In Fig. 5a, UAV2 waits for UAV3 at the pick-up point of T2, which is not efficient.
On the other hand, as shown in Fig. 5b, waiting time in T2 is reduced because UAV4
is assigned to T2 instead of UAV3. Also, UAV3 and UAV5 meet at T4 after finishing
their tasks T3 and T5, which can be carried by a single UAV. As a result, the objective
function and mission completion time of the TSGA are better than those of the ASGA.
The runtime of the TSGA is greater than the ASGA, but the gap is less than 0.1 s.
Let us consider another scenario, where time windows of tasks are set as [tkm , tkM ]
= [0, 30 min]. This scenario may be helpful to pizza company who has multiple
stores and delivery orders from different locations. The TA results of ASGA and
TSGA are shown in Fig. 6 and summarized in Table 2.
In this scenario, the resultant path of the ASGA is same as that of previous scenario,
which reveals the limitation of the ASGA. Because task execution order is determined
in a sequential manner without considering an objective function, the resultant TA

Table 1 TA results when ASGA TSGA


[tkm , tkM ] = [0, 1 h]
Objective function 7.8454 8.0388
Mission completion time (s) 2391.7 2143.1
Runtime (s) 0.027 0.095
450 G. Oh et al.

10 4 Cooperative Trasport Mission @ t = 0 sec

2 T3(1, D)
T4(2, P) T5(1, P)
T2(2, P)
T3(1, P)

1.5
T5(1, D)
North, m

1 T1(1, P)

T2(2, D) T4(2, D)

0.5 UAV3
UAV5
UAV4
UAV1 T1(1, D)
UAV2
0

0 0.5 1 1.5 2 2.5


East, m 10 4

(a) Result of ASGA

10 4 Cooperative Trasport Mission @ t = 0 sec

2 T3(1, D)
T4(2, P) T5(1, P)
T2(2, P)
T3(1, P)

1.5
T5(1, D)
North, m

1 T1(1, P)

T2(2, D) T4(2, D)

0.5 UAV3
UAV5
UAV4
UAV1 T1(1, D)
UAV2
0

0 0.5 1 1.5 2 2.5


East, m 10 4
(b) Result of TSGA
Fig. 5 TA results with time window [tkm , tkM ] = [0, 1 h]
Task Allocation of Multiple UAVs for Cooperative Parcel Delivery 451

10 4 Cooperative Trasport Mission @ t = 0 sec

2 T3(1, D)
T4(2, P) T5(1, P)
T2(2, P)
T3(1, P)

1.5
T5(1, D)
North, m

1 T1(1, P)

T2(2, D) T4(2, D)

0.5 UAV3
UAV5
UAV4
UAV1 T1(1, D)
UAV2
0

0 0.5 1 1.5 2 2.5


East, m 10 4

(a) Result of ASGA

10 4 Cooperative Trasport Mission @ t = 0 sec

2 T3(1, D)
T4(2, P) T5(1, P)
T2(2, P)
T3(1, P)

1.5
T5(1, D)
North, m

1 T1(1, P)

T2(2, D) T4(2, D)

0.5 UAV3
UAV5
UAV4
UAV1 T1(1, D)
UAV2
0

0 0.5 1 1.5 2 2.5


East, m 10 4

(b) Result of TSGA


Fig. 6 TA results with time window [tkm , tkM ] = [0, 30 min]
452 G. Oh et al.

Table 2 TA results when ASGA TSGA


[tkm , tkM ] = [0, 30 min]
Objective function 4.1013 5.3279
Mission completion time (s) 2391.7 2626.3
Runtime (s) 0.031 0.096

result cannot handle the penalty from the violation of time windows. In TSGA,
on the other hand, all possible task execution orders are investigated and the best
scored one is selected as a solution, where the violation effect of time windows
is considered during calculating score (5). Therefore, the solution of the TSGA in
Fig. 6b is different from that of Fig. 5b. Considering that the mission completion time
in Tables 1 and 2 is greater than 30 min, it may be thought that the given time window
is a harsh constraint. Indeed, the ASGA failed to deliver the parcels of T2 and T5
within 30 min whereas the TSGA allows T5 (forgives T2) to maximize the objective
function by completing the other four tasks. As a result, the objective function of the
TSGA is better than that of the ASGA while the mission completion time is slower
than the ASGA. Especially, the degradation of objective function due to shortened
time windows in the ASGA (7.8 → 4.1) is more severe than that in the TSGA (8.0
→ 5.3).
Because the objective function is defined as the summation of score functions, not
the mission completion time, the TSGA prefers the solution having high objective
function than short mission completion time. When the time windows of all tasks are
loose, the objective function is expected to be aligned with the mission completion
time due to the low possibility of time windows violation. However, when time
windows of all tasks are tight, the TSGA may select the longer route to complete
more tasks within time windows.
To see the effect of calculation time and objective function for more agents,
additional experiments are conducted with 3 ≤ N ≤ 8 and M = 3. The runtime and
total score for increasing N does not change eventually as shown in Fig. 7. As a
result, it can be stated that the number of agents N is a minor factor for runtime
and objective function with constant M. Likewise, to see the effect of calculation
time and objective function for more tasks, further experiments are performed with
3 ≤ M ≤ 8 and N = 3. As shown in Fig. 8, the gap of the objective function between
ASGA and TSGA grows for more tasks, which comes from that TSGA makes better
decision than ASGA when the given time is insufficient. The runtime of TSGA,
however, shows exponential growth according to M.
Task Allocation of Multiple UAVs for Cooperative Parcel Delivery 453

Fig. 7 Effect of N when -1.5


M = 3 and time window

Runtime (s)
ASGA
-2
[tkm , tkM ] = [0, 1 h] TSGA

-2.5

-3

-3.5
3 4 5 6 7 8
Number of Agents (N)

5.1

Total Score
5 ASGA
TSGA

4.9

4.8
3 4 5 6 7 8
Number of Agents (N)
Log-scaled Runtime (s)

Fig. 8 Effect of M when


N = 3 and time window 1
[tkm , tkM ] = [0, 1 h] 0
ASGA
TSGA

-1

-2

-3
3 4 5 6 7 8
Number of Tasks (M)

10
Total Score

ASGA
8 TSGA

4
3 4 5 6 7 8
Number of Tasks (M)

5 Conclusions

In this study, the cooperative parcel delivery problem using multiple UAVs was
formulated in the form of an integer programming problem. Based on the analysis
of problem characteristics, the modified sequential greedy algorithm was proposed.
Through the numerical simulation, the proposed scheme showed better performance
than the traditional method by consuming more computation time. In real-world
application, the adequate solver should be determined by considering the problem
size and the expected time to solve.
454 G. Oh et al.

References

1. Aiyama Y, Hara M, Yabuki T, Ota J, Arai T (1999) Cooperative transportation by two four-
legged robots with implicit communication. Robot Auton Syst 29(1):13–19
2. Balmas F (2004) Displaying dependence graphs: a hierarchical approach. J Softw Maint Evol
Res Pract 16(3):151–185
3. Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms. MIT Uni-
versity Press, Cambridge
4. Ferrandez SM, Harbison T, Weber T, Sturges R, Rich R (2016) Optimization of a truck-drone in
tandem delivery network using k-means and genetic algorithm. J Ind Eng Manag 9(2):374–388
5. Gerkey BP, Matarić MJ (2004) A formal analysis and taxonomy of task allocation in multi-robot
systems. Int J Robot Res 23(9):939–954
6. Gross JL, Yellen J (2003) Handbook of graph theory. CRC Press, Boca Raton
7. Murray CC, Chu AG (2015) The flying sidekick traveling salesman problem: optimization of
drone-assisted parcel delivery. Transp Res Part C: Emerg Technol 54:86–109
8. Oh G, Kim Y, Ahn J, Choi HL (2015) Market-based task assignment for cooperative timing
missions over networks with limited connectivity. In: AIAA Guidance, navigation, and control
conference, Kissimmee, FL
9. Oh G, Kim Y, Ahn J, Choi HL (2016) PSO-based optimal task allocation for cooperative timing
missions. In: 20th IFAC symposium on automatic control in aerospace, Sherbrooke, Canada
10. Sandholm TW, Lesser VR (1995) Coalition formation among bounded rational agents. In:
International joint conference on artificial intelligence, Quebec, Canada
11. Sandhlom TW, Lesser VR (1997) Coalitions among computationally bounded agents. Artif
Intell 94(1):99–137
12. Shehory O, Kraus S (1998) Methods for task allocation via agent coalition formation. Artif
Intell 101(1):165–200
13. Stouten B, de Graaf AJ (2004) Cooperative transportation of a large object-development of
an industrial application. In: IEEE international conference on robotics and automation, New
Orleans, LA
14. Weerdt Md, Zhang Y, Klos T (2012) Multiagent task allocation in social networks. Autonom
Ag Multi-Ag Syst 25(1):46–86
15. Whitten AK, Choi HL, Johnson LB, How JP (2011) Decentralized task allocation with coupled
constraints in complex missions. In: IEEE American control conference, San Francisco, CA
16. Yamashita A, Fukuchi M, Ota J, Arai T, Asama H (2000) Motion planning for cooperative
transportation of a large object by multiple mobile robots in a 3D environment. In: IEEE
international conference on robotics and automation, San Francisco, CA
17. Yang X, Watanabe K, Izumi K, Kiguchi K (2004) A decentralized control system for cooperative
transportation by multiple non-holonomic mobile robots. Int J Control 77(10):949–963
18. Yufka A, Parlaktuna O, Ozkan M (2010) Formation-based cooperative transportation by a
group of non-holonomic mobile robots. In: IEEE international conference on systems man and
cybernetics, Istanbul, Turkey
Circumnavigation with Side-Bearing Angle

Sanghyuk Park

1 Introduction

Today, autonomous unmanned aerial vehicles (UAVs) are widely used. Typical appli-
cations include aerial observation, aerial surveillance, and aerial search, where the
UAV is often required to orbit around a stationary target at a given distance [1, 2].
This type of motion is often called circumnavigation [3].
Several methods can be adopted for circumnavigation. Most existing works are
based on a two-step approach: the first step is path planning [4–7], and the second
step is path following [8–20]. In this approach, when the vehicle is initially far
from the target point, a proper reference path should be first constructed so that the
commanded path ultimately leads to the final circular path around the target. Then,
the UAV is controlled to follow the commanded path at the guidance/control level.
There are other methods specialized for circumnavigation that are not based on
the two-step approaches. A method using the vehicle position and the bearing angle
to the target has been proposed in [2]. Another method using the range and range
rate to the target has been proposed in [3, 21, 22]. The strength of this method is that
it can be used in a situation where GPS is unavailable.
This work presents a guidance law that enables circumnavigation using the side-
bearing angle. The side-bearing angle, in this work, is the deviation angle from the
normal to the velocity direction. The analysis and application of the proposed guid-
ance method demonstrate a number of benefits over other existing approaches. First,
the proposed guidance law is expressed by a simple formula. Second, the guidance
law is globally asymptotically stable. The simple guidance law maneuvers a vehicle
to circle over a target with any initial position and heading configuration. In other

S. Park (B)
Aerospace and Mechanical Engineering, Korea Aerospace University,
76 Hanggongdaehang-ro, Deogyang-gu, Goyang-si, Gyeonggi-do 412-791, Korea
e-mail: park@kau.ac.kr

© Springer International Publishing AG 2018 455


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_25
456 S. Park

words, the conventional path planning in the two-step approach can be skipped. Third,
the new method has only one control parameter. To facilitate the proper selection of
the parameter, a linear analysis that is provided in this work can be used. Finally, the
guidance law is simple and straightforward to apply in actual flight applications. In
this work, two types of flight experiments are presented. The first experiment used a
conventional GPS-based navigation system. The side-bearing angle was computed
with the GPS position and velocity for a given target position. The flight test success-
fully demonstrated that the aircraft could circumnavigate a series of reference target
points using the proposed method. The second flight experiment used a vision-based
control system. This type of application can be used in a situation where GPS is not
available. In particular, in this experiment, a fixed camera (as opposed to a gimbal
camera) was attached to the test-bed UAV looking out at the side. Then, the pixel
position of a target was used to compute the side-bearing angle. It was also success-
fully demonstrated that the aircraft can circumnavigate a series of target points using
the vision-based system.
This paper is organized as follows. Section 2 describes the guidance law and
provides a proof of the global asymptotic stability. Section 3 discusses the linear
analysis, which can be used when choosing the control parameter. Section 4 provides
the flight test result from using a GPS-based control system. Section 5 presents the
flight test results from using a vision-based control system. Section 6 concludes this
paper.

2 Guidance Law and Global Asymptotic Stability

In this section, the guidance law is developed using a Dubins vehicle model [4], which
gives a good approximation for fixed-wing aircraft trajectories [23]. The kinematic
model is given by

Ṅ = V cos ψ (1)

Ė = V sin ψ (2)
a
ψ̇ = (3)
V
where Nand E are the coordinates of the vehicle’s position; V is the velocity, which
is assumed positive; ψis the course angle of the velocity; and a is the normal accel-
eration, which is the control variable. The variables in models (1)–(3) are depicted
in Fig. 1.
The target is stationary, and it is assumed that the side-bearing angle η in Fig. 2 is
available. The objective of the guidance law is to guide the vehicle to orbit around
the target with a given radius Rref so that the side-bearing angle η converges to zero.
The lateral acceleration command of the proposed guidance law in this work is
Circumnavigation with Side-Bearing Angle 457

Fig. 1 Diagram for the


guidance law

Fig. 2 System geometry for


stability analysis

V2
a= + K sin η (4)
Rref

where K is a design parameter.


Next, Lyapunov stability is presented and used to show the global asymptotic
stability under the guidance law in Eq. 4. Figure 2 illustrates the system geometry with
various other necessary variables to prove the stability. In the following development,
all angles and angular rates are defined to be positive in the clockwise direction, as
in Fig. 2, and it is assumed that the inner-loop control system exactly produces the
commanded acceleration.
458 S. Park

As shown in the figure, the three angles are related by η + ψ = χ . Taking the
derivatives, we have

η̇ = χ̇ − ψ̇ (5)

The velocity vector has a transverse component r χ̇ = V cos η, which can be rearranged
as
V cos η
χ̇ = (6)
r
When the guidance law in Eq. 4 is applied to Eq. 3, we have

V K
ψ̇ = + sin η (7)
Rref V

Next, considering the radial velocity component and substituting Eqs. 6 and 7 into
Eq. 5 yield
ṙ = V sin η (8)

V cos η V K
η̇ = − − sin η (9)
r Rref V

Equations 8 and 9 serve as the system equations with the two new state variables
r and η. The stationary point of the system is found by setting ṙ = 0 and η̇ = 0;
specifically,

r0 = Rref and η0 = 2π n(n = 0, ±1, ±2, . . .) (10)

Next, the global asymptotic stability is shown. Let a Lyapunov function candidate
be  2
1 r 1 2
L= − cos η + sin η (11)
2 Rref 2

which is positive definite. Taking the time derivative yields


  
r ṙ
L̇ = − cos η + η̇ sin η + η̇ sin η cos η
Rref Rref

Substituting ṙ and η̇ with the system dynamics in Eqs. 8 and 9 leads to


  
r V sin η V cos η sin η V sin η K
L̇ = − cos η + − − sin η sin η
Rref Rref r Rref V
 
V cos η V K
+ − − sin η sin η cos η
r Rref V
Circumnavigation with Side-Bearing Angle 459

V rK K V cos2 η sin η
= cos η sin η − sin2 η + sin2 η cos η − (12)
Rref Rref V V r

V cos2 η sin η V K
+ − sin η cos η − sin2 η cos η
r Rref V
rK
=− sin2 η ≤ 0
Rref V

In other words, the time derivative of the Lyapunov function is negative semi-definite.
According to LaSalle’s theorem [24], as t → ∞, the system approaches the largest
invariant set inside a set of points defined by L̇ = 0, which is, in this case, the
set S = {(r, η)|η = 2π n}, where n = 0, ±1, ±2, . . . . In this set, we have ṙ = 0.
Additionally, η̇ = 0 for all points except the points (Rref , 2π n). Thus, the largest
invariant set inside the set S is the points (Rref , 2π n). Therefore, the global asymptotic
stability is proved.
Simulation examples are presented to illustrate the stability. The vehicle is ini-
tially at the origin heading north. The target is placed at (N = 600 m, E = 0 m).
Additionally, V = 10 m/s and Rref = 100 m are used in the simulation. Figures 3, 4
and 5 show the simulation results for three different control gains: K = 0.2, K = 1.0,
and K = 2.0. Each figure shows the vehicle trajectory and the side-bearing angle.
The angle is given in the range between ±180◦ . When the gain is relatively small

Fig. 3 Simulation with K = 0.2


460 S. Park

Fig. 4 Simulation with K = 1.0

(K = 0.2), the trajectory makes several rounds of circular motion that drifts toward
the target. It ultimately converges to the desired circle, as shown in Fig. 3. When the
gain is selected at a moderate level (K = 1.0), as in Fig. 4, the trajectory converges
to the desired circle rather directly without performing circular motion before reach-
ing the target. When the gain is selected as the large value (K = 2.0), the vehicle
approaches the desired circle following a spiral-like path from the outside by making
a long detour, as indicated in Fig. 5. In all cases, however, the trajectory converges
to the required circle around the target point. Additionally, the side-bearing angle
converges to zero.
To further illustrate the global asymptotic stability, more simulations for various
initial heading conditions are conducted. The results are summarized in Fig. 6. The
vehicle starts at (0, 0) with initial heading conditions of 0, 20, 40, …, up to 340◦ .
The control gain K is set to 1.0 in the simulations. In all cases with different initial
headings, the trajectories converge to the desired circle.
Circumnavigation with Side-Bearing Angle 461

Fig. 5 Simulation with K = 2.0

Fig. 6 Simulation with various initial headings (K = 1.0)


462 S. Park

3 Linear Analysis

This section presents a linear analysis of the system under the proposed guidance
law. Through this analysis, a proper value of the control parameter may be deter-
mined. In the linear analysis, the perturbed dynamics around the equilibrium point
are considered. Thus, it is assumed that η is a small angle. The cross-track error
is also assumed to be small, i.e., d << Rref . With these assumptions and recalling
r = Rref + d in Fig. 2, the system equations are approximated as follows. First, Eq. 8
can be approximated as

ḋ = V η (13)

Next, Eq. 9 can be approximated as


V cos η
η̇ = r
− V
Rref
− K
V
sin η ≈ V
Rref +d
− V
Rref
− KV η
 
= V
Rref (1+d/Rref )
− V
Rref
− KV η ≈ V
Rref
1 − Rdref − RVref − KV η (14)
= − RV2 d − KV η
ref

Taking the derivative of Eq. 14 and applying Eq. 13 yield

K V2
η̈ + η̇ + 2 η = 0 (15)
V Rref

Alternatively, taking the derivative of Eq. 13 and applying Eq. 14 lead to

K V2
d̈ + ḋ + 2 d = 0 (16)
V Rref

Notice that Eqs. 15 and 16 are of the same form and are a well-known second-order
linear system. The undamped natural frequency and the damping ratio are determined
as follows:
V KRref
ωn = and ζ = (17)
Rref 2V 2

This result provides a guideline for selecting the design parameters. First, the
ratio of the vehicle speed and the radius of the desired circle determines the system
frequency. Thus, for a given vehicle speed, the radius of the circle can be selected by
considering any sensor delays and the inner-loop bandwidth in acceleration tracking.
Once the vehicle speed and the radius of the circle are determined, the control gain
K should be selected to provide a reasonable damping level.
In the previous simulation examples in Sect. 2, the case with K = 0.2 corresponds
to a damping ratio of 0.1, the case with K = 1.0 corresponds to a damping ratio of
Circumnavigation with Side-Bearing Angle 463

0.5, and the case with K = 2.0 corresponds to a damping ratio of 1.0. This explains
the behavior patterns of the simulation results. When the gain is relatively small,
the system exhibits oscillations, with many pre-circling turns before converging to a
stationary point. On the other hand, when the gain is set relatively large, the system
exhibits a well-damped behavior.

4 Flight Test with a GPS-Based Control System

The proposed guidance law was first applied to a GPS-based flight control system.
The side-bearing angle is computed in this case using the GPS position and velocity
along with the target position as follows.
 
In Fig. 7, r A and r T are the aircraft position vector and the target position vector,
respectively. The relative position vector of the target with respect to the aircraft is
  
r T /A = r T − r A . Let the coordinate of the relative position vector be
  
 rT /AN
r T /A = (18)
rT /AE

Next, let vN and vE be the velocity components in the north and east directions,
respectively, and let V be the vehicle speed. Then, a unit vector normal to the velocity
direction is obtained as


1 0 −1 vN
ên = (19)
V 1 0 vE

In this case, a clockwise direction is assumed as the orbiting direction. Next, applying
the cross-product of the above two vectors yields

Fig. 7 Geometry used to


compute the side-bearing
angle with the GPS-based
flight control system
464 S. Park

Fig. 8 Test-bed UAV

    
        
e n × r T /A =  e n   r T /A  (sin η) êD =  r T /A  (sin η) êD (20)

From this, we have


enN rT /AE − enE rT /AN
sin η =  (21)
rT2 /AN + rT2 /AE

The above algorithm for the sin η computation and the proposed guidance law
were implemented in flight tests with the test-bed aircraft shown in Fig. 8. The air-
craft has a total mass of 2.0 kg and a wing span of 2.1 m. A typical flight speed
is approximately 12 m/s. The aircraft is equipped with a flight control system. The
onboard flight sensors include a GPS, an airspeed sensor, and an inertial sensor pack-
age with attitude, angular rate, and accelerometer outputs. There are several closed
loops implemented in this aircraft: an elevator control loop is used to track altitude
commands; a thrust control loop is implemented to track airspeed commands; and
a rudder control loop is designed to improve the Dutch roll mode and to track roll
commands.
When following an acceleration command using the guidance law, the acceleration
command is converted to a roll attitude command using the well-known coordinated-
turn aircraft kinematics, where the roll and sideways acceleration are related by
φ = tan−1 (a/g).
A series of flight tests was then performed. A set of data from one of the experi-
ments is shown in Figs. 9 and 10. The recorded vehicle trajectory is shown in Fig. 9.
The vehicle started at the initial position (N = −138 m, E = 135 m). The control gain
K was set using an equivalent damping ratio of 0.6 according to Eq. 17, and the radius
of the circle was set as 60 m. Then, the aircraft was commanded to circumnavigate a
series of three target points defined in Table 1. They are marked with small circles in
the plot. As indicated in this plot, the aircraft successfully orbited around the series
Circumnavigation with Side-Bearing Angle 465

Fig. 9 GPS-based flight test result: Trajectory

Fig. 10 GPS-based flight test result: side-bearing angle, roll angle


466 S. Park

Table 1 Target locations in Target North [m] East [m] Remark


GPS-based flight experiment
#1 −13.0 49.0 Runway entrance
#2 −244.9 107.1 Basketball court
#3 −166.3 −360.2 Small bridge

of three target points. The turn direction (right or left) in this experiment was chosen
at the target switching moment based on the direction of the vehicle’s velocity with
respect to the new target point.
Other relevant flight variables are shown in Fig. 10. The first plot shows the side-
bearing angle. When the vehicle was closely orbiting the target point, this angle was
maintained within approximately ±5◦ . The sign of this angle in the flight software
was defined such that it is negative when the target point is ahead of the vehicle.
Therefore, the angle abruptly changes to large negative values when the target point
transition occurs. The second and third plots in Fig. 10 show the roll angle, the roll
angle command, the yaw rate, and the rudder commanded recorded during the flight
test.

5 Flight Test with a Vision-Based Control System

The proposed guidance law can also be applied to vision-based flight control. The
vision-based control can be very useful in a situation whereby GPS is not available.
This section presents the relevant flight test results. The GPS in this experiment was
used only for recording purposes.
In the experiment, the commonly used gimbal camera was not installed due to
complexity and weight penalty concerns. Instead, a fixed camera was installed in
the test-bed UAV. Considering the flight characteristics of a fixed-wing aircraft, the
camera was attached looking out to the side on the right, as depicted in Fig. 11. It was
also tilted downward by approximately 30◦ to better show the ground below during
flight.
In the vision-based flight test, the side-bearing angle is computed using the vision
information as follows. First, consider the aircraft diagram in Fig. 12, where the
angles ψc and ξc define the orientation of the camera installation. In the experiment,
ψc = 90◦ (for looking out on the right side) and ξc = 30◦ .
The rotational transformation matrix from the NED local inertial frame to the
camera frame (xc yc zc in Fig. 13) is

[C]NED→cam = [C]ξc [C]ψc [C]φ [C]θ [C]ψ (22)

where [C]φ [C]θ [C]ψ is the conventional rotational transformation matrices from
the NED frame to the aircraft body fixed frame, and the additional rotation matrices
[C]ξc , [C]ψc are for the rotation from the aircraft frame to the camera frame:
Circumnavigation with Side-Bearing Angle 467

Fig. 11 Fixed-camera on
the test bed aircraft looking
out to the side

Fig. 12 Definition of
camera attachment angles

⎡ ⎤ ⎡ ⎤
cos ψc sin ψc 0 cos ξc 0 sin ξc
[C]ψc = ⎣ − sin ψc cos ψc 0 ⎦ , [C]ξc = ⎣ 0 1 0 ⎦ (23)
0 0 1 − sin ξc 0 cos ξc

Additionally, in Fig. 13, the imaginary plane for the camera image is displayed
between the camera and the target so that the target image is placed on the straight
line that joins the camera and the target.
Let α be the field-of-view angle of the camera, and let ly be half of the plane’s
horizontal length. The length ly may also be considered as half of the number of
pixels on the horizontal axis. The distance from the camera to the imaginary screen is
lx = ly / tan (α/2) . Additionally, let yc and zc be the horizontal and vertical positions
of the target in the camera image, respectively. The unit vector corresponding to the
camera’s center xc direction, when coordinatized into the NED frame, is obtained as
468 S. Park

Fig. 13 Geometry used to compute the side-bearing angle with the vision-based flight control
system

⎧ ⎫ ⎧ ⎫

⎨ eCN ⎬ ⎨1⎬
êCX ≡ eCE = [C]−1 −1 −1 −1 −1
ψ [C]θ [C]φ [C]ψc [C]ξc 0 (24)
NED ⎩ ⎭ ⎩ ⎭
eCD 0

The unit vector corresponding to the camera’s target-pointing direction, when


coordinatized into the NED frame, is computed as
⎧ ⎫ ⎧ ⎫

⎨ eT /CN ⎬ 1 ⎨ lx ⎬
êT /C ≡ eT /CE =  [C]−1
ψ [C] −1
θ [C] −1
φ [C] −1
ψc [C]−1
ξc yc
NED ⎩ ⎭ lx2 + yc2 + zc2 ⎩ ⎭
eT /CD zc
(25)

The projections of the above two unit vectors on the ground (NE plane) are
⎧ ⎫ ⎧ ⎫
  ⎨ eCXN ⎬   ⎨ eT /CN ⎬
 
e CXNE = eCXE , e T /CNE = eT /CE (26)
NED ⎩ ⎭ NED ⎩ ⎭
0 0

The cross-product of the above two vectors is associated with the angle η by
  
     
e CXNE × e T /CNE =  e CXNE   e T /CNE  (sin η) êD (27)
Circumnavigation with Side-Bearing Angle 469

Fig. 14 Experimental setup for vision-based flight control system

Finally, from Eq. 28, sin η can be obtained as

eCXN eT /CE − eCXE eT /CN


sin η =   (28)
eCXN + e2CXE e2T /CN + e2T /CE
2

The above algorithm for the sin η computation and the proposed guidance law
was implemented in the flight test. The test-bed UAV has a total mass of 3.0 kg and
a wing span of 3.2 m. A typical flight speed is approximately 10 m/s. The aircraft is
equipped with a flight control system similar to the one in Sect. 4. It also contains
the vision equipment. The camera’s field-of-view is 90◦ , and the transmitted image
size is 640 by 480 pixels.
The experimental setup for target recognition and the overall operation concept
is depicted in Fig. 14. An interesting feature in this setup is that the identification
of the target was performed by a human operator. The transferred camera image
was displayed on the ground monitoring computer. The operator chose a target and
performed target tracking on the screen using a computer mouse. Then, the target
pixel position on the screen was transmitted back to the aircraft for the computation
of the side-bearing angle. With this setup, the ground operator was able to manipulate
the aircraft very intuitively from a first-person point of view while circumnavigating
a series of ground targets of his choice.
A series of flight tests was performed. The control gain K was set for an equivalent
damping ratio of 0.5 according to Eq. 18, and the radius of the reference circle was set
as 100 m. The altitude was held at approximately 70 m above the ground by the pitch
control loop. The ground operator performed the aforementioned mouse tracking for
the series of targets defined in Table 2. After performing one round of circling on each
target, the operator switched to the next target via mouse-tracking manipulation.
470 S. Park

Table 2 Target locations in Target North [m] East [m] Remark


vision-based flight
experiment #1 –366.9 105.0 Playground
#2 –670.5 129.3 Dormitory building
#3 –664.0 –78.5 Library building
#4 –571.3 –98.4 Headquarter building
#5 –341.3 –20.4 Square

Fig. 15 Vision-based flight test result: Trajectory

A typical flight test’s results are shown in Figs. 15, 16 and 17. The flight trajectory
and the five target points in Table 2 are shown in Fig. 15. The figure indicates that
the aircraft performed a series of clockwise circumnavigation maneuvers over the
target points. Other relevant recorded variables are shown in Fig. 16. The first plot
shows the target pixel position, which was recorded using the human operator’s
mouse tracking on the screen. The plot indicates that the pixel position repeatedly
converges to the center of the screen after the target transitions. The second plot
shows the side-bearing angle. The plot also repeatedly converges to approximately
zero as the aircraft circumnavigates a series of target points. The roll angle and
its command are also displayed in the third plot. A snapshot of the ground station
computer during the flight experiment is shown in Fig. 17. The left side of the screen
shows the onboard camera image transmitted from the aircraft. The cross mark (+)
over a building on the screen is the target pixel position, which is designated by the
Circumnavigation with Side-Bearing Angle 471

Fig. 16 Vision-based flight test results: pixel position, side-bearing angle, and roll angle

Fig. 17 Ground station snapshot during vision-based flight test


472 S. Park

human operator’s mouse tracking at that time. The right side of the screen shows the
flight trajectory overlapped on the map of the experimental site. This indicates that
the aircraft was circling over target #4 at that moment.

6 Conclusion

This work presented a guidance law for circumnavigation using side-bearing angle.
The proposed guidance method exhibits a global asymptotic stability. This allows
one to skip the path-planning task, and the guidance law can be started for any initial
configuration of the vehicle relative to the target position. A linear analysis was per-
formed to help choose a proper control parameter. Two types of flight experiments
were performed to demonstrate the performance of the proposed guidance law. In the
GPS-based flight test, the side-bearing angle was computed using the GPS position
and velocity. In the vision-based flight experiment, a fixed camera was installed on
one side of the aircraft, and the side-bearing angle was obtained using the pixel posi-
tion of the target image. In both flight experiments, it was successfully demonstrated
that the proposed guidance law could guide the vehicle to circumnavigate a series of
target points.

Acknowledgements This research was supported by Basic Science Research Program through the
National Research Foundation ofKorea (KRF) funded by the Ministry of Education (2015R1D1A1A
01060574). The author thanks Yong-Rae Kim for his contributions to the flight tests.

References

1. Tang Z, Ozguner U (2005) Motion planning for multitarget surveillance with mobile sensor
agents. IEEE Trans Robot 21(5):898–908
2. Deghat M, Shames I., Anderson BDO, Yu C (2014) Localization and circumnavigation of a
slowly moving target using bearing measurements. IEEE Trans Autom Control 59:8 (2014)
3. Shames I, Dasgupta S, Fidan B, Anderson BDO (2012) Circumnavigation using distance mea-
surements under slow drift. IEEE Trans Autom Control 57(4):889–903
4. Dubins L (1957) On curves of minimal length with a constraint on average curvature, and with
prescribed initial and terminal positions and tangents. Am. J. Math 79:3
5. McGee T, Hedrick J (2007) Optimal path planning with a kinematic airplane model. J Guid
Control Dyn 30(2):629–633
6. Anderson R, Bakolas E, Milutinovic D, Tsiotras P (2013) Optimal feedback guidance of a
small aerial vehicle in a stochastic wind. J Guidance Control Dyn 36:4, 975–985
7. Anderson R, Milutinovic D (2014) On the construction of minimum-time tours for a dubins
vehicle in the presence of uncertainties. J Dyn Syst Meas Control 137(3):031007 (8 pages)
8. Sujit PB, Saripalli S, Sousa JB (2014) Unmanned aerial vehicle path following: a survey and
analysis of algorithms for fixed-wing unmanned aerial vehicles. IEEE Control Syst 34(1):42–59
9. Yoshitani N (2010) Flight trajectory control based on required acceleration for fixed-wing
aircraft. In: 27th international congress of the aeronautical sciences. Nice, France
10. Rhee I, Park S, Ryoo C (2010) A tight path following algorithm of an UAS based on PID
control. In: SICE annual conference 2010. Taipei, Taiwan
Circumnavigation with Side-Bearing Angle 473

11. Cabecinhas D, Silvestre C, Rosa P, Cunha R (2007) Path-following control for coordinated
turn aircraft maneuvers. In: AIAA guidance, navigation, and control conference, Hilton Head,
SC, AIAA Paper 2007–6656
12. Yamasaki T, Balakrishnan SN, Takano H (2013) Separate-channel integrated guidance and
autopilot for automatic path-following. J Guidance Control Dyn 36(1):25–34
13. Jung D, Tsiotras P (2008) Bank-to-Turn Control for a Small UAV using Backstepping and
Parameter Adaptation, 17th IFAC World Congress. Seoul, Korea
14. Aguiar AP, Kaminer I, Ghabcheloo R, Pascoal A, Xargay E, Hovakimyan N, Cao C,
Dobrokhodov V (2008) Time-coordinated path following of multiple UAVs over time-varying
networks using L1 adaptation. AIAA guidance, navigation, and control conference, Honolulu,
HI, AIAA Paper 2008–7131
15. Yang K, Sukkarieh S, Kang Y (2009) Adaptive nonlinear model predictive path tracking control
for a fixed-wing unmanned aerial vehicle. AIAA guidance, navigation, and control conference,
Chicago, IL, AIAA Paper 2009–5622
16. Gates DJ (2010) Nonlinear path following method. J Guidance Control Dyn 33(2):321–332
17. Morales J, Martinez JL, Martinez MA, Mandow A (2009) Pure-pursuit reactive path tracking
for nonholonomic mobile robots with a 2D laser scanner. EURASIP J Adv Signal Process
2009(3):1–10
18. Park S, Deyst J, How JP (2007) Performance and lyapunov stability of a nonlinear path-
following guidance method. J Guidance Control Dyn 30(6):1718–1728
19. Park S (2012) Autonomous aerobatics on commanded path. Aerosp Sci Technol 22(1):64–74
20. Cho N, Kim Y, Park S (2014) Three-dimensional nonlinear path-following guidance law based
on differential geometry. In: Proceedings of the 19th IFAC world congress (2014)
21. Cao Y, Muse J, Casbeer D, Kingston D (2013) Circumnavigation of an unknown target using
UAVs with range and range rate measurements. In: Proceedings of the 52nd IEEE conference
on decision and control (CDC)
22. Hashemi AR, Cao Y, Yin G, Casbeer D (2014) UAV circumnavigation using noisy range-based
measurements without GPS information. ASME J Dyn Syst Meas Control
23. Ren W, Beard R, Trajectory tracking for unmanned air vehicles with velocity and heading rate
constraints. IEEE Trans Control Syst Technol 12(5):706–716
24. La Salle JP (1976) Stability of nonautonomous systems. Nonlinear Anal. Theory Methods Appl
1(1):83–91
Mission Control Concept for Parcel Delivery
Operations Based on a Tiltwing Aircraft
System

M. Schütt, P. Hartmann, J. Holsten and D. Moormann

1 Introduction

The tiltwing aircraft configuration is a combination of two different concepts of


aircraft that allows stationary flight in a wide range of velocities from hover to fast
forward flight. Within a tiltwing configuration the advantages of rotary-wing and
fixed-wing configurations are combined to perform energy efficient high speed flight
and vertical take-off and landing (VTOL). For a research project, an aircraft in tiltwing
configuration (displayed in Fig. 1) was used within a parcel delivery application [6].
During operation, a remote location in a mountainous area had to be supplied with
time-sensitive goods in a frequent and fully automated way. This included all different
control levels during flight beyond the line of sight and interaction of the aircraft and
ground facilities.
In literature some solutions for different aspects of tiltwing control are available,
two approaches can be found in [9, 11]. Both show control concepts that subdivide
the flight envelope in discrete points and present manual flight only. Indoor transition
methods for a quad rotor-biplane without considering disturbances are described in
[7]. Piloted approach maneuvers requiring a runway were analyzed in [2]. In [10]
the L1 adaptive control architecture for the manually piloted NASA tiltwing GL-10
is presented. In previous articles the authors have developed a velocity controller [3,
12] to mask the complex flight mechanics and variations of the tiltwing configuration.
Higher level control to perform a transition from hover to cruise flight in form of
a straight lined maneuver is presented in [4]. For fully automated operations, e.g.
in severe weather conditions, several additional issues have to be solved. A higher
level mission control system is necessary to allocate tasks to different sub-controllers
during all flight phases.

M. Schütt (B) · P. Hartmann · J. Holsten · D. Moormann


Institute of Flight System Dynamics, RWTH Aachen University, Aachen, Germany
e-mail: schuett@fsd.rwth-aachen.de

© Springer International Publishing AG 2018 475


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_26
476 M. Schütt et al.

Fig. 1 Tiltwing aircraft during transition from Hover to Cruise flight

Within this paper a control concept for the entire mission operation, based on an
existing maneuver control concept [3, 4], is proposed. The control system for flight
guidance includes precision take-off and landing, hover as well as cruise flight. The
conversion between hover and cruise requires special attention to allow stationary
flight and avoid discontinuities. The design of the waypoint pattern and the integration
of different landing spots is discussed with regard to regulations and environmental
constraints. The fully automated flight is observed and commanded by an operator
in charge of safety procedures. Assessment of the entire design and the tiltwing’s
characteristics was performed by simulation and flight tests. The performance of the
mission control system has been proven during a 3-month trial operation in civil
airspace.
This paper is structured as follows: Sect. 2 presents the specific features of the
mission scenario and the aircraft system, including ground facilities. In Sect. 4 the
control system associated with the mission controller is described. The mission con-
trol system itself is presented in Sect. 4.3, before presenting the operator interaction to
control safe operation. In Sect. 5 the assessment and operation results are discussed.
At last, Sect. 6 gives concluding remarks.

2 Mission Scenario: Parcel Delivery Operation

The tiltwing aircraft is used within a parcel delivery scenario, where a remote loca-
tion in the Bavarian Alps had to be supplied with parcels on a regular basis. The trial
operation was conducted by ‘RWTH Aachen University’ and ‘DHL Parcel’. Time-
sensitive goods had to be transported from ‘Reit in Winkl’ to the ‘Winklmoosalm’.
Two parcel handling stations, called skyports, were used as landing spots. In the
following the characteristics of the mission and specific challenges in terms of reg-
ulations are presented.

2.1 Mission Overview

The route of the mission, connecting ‘Reit in Winkl’ and ‘Winklmoosalm’, is eight
kilometers long and has an altitude difference of 460 m. As the scenario is located in a
mountainous area (compare Fig. 2), the optimal route in terms of energy consumption
Mission Control Concept for Parcel Delivery Operations … 477

Distance = 8.3 km
Altitude difference = 460 m

Skyport
Winkelmoosalm
Altitude: 1149m

Skyport
Reit im Winkl
Altitude: 689m

Fig. 2 Overview of the Route from Reit im Winkl to Winklmoosalm

is generated as a combination of shortest distance and lowest altitude difference. The


route follows a mountainside and a highway, requiring special attention during design
of cruise flight control in terms of track error tolerance.
To accomplish the mission, the aircraft had to fly beyond line of sight of the oper-
ator, which leads to special restrictions, as described in the following section. Flight
beyond line of sight also requires high level of automation, to ensure safe operation.
This includes flight control but also the entire turnaround process, which is handled
completely automated by a manipulator inside the skyport. Most of the procedures
are predefined and do not need confirmation from the operator. Essential and safety-
relevant procedures, like time of take-off, are commanded manually supported by the
system. The interactions of operator and automated safety procedures are explained
in detail in Sect. 4.3.3.
The weather conditions in a mountainous area cause unknown wind conditions
at altitude even if the wind is known at ground level, requiring robust flight control.
Additionally there is a risk of icing, because of temperatures below zero degrees at
altitude. For good performance at start, precision landing and approach maneuvers,
the wind at the two skyports is measured in speed and direction.
As one of the skyports is located in an urban environment, buildings and streets are
in close distance. Take-off and landing are performed on a small platform mounted
on the skyport. For safety reasons, a certain area around the skyport was fenced
off. The ground track of the aircraft has to be controlled precisely during maneuver,
therefore track errors and overshoot had to be minimized.

2.2 Regulations

The design and testing of the controller had to consider the legal situation in Ger-
many. Unmanned flight beyond line of sight is generally not allowed. For this research
project an permission was granted, based on an airspace restriction. Therefore the
478 M. Schütt et al.

project had to undergo a safety review in cooperation with authorities and partners
involved. Different safety and environmental protection requirements were consid-
ered for designing the route.
The route was designed to keep the road intersections at a minimum and cross
roads perpendicularly. The flight level between departure and approach was set to
a minimum of 80 m above ground level for environmental protection reasons, the
maximum altitude above ground was reached during a valley transit at 420 m. The
flight path had to be predictable during the entire route, which influenced the design
of the waypoint pattern, presented in Sect. 4.3.1. The limits for maximum accepted
track deviation were set to 10 m. Thanks to the airspace restriction mainly interactions
with emergency service helicopters had to be dealt with, as these were expected to
cross the airspace frequently in the skiing-region. Therefore an ADS-B transponder
broadcasted the UAVs position during all flights. A detailed analysis of the permission
process and different regulations can be found in [6].

2.3 Skyport

The skyport acts as the landing spot and completes the turnaround process of the
aircraft, as shown in Fig. 3. On top of the skyport a platform of 3 × 3 m is installed
for take-off and landing of the tiltwing aircraft. While on the platform, the aircraft
can be protected from snow, ice and vandalism under a dome.
Each skyport is equipped with an manipulator to interact with the aircraft. The
manipulator is able to fasten the aircraft after touchdown and center it on top of
the skyport for unloading. The container, including the battery and payload, are
dismounted by the manipulator and stored inside the skyport. Inside the skyport

Fig. 3 Skyport and Tiltwing Aircraft during operation [8]


Mission Control Concept for Parcel Delivery Operations … 479

multiple slots store, charge and heat the batteries of different containers. Before
take-off the manipulator turns the aircraft to head into the wind for take-off.
The transition maneuver from cruise to hover and precision landing on the platform
require detailed information on the wind condition at the landing spot, as stated in
Sect. 4. Therefore a anemometer is installed on each skyport. Additionally one of
the skyports is equipped with a real-time-kinematic reference station, broadcasting
satellite navigation correction data to the aircraft.

3 Parcelcopter: Tiltwing Aircraft System

In the following the flight mechanics and systems of the tiltwing aircraft configuration
are presented. The aircraft system, consisting of the demonstrator aircraft, datalink
and ground control station, is designed to allow for long range flight beyond the line
of sight.

3.1 Flight Mechanics

The tiltwing configuration combines advantages of rotary-wing and fixed-wing con-


figurations. During cruise the wing is rotated to a fixed wing configuration producing
sufficient lift for level flight. In this configuration the thrust of the main propul-
sion system is used to overcome the drag of the aircraft. The tiltwing configuration
includes all control surfaces typical to an airplane. For hovering and VTOL the
tiltwing aircraft is able to rotate its wing around the lateral axis. As the main propul-
sion system is installed on the wing, the thrust is used to compensate the weight of
the aircraft. The ailerons are located in the slipstream of the propellers to gain yaw
control in hover. The elevator loses its effect without incident flow, which is why an
auxiliary device (e.g. a ducted fan) to control pitching moment for hover is needed.
During the transition from hover to cruise flight and vice versa a distinct assign-
ment of control surface effects and aircraft’s rotational axis is not possible. Because
of the changing aerodynamics at different flight states the actuators’ effectiveness
varies in direction and magnitude. Nevertheless the tiltwing aircraft can perform
stationary flight in the entire flight envelope from hover to cruise. By adjusting the
tilt angle and thrust to the current wind speed, precise vertical starting and landing
is possible even at high wind speeds with low pitch angles. Avoiding lateral wind
components, which would cause constant roll angles, a tiltwing heads into the wind
while hovering and during VTOL. A tiltwing aircraft features efficient and fast cruise
flight capabilities in contrast to multirotor systems. Therefore large cruise ranges are
achievable also at headwind conditions.
480 M. Schütt et al.

3.2 Aircraft

The DHL-Parcelcopter is a tiltwing configuration with a wingspan of 2 m. The electric


main propulsion system, including two counter rotating propellers with a diameter of
0.7 m, is installed in the wing. The aircraft can be seen hovering above the skyport in
Fig. 3 and during flight in Fig. 1. The entire aircraft structure is of composite, leading
to a MTOM of 14 kg, including a payload of 2 kg. The powertrain is designed to be
weatherproof and with a focus on low noise emissions, as well as efficiency. The
conversion by tilting the wing is performed by a spindle drive with limited actuator
dynamic. The elevator is located in a T-tail configuration to reduce wing downwash
influences. The ducted fan is included into the fuselage to reduce the drag during
cruise flight.
To interface with the skyport’s landing platform the aircraft is equipped with a
landing skid. Furthermore the lower mid part of the of the fuselage is detachable
and contains the batteries and the payload compartment. This fuselage part is called
container and is exchanged for every flight. It can be automatically detached and
recharged by the manipulator inside the skyport. The batteries have been optimized
for this mission in terms of range and maximum payload. In total the hover time
is kept as short as possible, due to an increase of power consumption in hover of
approximately two-thirds compared to cruise flight.
The aircraft’s flight control hardware is based on ARM Cortex-M4 microcon-
trollers. The control algorithm is designed in MATLAB/Simulink and automatically
translated to C-code. The navigation system consists of a MEMS-based IMU, a heated
pitot-static-system, a barometer, a magnetometer and precision real-time-kinematic
satellite navigation receiver. The aircraft’s heading can be estimated precisely thanks
to the dual-antenna operation of a Novatel OEM-617D-GNNS-receiver. The navi-
gation solution’s precision (relative to the reference station) is up to 1 cm in the
horizontal plane and 2 cm in the vertical axis.

3.3 Ground Control Station and Datalink

The datalink to the ground control station is established via both skyports and has a
redundant design. Based on two different data modems the system is able to ensure
the required high range in the mountainous area. The data modems are IMST LoRa
using 868 MHz and a Sierra Wireless mobile communication transceiver.
All telemetry and command data are processed by the Ground Control Station
(GCS). One of the skyports is directly connected to the GCS. Both skyports are con-
nected to each other and act as datalink repeater. Additionally a datalink repeater is
located half way between both skyports. This maintains a steady datalink to the air-
craft during the entire flight. Detailed explanation and analysis of the communication
structure is given in [13].
Mission Control Concept for Parcel Delivery Operations … 481

The wind data and navigation correction data are transferred to the aircraft via
datalink. The operator, located in the GCS, receives all flight data to observe the flight.
The GCS needs a constant connection to the aircraft, so the operator is always able
to intervene. During flight the operator could send different commands triggering
safety procedures or change the route of the aircraft. The operator is also able to
command the manipulators of the skyports after touchdown.

4 Mission Control System

The mission control system is designed to control the tiltwing during the entire
mission. Figure 4 illustrates the flight mission elements in a conceptual way.
The typical flight starts with a vertical take-off from a skyport. After take-off
the position controller holds the aircraft at the starting waypoint until the departure
maneuver is initiated. The waypoint controller guides the aircraft during cruise flight
until the approach maneuver is started. After reaching the target in hover state, the
vertical descend and landing procedure is performed. Different alternative landing
spots (ALS) are located along the route. Next to each skyport an ALS can be reached
in hover flight.
An overview of the control system is shown in Fig. 5, illustrating the cascaded
controller design approach: The innermost loop is the velocity controller, including
attitude control. The flight path control loop is designed for different flight states:
For take-off, landing and hover a position controller is controlling the aircraft’s flight
path. During cruise flight the flight path of the aircraft is controlled by a waypoint
controller. To accomplish fully automated flight, the controllers have to interact
and control authority has to be allocated by a mission control system, described in
Sect. 4.3.

‚gateway‘-
Approach-
WP
Maneuver
Waypoint ‚landing‘-
Cruise Flight WP

Departure-
WP-1
Maneuver Skyport

Maneuver
Heading
‚starting‘-
WP

ALS
Take-off
Precision- Hover
Landing
Take-off

Landing
Skyport
ALS

Fig. 4 Overview different flight mission elements


482 M. Schütt et al.

Flight Path Contoller


(Sec. 4.2)
(VTOL- and Hover-)
Position Controller Inner Flight Path Controller θc
ϕc
Mission . Velocity
uc uc
Controller (Approach- and Departure-)
ʃ Controller Plant
(Sec. 4.3) Maneuver Controller . . (Sec. 4.1)
(Ψc) Ψc Heading Ψc
ʃ
ΔΨc Controller
Hc Altitude wc
Waypoint Controller
Controller

Fig. 5 Overview of the control system (adapted from [4])

4.1 Velocity Controller

A convertible aircraft has to perform flight state transitions to make use of its entire
flight envelope regarding forward speed. The complex flight mechanics and varia-
tions in the different flight states pose a challenging problem in terms of analysis
and control. The performance of the velocity control concept, presented in [3], was
demonstrated, using different tiltwing aircraft and performing trimmed flight at any
airspeed within the flight envelope. The velocity controller allows for flight over
the whole flight envelope and unifies the significant variations of flight mechanical
characteristics. Thanks to this, the velocity controller is a well chosen inner control
loop with a homogeneous set of command variables in all flight states.
The velocity controller uses a horizontal, body-fixed coordinate system, control-
ling airspeeds in longitudinal u c and vertical direction wc , with the longitudinal
motion mostly controlled by tilt angle variations. The aircraft’s heading rate Ψ̇c is
controlled, because the absolute heading is irrelevant for the velocity controller, and
a turn coordinator controls a corresponding bank angle depending on the airspeed.
The attitude angles θc and φc complete the set of command variables.

4.2 Flight Path Controller

The flight path controller consists of two different parts: Sub-controllers, that are
activated by a mission controller, and a inner flight path controller, that is permanently
active. In the following the inner flight path controller is described first, including the
generation of the command variables heading and airspeed. Subsequently the three
sub-controllers are presented.
The heading controller computes the velocity controller’s command variable head-
ing rate Ψ̇c . The controller employs a PD feedback. The proportional and derivative
gains are gain-scheduled from hover to cruise, depending on airspeed. The heading’s
rate of change (Ψ˙c ), commanded by the three sub-controllers, is integrated, to prevent
discontinuities.
Mission Control Concept for Parcel Delivery Operations … 483

The altitude controller generates the command variable vertical speed wc for the
velocity controller. The altitude controller feedbacks the altitude deviation propor-
tionally and feedforwards the slope of the flightpath. Due to the aircraft’s flight
envelope, the vertical speed is limited depending on the forward airspeed. Most of
the missions’ altitude difference is climbed during waypoint flight, as vertical ascend
and descend is kept short for energy consumption reasons. The altitude controller
can be switched off for constant vertical speeds wc during start and landing.
The commanded airspeed u c is the most significant value for the velocity con-
troller, as it has major influence on flight mechanical variation. To initialize the
different sub-controller without discontinuities, an integrator is in charge to generate
a continues airspeed command value u c .
Position Controller The position controller is designed for hover of the tiltwing
aircraft. Following a classical approach, the controller is divided in a longitudinal
and a lateral part. Therefore the error in position and velocity between the aircraft
and the designated position is transformed from the earth fixed to the body fixed
coordinate system, see Fig. 6.
Both controller parts share the same structure and consist of a proportional/ deriva-
tive PD-part and an integral I-part, the control law is displayed in Fig. 6. Each PD-part
feedbacks the position and velocity error to the corresponding attitude angle, show-
ing fast response characteristics. While the PD-part features fast response for small
position deviations or wind gusts, the I-part is used to compensate the effect of con-
stant wind. As a consequence the aircraft ends up in a position presented in gray,
heading into the wind at an adapted airspeed. The I-parts are used to change the
inputs of the previously explained integrators for airspeed and heading.
Maneuver Controller The maneuver controller has to guide the aircraft’s transition
from hover to cruise flight and vice versa. Generally tiltwing aircrafts try to avoid
sideslip angles especially during transition for a symmetric incident flow at this phase
of significantly varying aerodynamics and flight mechanics. A classical approach

.
Δposlon uc uc
KI ʃ
xg
θc
KP
xb
posc Δvellon
Ψ KD

posaircraft .
Δposlat (Ψc) Ψc
KI ʃ

ϕc
KP

yg Δvellat
KD

Fig. 6 The coordinate system and control law of the position controller (adapted from [4])
484 M. Schütt et al.

Vwind Xb

ym

Track
WCA error

xm target

Vaero Vwind
Vwind Vaero Vaero Vwind Vaero Vwind Vaero Vwind
Vground Vground Vground Vground Vground =0

Fig. 7 The coordinate system and progress of the maneuver (adapted from [4])

including a turn flight to start decelerating while heading into the wind would end in
a hover state without any sideslip angles. The covered ground track due to the turn
is changing, depending on different wind conditions. The total area overflown for
turn flight approach is not suitable for the given scenario in an urban environment.
Instead, a straight lined maneuver was developed, which is described briefly in the
following. For more details of the design of the maneuver controller see [4].
This control approach is taking advantage of the tiltwing to adapt the wing angle
and works identically for all different wind conditions. The maneuver’s principle of
function is almost identical for departure and approach. Hence, only the approach is
described here. The controller uses a coordinate system that has its origin located at
the target and the x-axis pointing in direction of the departure track (compare Fig. 7).
Due to the limited fenced off area all deviations from track and overshoot at the
landing position should be kept at a minimum.
The process is displayed in Fig. 7 for a tail wind situation. The aircraft approaches
from left to right, flying on a linear track. It decelerates and turns the heading into
the wind in a coordinated way. When decelerating, the aircraft has to adapt the
wind correction angle to compensate the lateral wind component. As soon as the
wind correction angle reaches 90◦ , the aircraft has to start accelerating until reaching
a hover state with airspeed opposing the wind speed. The maneuver works in a
similar way for any other wind condition, which mainly determines the final hover
state, while the process of turning and accelerating stays the same. The maneuver
controller’s task can be divided into three parts. The first task is to decelerate the
aircraft as fast as possible, as Hover should be limited due to energy consumption
reasons. Therefore the heading’s rate of change (Ψ˙c ) and airspeeds rate of change u˙c
should be as large as possible, but always coordinated to stay on track. The second
part is to keep the aircraft on the straight lined track and to minimize the track error.
The control law is working in the same way as the position controller. The third part
is to reach hover at the designated position. Therefore, the current wind condition
has to be known and the length of the maneuver at any given wind condition has to
be pre-calculated. This allows starting the maneuver at just the right distance before
the target to reach hover at target.
The departure maneuver doesn’t need feedback, it is open loop and finished when
reaching the cruise airspeed.
Mission Control Concept for Parcel Delivery Operations … 485

Vground . xg
A WP2
Iturn yg

χ
WP3
WP1
TC

Fig. 8 Coordinate system of the paypoint controller and turn geometry

Waypoint Controller The waypoint controller uses a classic position line approach
to follow a designated path. A preceding filter calculates the course χ , current lateral
track error A and its derivative Ȧ. A turn geometry is calculated, dependent on max-
imum roll angle and cruise airspeed, see Fig. 8. The combination of three waypoints
(last, current and upcoming) defines the turn center T C and the starting and end
points of the turn.
During straight flight and turn flight the three corresponding values (χ , A and Ȧ)
are transferred to the controller. The controller manipulates the heading command
based on a PI-algorithm combined with a damping part. The control gains are higher
than usual for cruise flight. The controller causes strong responses on track errors,
which is driven by the terrain and surrounding infrastructure of the mission. The
track follows a mountainside next to a highway, to which the aircraft has to stay in
a sufficient distance. Therefore track errors and overshoot during turns are highly
undesired.
Each waypoint has several attributes and most of them are employed by the mission
controller, described in Sect. 4.3.1. Two of the attributes ‘altitude’ and ‘airspeed’ of
each waypoint are interpreted by the waypoint controller. The altitude is interpolated
linearly between last and upcoming waypoint by the waypoint controller to generate
a current altitude command. The airspeed attribute of the upcoming waypoint defines
the commanded airspeed by manipulating the integrator input of the inner flight path
controller. The waypoint controller is only allowed to change the airspeed in a small
range of cruise speeds.

4.3 Mission Controller

The mission controller is designed as a state machine, as shown in Fig. 9. The mission
controller is directing the entire flight and allocating the control authority.
The definition of the route in terms of waypoints and nodes is depicted first.
An overview on the standard procedures of an operational flight is presented and
additional safety features are described subsequently.
486 M. Schütt et al.

Checks
Position Controller
passed Take-off
Initialization Operator
Command
Procedure Fly to
Long-distance Starting-WP Departure
Starting-WP arrived finished
Manuever Waypoint
Controller Controller
Gateway
Landing Landing-WP Fly to arrived
Touchdown detected Procedure arrived Target

Operator overwrite

Safety Procedure

Fig. 9 State diagram of the mission controller

4.3.1 Mission Definition Data

Different information for waypoints, legs and departure or target nodes are stored in
attributes. These attributes are interpreted by the mission controller, generating the
route.
Waypoint Pattern Each waypoint is defined by an individual tag and position coordi-
nates, displayed in Table 1. Additional attributes are ‘airspeed’ and ‘altitude’ (above
mean sea level). Every node represents a possible take-off and landing spot. The
current route is thereby defined by selecting a departure-node and target-node. A set
of possible follow up waypoints are assigned to every waypoint. Depending on the
selected target-node, the waypoints are pointing to a follower. The target-node can
be changed during flight, causing a change of the following order of waypoints.
In Fig. 10 a one-way route is illustrated. Node A is selected for departure and
Node B as target, creating a route as each waypoint is pointing to another in ascending
order from WP 0 to WP 6. A target change to Node C affects WP 3, pointing at WP 7
instead of WP 4. This makes WP 3 a ‘decision’-waypoint, changing its following
WP as a result of target change. The waypoint controller calculates a turn starting
ahead of the waypoint, dependent on the maximum bank angle as shown in Fig. 8.
A change of target right before reaching WP 3 would cause large track deviations,
as the turn is initiated too late. Therefore every decision-waypoint is protected from
target change by another waypoint located in a short distance ahead. This waypoint
includes the attribute target ‘locked’, causing a change of target being not accepted
by the mission controller on the following leg. The distance of the this leg between
‘protection’- and ‘decision’-waypoint is dependent on the maximum bank angle,
ensuring a turn flight to any follower of the ‘decision’-waypoint. While flying the
leg from WP 2 to WP 3 a change of target from B to C doesn’t affect the route, as
the target is ‘locked’. After passing WP 3 all following waypoints keep the order
independent of the target, for both targets the follower of WP 4 is WP 5 for example.
A waypoint pointing at a landing waypoint is tagged as a ‘gateway’. Only on the leg
from gateway- to landing-WP (from WP 5 to WP 6), the maneuver can be started
Mission Control Concept for Parcel Delivery Operations … 487

Table 1 Attributes of waypoints


ID pos ‘Airspeed’ ‘Altitude’ ‘Gateway’ ‘Locked’ ‘Default’ Target ‘B’ Target ‘C’
WP 1 x,y 16 115 no no WP 2 WP 2 WP 2
WP 2 x,y 19 250 no yes WP 3 WP 3 WP 3
WP 3 x,y 19 250 no no WP 4 WP 4 WP 7
...
WP 5 x,y 16 180 yes yes WP 6 WP 6 WP 6

Node C

WP 7

WP 5
(Gateway) Target
‘C‘ locked
Node A Target Node B
locked ‘B‘
Maneuver
Maneuver
WP 0 WP 1 WP 2 WP 3 WP 4 WP 6
(Starting) (Decision) (Landing)

Fig. 10 Schematic overview of the waypoint pattern and the attributes of a waypoint

by the mission controller. After passing the gateway a change of target is no longer
possible.
For safety procedures (described in Sect. 4.3.3) each waypoint has additional
attributes like ‘default’ target. The properties of the waypoint pattern make every
possible route predefined and predictable. Even a change of target, turn around or
activation of safety procedure ends in a well-defined route. This way it is possible to
simulate all flight paths in advance. For regulatory reasons and due to close distance
to the mountainside this is a helpful feature of the waypoint pattern.
Node Definition Each node is working as a take-off and landing spot, therefore
its position coordinates and altitude are attributes. Skyports as well as ALS are
defined as nodes, the attributes can be found in Table 2. The approach and departure
from and to a node are performed via maneuvers. The attribute ‘maneuver heading’
of each node is pointing in the direction of the following leg (see Fig. 4). Each
node has an associated ‘starting’-waypoint in a certain altitude above ground. After
vertical take-off the departure maneuver is initiated from this ‘starting’-waypoint.
The departure maneuver is finished when reaching cruise flight on the first leg in
direction of the ‘maneuver heading’. At the target node, the deceleration maneuver
is initiated while flying onto the gateway leg. Dependent on the current wind condition
the mission controller activates the maneuver controller, to reach hover state at the
corresponding ‘starting’-waypoint above the target-node. The minimum gateway leg
length is defined by the maximum maneuver length.
Landing onto a skyport requires a high precision navigation solution, due to the
small landing platform. As the ALS are larger, no high-precision navigation solution
is necessary to land on it. Besides the maneuver definitions, a node is also character-
488 M. Schütt et al.

Table 2 Attributes of nodes ID Pos ‘Altitude’ ‘Maneuver ‘Starting’-


heading’ WP
Node A x,y 100 90 WP 1
Node B x,y 150 −75 WP 6
Node C x,y ...

ized by the need for high precision navigation solution. If necessary, the node points
to one of the ALS in close distance, this safety procedure is described in Sect. 4.3.3.
Mission Types Next to each skyport an ALS is located on the ground. A maneuver
is related to both nodes pointing in the direction of the mission’s route. During
daily operations the demonstrator aircraft had to be maintained and checked on a
regular basis. Therefore, next to the standard waypoint flight another mission type
was introduced for short distance flight. If short distance flight is selected, the mission
controller will guide the aircraft to target, conducting hover flight only.

4.3.2 Regular Modes of Operation

The state machine of the mission controller can be summarized as shown in Fig. 9.
For accomplishing the mission, the controller works in the following way:
Initialization A operational flight starts with a set of initialization processes before
take-off. The operator selects the current skyport as the starting node and the desired
as target node, this defines the upcoming route. Additionally the mission type is
selected to be ‘long distance’ or ‘short distance’ flight. Current wind data of the
anemometer of the starting skyport are broadcasted to the GCS. The operator com-
mands the manipulator to turn the aircraft to head into the wind and adjusts the initial
aerodynamic speed to compensate the headwind at the moment of take-off.
Take-off After this initiation process, the take-off procedure is started by entering the
next state of the mission controller. During the engine ramp up, the mission controller
imposes a certain downward-force on the velocity controller to prevent the aircraft
from lifting off. Just after the engines reach their final value this force is reset to zero
and a constant rate of climb is commanded to ensure a defined liftoff.
Position Control As long as the aircraft is close to the platform, high attitude angles
can be avoided by only damping the horizontal speeds and inhibiting the position
feedback. Additionally the commanded vertical speed is transferred directly to the
velocity controller; the altitude controller is not active in this phase. At a certain
altitude, the position controller is activated to ensure the aircraft reaches its end of
vertical climb directly above the platform. Short period disturbances like gusts are
compensated by roll and pitch angle, while constant wind change cause change in
heading or forward airspeed via the integrators.
Mission Control Concept for Parcel Delivery Operations … 489

Departure Maneuver After reaching the starting waypoint, the mission controller
activates the departure maneuver controller. The direction of the maneuver is taken
from the node attribute ‘maneuver heading’. As the maneuver works identically for
any given wind condition, the aircraft simply starts its procedure of accelerating and
turning. As soon as the airspeed reaches cruise speed, the maneuver control loop
resembles the control law of the waypoint controller for straight flight. That way the
pitch command is faded out, as there is no need for longitudinal position adjustments
at higher airspeeds. Additionally the maneuver controller alters the lateral command
variable from roll angle φc to heading’s rate of change (Ψ˙c ). Thanks to this gain
scheduling no discontinuities occur during switching.
Waypoint Flight After reaching cruise speed, the mission controller activates the
waypoint controller. During cruise flight a combination of waypoints define the
route. The mission controller identifies the upcoming waypoint and changes the
waypoints during the turn at the correct time. As the gateway waypoint already
includes a reduced ‘airspeed’ attribute, on the leg to the gateway waypoint the air-
speed is reduced and the target is locked. The maneuver controller has to schedule
the approach maneuver on the gateway leg, therefore the current wind condition at
target has to be updated.
Approach Maneuver After reaching the gateway waypoint, the waypoint controller
remains active. The maneuver controller is activated by the mission controller at a
certain distance to target, located on the gateway leg. The maneuver controller ini-
tializes the start of deceleration adjusted to the maneuver length for the current wind
condition. The aircraft starts decelerating and heading into the wind until the ground-
speed along the track to target is zero. At this moment the mission controller allocates
control authority to the position controller to compensate residual displacements or
overshoots. The position controller guides the aircraft to the landing waypoint.
Landing When reaching the landing waypoint at certain tolerance, the vertical land-
ing procedure is started. Thanks to the capability to adjust the wing angle and heading
to the current wind condition, the tiltwing is able to approach the platform even at high
wind speeds without need for high attitude angles. During vertical landing the mis-
sion controller commands a constant descend rate directly to the velocity controller.
After touchdown detection, the engines are shut down and the aircraft is prepared
for the turnaround process. Therefore the wing is tilted in a pre-defined position and
the aircraft is moved by the manipulator to the center of the platform for unloading.

4.3.3 Operational Procedures

Next to scheduling the operational procedure, another task of the mission controller is
to allow for operator and safety pilot overwrites. Additionally, the mission controller
performs automated checks and activates different safety procedures, if necessary.
Operator The operator is responsible and in charge of operation during the whole
flight. He uses the GCS to observe the flight and has the permanent authority to
490 M. Schütt et al.

interrupt. During default procedure the operator has to confirm the start procedure
before the engines are run up. During the run up of the engines the start can be
aborted. After take-off the operator has different possibilities to activate or confirm
safety procedures. An operator overwrite causes the mission controller to change the
state, according Fig. 9. During operational flights the operator never had to overwrite
the default procedure.
Automated Checks Before take-off a number of initialization processes and auto-
mated checks are performed to ensure safe flight. The navigation solution has to
provide a minimum precision. The position of the aircraft has to match the selected
starting node. The aircraft’s heading and measured indicated airspeed have to be
adjusted to the wind condition measured by the anemometer.
Before descending onto the skyport, the precision of the navigation solution is
checked. If the accuracy is not sufficient, the target is changed to the correspond-
ing ALS. The position controller stays active and guides the aircraft to the landing
waypoint.
During descend, the mission controller is able to estimate the wind speed. While
heading into the wind, the aircraft’s airspeed compensates the wind speed to obtain
zero groundspeed. The mission controller uses the commanded airspeed to estimates
the current wind speed by employing a model of empirical boundary layer data.
The estimated wind speed is used to adjust the commanded touchdown point, which
increased the precision of the landing. After touchdown detection the engines are
shut down automatically.
Safety Procedures The safety procedures include several operations, which need
confirmation of the operator. The aircraft is always able to return to the starting point
by target change of the operator. Additionally the operator can guide the aircraft
to a number of predefined ALS along the route. These ALS also constitute nodes,
including maneuver heading. This way a target change to an ALS also simply changes
the order of waypoints, leading to the new target.

5 Assessment

The mission control system was designed and tested in a simulation environment.
During flight tests the simulation was validated and controller performance could
be analyzed. The trial operation proved the suitability for practical use of the entire
system.

5.1 Simulation

The simulation consists of a closed loop model of the velocity controller and the air-
craft, which is the controlled system. In combination with this model, the different
Mission Control Concept for Parcel Delivery Operations … 491

Velocity Controller and Aircraft


Mission
Flight Path Contoller
Controller
I. Response II. Flight III. Rigid
Characteristics Dynamics Body Motion

Wind

Fig. 11 Overview of the simulation environment

high level controllers could be designed and tested. There was no demand for model-
ing the flight mechanical variations as they are mainly compensated by the velocity
controller. Especially the complex allocation of the control surfaces and forces and
moments in the different flight states did not have to be considered.
Simulation Structure Like the controller, also the simulation is implemented in
MATLAB/Simulink. The model of the controlled system can be divided into three
parts, displayed in Fig. 11. The first part describes the different response character-
istics of the commanded variables. These characteristics were identified from closed
loop flight data as first-order low pass filters with time delays.
The second part addresses the flight dynamics of the closed loop system. The
coefficients and derivatives were again identified from previous flight data. The iden-
tification was performed at two different airspeeds, 4 and 16 m/s, covering hover and
cruise flight characteristics. Thanks to the velocity controller, changes concerning
response characteristics between these flight states were remarkable small. In the
third part the equations of motion are calculated by a simple kinematic model. Addi-
tionally wind is added to the airspeeds to gain velocities in the inertial coordinate
system. Therefore high-resolution wind including gustiness was implemented. Wind
speed and gustiness can be scaled and rotated as needed. Additionally a boundary
layer model was implemented, reducing the wind speed depending on the aircraft’s
altitude and the roughness of the surface.
Results The velocity controller is able to mask the complexity of the tiltwing aircraft.
Because of this feature, the system consisting of aircraft and velocity controller is well
accessible to extensive but reasonable simplification. The aircraft’s complex flight
mechanics could be described in a rather simple simulation. All mission controller
parts could be implemented to the simulation. This helped for comprehensive test
of the mission control system at different wind conditions. Especially all safety
procedures, which may be unsafe to test in flight, could be examined in detail.

5.2 Flight Tests

To validate the simulation environment and test selected aspects of the control system,
flight tests were performed near Aachen. For different wind conditions the effect on
492 M. Schütt et al.

the aircraft was compared to the simulation results. Also the effect on the maneuver
performance could be observed in the simulation very similar to flight tests. In total
the closed loop system characteristics are covered by the simulation in all different
flight states, which made the simulation an important tool for the design of the
controller.
As the higher modes of operation of the mission controller could be tested and
validated in the simulation environment, the focus during flight tests was on the
analysis of specific controller parts. In particular the precision landing was tested
extensively in real flight. Influences of ground effect and boundary layer effects, had
significant impact on the performance.

5.3 Parcel Delivery Operation

During the entire operation in the Bavarian Alps all flights were successfully per-
formed in full automation. No operator intervention was necessary and no safety
procedure was triggered. The overall unmanned aircraft system worked as expected
even under rough weather conditions. Wind speed during take-off and landing at
the ground level was 7 m/s at the maximum. Wind speed at flight level was only
estimated from measured groundspeed and wind correction angle. The maximum
wind speed observed during flights was 13 m/s at a wind correction angle of 31◦ and
a groundspeed of 25.4 m/s.
The flight time of the operational flights differ in more than 140 s (355 up to 500 s),
which indicates the influence of the wind on the flight duration. As the aircraft is
controlled to fly at a constant airspeed, the groundspeed during cruise varies between
14 and 29 m/s. The vertical and horizontal track-error during cruise flight stay within
the required limits of 10 m. The precision landing mechanism was validated by more
than 130 landings. In [1] these precision landings were analyzed in reference to
the wind condition. An evaluation of the maneuver controller and its performance
can be found in [4]. In general all flights well matched previous simulations, as no
unexpected effects could be observed.

6 Conclusion

In this paper a mission control system for fully automated tiltwing operation was
presented. The DHL-Parcelcopter delivery operation included vertical take-off and
landing and a straight lined maneuver for conversion from cruise flight and vice versa.
The overall mission controller design was driven by constraints, such as precision
landing on a small platform and flight beyond line of sight.
A design approach, including test flight in line of sight, was combined with a
dedicated simulation environment. Controllers for different flight phases and their
interaction were presented. The higher level controllers are based on a velocity con-
Mission Control Concept for Parcel Delivery Operations … 493

troller, utilizing the complex flight mechanics of the tiltwing aircraft. The flight
path controller consists of three sub-controllers, each operating during a different
flight phase. A special focus was set on the mission controller, directing the different
controllers during the flight phases. The attributes and procedures of the mission
controller were presented in combination with external facilities to ensure safe oper-
ations. The mission definition data for standard operations and safety procedures
were discussed.
The designed controller allowed automated flight beyond line of sight of the
tiltwing aircraft during a 3-month trial operation in the Bavarian Alps. The func-
tionality of the aircraft system was evaluated in a number of different test flights.
The robustness and reliability of the mission control system was proven during the
flight campaign. All deviations and overshoots stayed within the required limits. The
different challenges due to high level of automation and flight in civil airspace were
well managed by the control system.

References

1. Dobrev Y, Hartmann P, Schütt M, Moormann D (2016) Entwurf und Validierung eines


Präzisionslandesystems für unbemannte Tiltwing-Fluggeräte. Deutscher Luft- und Raum-
fahrtkongress, Braunschweig, Germany
2. Frost CP, Franklin JA, Hardy GH (2002) Evaluation of flying qualities and guidance displays
for an advanced Tilt-Wing STOL transport aircraft in final approach and landing. In: Biennial
international powered lift conference, Williamsburg, US-VA. https://doi.org/10.2514/6.2002-
6016
3. Hartmann P, Meyer C, Moormann D (2016) Unified approach for velocity control and flight
state transition of unmanned Tiltwing aircraft. In: AIAA guidance, navigation, and control
conference, San Diego, US-CA. https://doi.org/10.2514/6.2016-2101
4. Hartmann P, Schütt M, Moormann D (2017) Control of departure and approach maneuvers
of Tiltwing VTOL aircraft. In: AIAA guidance, navigation, and control conference. US-TX
(accepted for publication), Gaylord. https://doi.org/10.2514/6.2017-1914
5. Holsten J, Ostermann T, Moormann D (2011) Design and wind tunnel tests of a tiltwing UAV.
CEAS Aeronaut J 2:69–79. https://doi.org/10.1007/s13272-011-0026-4
6. Holsten J, Hartmann P, Schütt M, Moormann D (2016) DHL Paketkopter 3.0 Automatische
unbemannte Flüge ausserhalb der Sichtweite zwischen zwei Packstationen mit einem Tiltwing-
Fluggerät, Deutscher Luft- und Raumfahrtkongress, Braunschweig, Germany
7. Hrishikeshavan V, Bawek D, Rand O, Chopra I (2013) Development of transition control
methodology for a quad rotor-biplane micro air vehicle from hover to forward flight. In: AHS
international specialists’ meeting on unmanned rotorcraft, Scottsdale, US-AZ
8. DHL-Parcelcopter. http://www.dpdhl.com/en/mediarelations/specials/parcelcopter.html. 20
Oct 2016
9. Ostermann T, Holsten J, Dobrev Y, Moormann D (2012) Control concept of a Tiltwing UAV
during low speed manoeuvring. In: Proceeding of the 28th international congress of the aero-
nautical sciences. Brisbane, Australia
10. Rothhaar PM et al (2014) NASA langley distributed propulsion VTOL Tilt-Wing aircraft
testing, modeling, simulation, control, and flight test development. In: 14th AIAA aviation
technology. integration, and operations conference, Atlanta, US-GA. https://doi.org/10.2514/
6.2014-2999
494 M. Schütt et al.

11. Sato M, Muraoka K (2014) Flight controller design and demonstration of quad-Tilt-Wing
unmanned aerial vehicle. J Guidance Control Dyn 38(6):1071–1082. https://doi.org/10.2514/
1.G000263
12. Schütt M, Hartmann P, Moormann D (2014) Fullscale Windtunnel investigation of actuator
effectiveness during stationary flight within the entire flight envelope of a Tiltwing MAV. In:
Proceedings of international micro air vehicle conference. Toulouse, France, pp 77–83
13. Voget N, Binz F, Dobrev Y, Moormann D (2016) DHL Paketkopter 3.0 Auslegung und Imple-
mentierung eines Zuverlässigen Kommunikationsnetzes für den Sicheren Betrieb Unbemannter
Fluggeräte ausserhalb der Sichtweite, Deutscher Luft- und Raumfahrtkongress, Braunschweig,
Germany
Part IV
Space Applications
Attainable Landing Area Computation
of a Lunar Lander with Uncertainty
by Reachability Analysis

Yunus Emre Arslantas and Stephan Theil

1 Introduction

In recent years, advances of the proven technological heritage and new sophisticated
tools led to more challenging space missions. Along with the government initiatives,
private companies also increase their efforts for space exploration and exploitation.
As a result of these contributions, concepts like reusable launch vehicles, asteroid
mining and establishing bases on extraterrestrial space bodies are getting closer to
reality. State of the art guidance and control algorithms are required for the success
of these missions. In particular, the determination of hazards, the implementation of
landing maneuvers and maximizing the likelihood of a safe landing is of paramount
importance.
From the safety point of view it is important to ensure that the target landing area
is suitable for landing due to surface properties and that is also within the reach of
the lander. At this point two sets of information are important:

• Hazard Maps: obtained by optical sensors and contain information about the
craters, the roughness of the landing surface and the slope of the terrain.
• Attainable Map: related to the physical limits of the lander like available on-
board propellant, state constraints (final attitude and velocity for safe landing) and
control constraints (avoiding saturation of controllers).

This paper proposes an algorithm to obtain the attainable map of a lunar lander
for a generic lunar mission scenario using reachability analysis. Reachability deals

Y.E. Arslantas (B)


Department of Mathematics and Computer Science, University of Bremen,
28359 Bremen, Germany
e-mail: yunusemr@uni-bremen.de
S. Theil
DLR Institute of Space Systems, Robert-Hooke Str. 7, 28359 Bremen, Germany
e-mail: Stephan.Theil@dlr.de

© Springer International Publishing AG 2018 497


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_27
498 Y.E. Arslantas and S.Theil

Fig. 1 Attainable landing


area for a lunar lander

with the problem of whether from a given point, a system will eventually be able to
reach another given point as illustrated in Fig. 1. Reachability analysis could either
be used for verification or determination of the safety of a system (like computation
of the safe landing envelope of an aircraft [1], the landing corridor of a reusable
launch vehicle or reentry problems [2–4]. The reachability problem is handled by
set-valued methods [5], level-set methods [6] or OCP based methods [7].
In order to obtain the reachable set (RS) of the lunar landing problem, the candidate
landing area is characterized by discrete equidistant landing points. For each point a
distance function, which acts as the objective function of an associated optimal con-
trol problem (OCP), is defined. These infinite dimensional OCPs are transcribed into
a Nonlinear Programming (NLP) problem using Pseudo-Spectral methods (PSM).
PSM uses a linear combination of Legendre polynomials to obtain discretization
points or nodes. This methodology could be classified into different groups according
to the used discretization points, namely Legendre-Gauss, Legendre-Gauss-Radau or
Legendre-Gauss-Lobatto [8]. In these approaches, the continuous functions are col-
located using the corresponding nodes, leading to a sparse structure of the Jacobian.
Finally the NLP is solved with commercial off-the-shelf solvers to obtain the state
information at the landing points. The union of the points approximate the reachable
landing area with an error, due to the discretization of the domain.
In order to verify the effect of uncertainties, which could be encountered during
the mission phase, Monte Carlo simulations are performed. The main source of
uncertainties are the initial state or system parameters. Later on, the probabilistic
attainable maps are obtained by counting the number of successful landings on the
candidate points. The rest of the paper is organized as follows:
Section 2 defines basic terms associated with reachability analysis. Section 3
describes the dynamical model of the lunar lander including the mission scenario
and the associated constraints. Section 4 presents an optimization based methodology
for the computation of reachable sets, the discretization of the infinite dimensional
OCP and the design of the controller. Monte Carlo simulations with uncertainties
and probabilistic attainable maps are discussed in Sect. 5. Finally Sect. 6 concludes
the paper with a short summary.
Attainable Landing Area Computation of a Lunar Lander … 499

2 Reachability

Consider a dynamical system with:

ẋ(t) = f ( x(t), u(t), t) , t ∈ I = [t0 , t f ],


(1)
x(t0 ) = x0 ∈ X,

where X ⊂ Rn denotes the state space and U ⊂ Rm the input space. x0 = x(t0 )
is the state at initial time t0 while x f = x(t f ) denotes the final state. The control
input is contained in the space of admissible control signals, that is u(t) ∈ U =
L∞ ([t0 , t f ], U ). For each point in time, the solution or state trajectory x(·) : R+ → X
of (1) is an element of the state space x(·) ∈ X .
Definition 1 Given x0 and the set of all admissible U , the reachable set of (1) at
time t f is defined as

Rt f (x0 ) = {x f ∈ X |∃u ∈ U ∧ ∃x(·) ∈ X s.t. (1) holds ∧ x f = x(t f )}. (2)

In other words, a reachable set includes the set of add final states of a given
dynamical system for a final time and given constraints.
In order to determine an approximated RS, the two dimensional subset of the state
space G s is discretized by equidistant grid points gs as illustrated in Fig. 2.
The OCP defined by (3) is solved to find control inputs that steer the system from
the initial state to a sufficiently small neighborhood of a corresponding grid point gs .
If an optimal solution is found, the point is said to be reachable. Otherwise, if the
solution cannot be found, the candidate point is excluded from the set. Instead, final
states of the associated problem are included in the set. In other words, the solution
which minimizes the distance between the candidate landing point on crossrange-

Fig. 2 Discretization of the


landing area with uniform
grid points
500 Y.E. Arslantas and S.Theil

downrange plane and final states obtained from the solution of NLP are taken into
account. The set which encloses all these final points constitutes the approximated
RS. The OCP is formulated as
1
min x(t f ) − gs 22
u∈U 2
(3)
ẋ = f (x(t), u(t)), a.e. in [t0 , t f ]
x0 ∈ X 0 ⊆ Rn

with inequality constraints


x L ≤ x(t) ≤ xU
(4)
u L ≤ u(t) ≤ u U

where ẋ = f (x(t), u(t)) is the equality constraint to be satisfied. For a given x0 ,


let u  (·; gs ) be the solution of (3), and x  (·; gs ) is the corresponding solution of the
underlying system dynamics. Hence the approximation of the reachable set is defined
as

Rt f s (x0 ) = {x  (t f ; gs )}. (5)
gs ∈G s

where t f ∈ I. State information at final time t f are used to obtain an approximation


of the RS.

3 Dynamical Model and Mission Scenario

The equations of motion of the lunar lander are taken from [9]. However, instead of
a non-throttable main engine, the thrust level is modulated. Moreover, orthogonal
thrusters are discarded in the model. Only one main engine provides thrust during
the final phase of the landing, leading to following equations of motion
⎛ ⎞
⎛ ⎞
r
(−T1 c(d̃) + T2 s(d̃)) + 2ḋ( rċ t(c̃) − ḣh̃ )
d̈ ⎜ m h̃c(c̃) ⎟
⎜ ⎟
⎝ḧ ⎠ = ⎜ 1 [(−T1 s(d̃) − T2 c(d̃))c(c̃) − T3 s(c̃)] + [(ḋc(c̃))2 + ċ2 ] (h̃)2 − MG ⎟
⎜m r (h̃)2 ⎟
c̈ ⎝ 2

r
m(h̃)
[(T1 s(d̃) + T2 c(d̃))s(c̃) − T3 c(c̃)] − ḋr s(c̃)c(c̃) − 2h̃ċḣ
(6)
where d is the downrange, c is the crossrange, h is the altitude and m is the mass of
the lander. In addition the following abbreviations are used in (6)
Attainable Landing Area Computation of a Lunar Lander … 501

d d
h̃ = h + r, s(d̃) = sin , c(d̃) = cos
r r
c c c
s(c̃) = sin , c(c̃) = cos , t(c̃) = tan .
r r r
The transformed thrust vector is given by
⎛ ⎞ ⎛ ⎞
T1 cos(β − dr )T cosχ
⎝T2 ⎠ = ⎜ ⎟
⎝ sin(β − d )T cosχ ⎠ (7)
r
T3 −T sin χ

where T is the modulated thrust value. The thrust vector is defined in non-dimensional
form. The first derivatives of the pitch angle β and yaw angle χ are also added to the
system of differential equations, where ωβ and ωχ are the commanded angular rate

β̇ = ωβ , χ̇ = ωχ . (8)

The thrust dependent fuel consumption, depending on σSFC , is defined as

ṁ = −|T | · σSFC (9)

All states of the dynamical system defined by (6), (8), (9) are represented in the
following state vector

x = (ḋ, ḣ, ċ, d, h, c, β, χ , m)T (10)

while the control vector is represented by

u = (T, ωβ , ωχ )T . (11)

3.1 Mission Scenario

The reachable sets for the lunar lander are obtained for the terminal landing phase
of the mission. The spacecraft starts a landing maneuver from an altitude of 96 km
and moves on an elliptical descent orbit with an altitude of 15 km. Powered descent
starts at this altitude. The main thruster reduces the velocity of the spacecraft until an
altitude of 2 km is achieved. At the approach phase, an attitude adjustment maneuver
is performed between 2 km and 300 m. The final phase of the landing maneuver is
supposed to start at an altitude of 300 m as shown in Fig. 3.
The initial conditions are defined by the state of the dynamical system at an altitude
of h 0 = 300 m using the optimal trajectory in [9]. The mission requires the following
initial and terminal conditions
502 Y.E. Arslantas and S.Theil

Fig. 3 Mission scenario for the powered descent and landing

x0 = (ḋ0 , ḣ 0 , ċ0 , free, h 0 , free, β0 , χ0 , m 0 )T (12)


π
x f = (0 , 0 , 0 , free, 0 , free, − , free, m f )T . (13)
2
Additional constraints results from final landing condition. A landing is considered
successful if the condition |Δx(t f )| ≤ Δxmax holds with

Δxmax = (1m/s, 1m/s, 1 m/s, d f , 1m, c f , 10◦ , 180◦ , f r ee). (14)

The initial conditions, final conditions and constraints are summarized in Table 1,
where xu and xl denote upper and lower bounds on states respectively for the whole
time interval. Similarly u 0 and u f represents initial and final control inputs, u u and u l
are associated upper and lower bounds on the control inputs which are summarized
in the Table 2.
In this setup, the mass of the lander is the sum of the propellant mass and the
mass of the structure. The allowed minimum mass of the vehicle is defined as hard
constraint during trajectory optimization.
Attainable Landing Area Computation of a Lunar Lander … 503

Table 1 State constraints x0 xf xl xu


used for the solution of OCP
in (3) ḋ(m/s) 5 0 Free Free
ḣ(m/s) –19 0 Free Free
ċ(m/s) 0 0 Free Free
d(m) 0 Free Free Free
h(m) 300 0 0 Free
c(m) 0 Free Free Free
β(◦ ) –86 –90 –90 90
χ(◦ ) 0 Free 0 180
m 0.5397 ≤ 0.5 0.5 0.5397

Table 2 Constraints on the u0 uf ul uu


control inputs for the solution
of OCP in (3) T 0 Free 0 1.222
ωβ (◦ /s) 0 Free –2 2
ωχ (◦ /s) 0 Free –2 2

4 Optimal Control Problem

In this study the infinite dimensional OCP in (3) is converted into a corresponding
finite dimensional NLP which is solved via a direct method. The basic principle is
to collocate the differential equations, the cost functional and related constraints at
a finite number of collocation points. After the continuous OCP is transcribed into
a finite dimensional NLP, and the resulting set of nonlinear algebraic constraints are
solved numerically.
The collocation points are obtained using linear combination of the roots of Legen-
dre Polynomials or their derivatives. The Gauss Pseudospectral Method (GPM),
Lobatto Pseudospectral Method (LPM) and Radau Pseudospectral Method (RPM)
with its flipped version (f-RPM) are the well known Pseudospectral methods for
discretization of continuous problem with respect to the time domain [10–12].
Pseudospectral methods are advantageous due to:

• their straightforward implementation leading to a sparse NLP structure after dis-


cretization of the OCP;
• the avoidance of the Runge phenomenon [13];
• exponential convergence behavior for smooth problems [8];

In this study, a flipped variation (f-RPM) of the RPM is used to transcribe the OCP
in (3). The roots of the linear combination of Legendre polynomials are obtained by
RPM and flipped in the domain [–1, 1]. SPARTAN (SHEFEX-3 Pseudospectral
Algorithm for Reentry Trajectory Analysis) is used for the discretization of the
problem [14, 15].
504 Y.E. Arslantas and S.Theil

Fig. 4 Hybridization and representation of the different contributors of the jacobian J for the
NLP

SPARTAN obtains the NLP by hybridization of the jacobian J by evaluating the


different contributors as illustrated in Fig. 4. The methodology is described in [16],
and tested for the computation of the reachable sets in [17, 18].
After solving the NLP of the associated OCP in (3), state information and control
inputs for each grid point gs ∈ G s are obtained. In addition to the exit flag of the
solver, the result is also validated by propagating the control inputs by Runge-Kutta
integration schemes and comparing it with the state information obtained within
the same solution of the OCP. After the computations, the RS of the lunar lander
is obtained including trajectories and control inputs for each of the related landing
points with a final time t f = 40 s.

4.1 Feedback Controller

The trajectory control of the lunar lander consist of a combination of feedforward


and feedback controls as illustrated in Fig. 5.
For the purpose of the design of the feedback controller the dynamics of the lunar
lander are represented by the nonlinear state space model as shown in (1). Assuming
that the aforementioned state space representation is analytic and that a real landing
trajectory is close to the optimal trajectory x(t) = x̂(t) + δx(t), the linearization of
(1) along x̂(t) and û(t) yields
Attainable Landing Area Computation of a Lunar Lander … 505

Fig. 5 Block diagram of the closed loop system

˙
δx(t) = A(t)δx(t) + B(t)δu(t) (15)

∂f

∂f
with A(t) = ∂x x̂,û
∈ Rn×n and B(t) = ∂u x̂,û
∈ Rn×m , t ∈ [t0 , t f ] and correspond-
ing initial conditions. Considering a time variant control law for the linear time
variant dynamical system leads to

δu(t) = −K(t)δx(t)
(16)
u(t) = û(t) − K(t)δx(t), t ∈ [t0 , t f ]

The changes in the dynamics of the lunar lander during a landing maneuver along
a reference trajectory are supposed to be slow compared to the sampling rate of the
discretized version of the OCP in (3). For this reason the gain matrix of the feedback
controller K(t) is calculated only at each point ti , i ∈ I with I = 1, ..., l of the control
discretization by minimization of the cost function



J (δx, δu) = δx(τ )T Q(ti )δx(τ ) + δu(τ )T R(ti )δu(τ )dτ (17)
0

for all i ∈ I. Assuming the stabilizability of the underlying system, and positive semi-
definite Q(ti ) and R(ti ) for all i ∈ I, the feedback matrix that solves the OCP is given
as a function

K(ti ) = R(ti )−1 B(ti )T S(ti ), i ∈ I (18)

of the unique stabilizing solution S(ti ) of the algebraic Riccati equation

A(ti )T S(ti ) + S(ti )A(ti ) − S(ti )B(ti )R(ti )−1 B(ti )T S(ti ) + Q(ti ) = 0, i ∈ I,
(19)

such that the eigenvalues of A(ti )B(ti )K(ti ), i ∈ I are negative. A linear interpolation
has been applied to the K(ti ), i ∈ I to obtain a time-continuous control law.
The main goal for the feedback control is to achieve the final landing point by
following the reference trajectory while attenuating external disturbance or uncer-
506 Y.E. Arslantas and S.Theil

Fig. 6 Simulation of the closed loop system for the tracking reference trajectories

Fig. 7 State error between the reference trajectory and the simulated results

tainties for the initial state. The weighting matrices Q and R are kept constant during
the simulations for each reference trajectory.
Figure 6 shows the simulation of the closed loop system with initial disturbance.
Similarly, Fig. 7 shows the discrepancy between the reference trajectory and the
simulated states of the closed loop system. It can be seen from the plots that the
Attainable Landing Area Computation of a Lunar Lander … 507

Table 3 Uncertainties, results for the Monte Carlo simulations and properties of the maximum
area ellipses inside the 100% successful landing region
Range Area ratio Ellipse ratio Center (m) Orientation Semi-major
(◦ ) Semi-minor
Axis (m)
Δḋ (m/s) [–2 2] 52.75 43.65 [100 0] 10 [1250 1100]
Δḣ (m/s) [–2 2] 50.95 41.59 [50 0] 0 [1200 1100]
Δċ (m/s) [–2 2] 53.22 43.86 [50 0] 0 [1200 1150]
Δd (m) [–30 30] 52.02 43.89 [100 0] 10 [1250 1100]
Δh (m) [–30 30] 55.49 45.56 [100 0] 0 [1250 1150]
Δc (m) [–30 30] 53.09 43.76 [50 0] 0 [1200 1150]
Δβ (◦ ) [–2 2] 90.96 64.29 [–100 0] 20 [1500 1350]
Δχ (◦ ) [–2 2] 89.30 61.34 [0 100] 40 [1600 1200]
Δm 5% 46.09 41.92 [100 0] 0 [1050 1050]
ΔσSFC 3% 46.92 41.93 [100 0] 0 [1200 1100]
Total (#1) 29.18 34.81 [0 0] 0 [1000 950]
Total (#2) 26.25 31.66 [100 –50] 0 [950 900]

controller is able to track the given reference trajectory by attenuating the initial
state error.
Monte Carlo simulations are carried out to obtain the successful attainable landing
area. The uncertainties for the initial state and the specific fuel consumption are
included as error sources during the simulations. Table 3 shows the range of the error
for each state and specific fuel consumption. The uncertainties for the initial state are
obtained from [19] by imposing the values with the same proportion. The uncertainty
for the specific fuel consumption of the main engine σSFC is around 2% [20], but in
this paper taken as 3% with a conservative assumption. The cost of attenuating the
disturbance and uncertainty is the amount of extra propellant consumed by the main
engine. After the Monte Carlo simulations, the results that satisfy the safe landing
conditions are filtered leading to nonconvex successful landing regions. The success
rate for each corresponding point inside the nonconvex set is evaluated by counting
the number of simulations that achieves a successful landing with respect to total
number of simulations. The final result is called the successful attainable landing
area (SALA) of the lunar lander.
The borderlines that define the nonconvex hull of the successful landing area are
obtained using alpha shapes. Finally, an ellipse with the maximum area is fitted inside
the nonconvex set to evaluate the ratios of the reachable area, the successful landing
area and the area of the ellipse. The parameters of the ellipse are discretized, and the
maximum area is computed by a brute force method. Figure 8 shows the comparison
of the reachable landing area without the controller, with the controller and ellipse
that fits inside the nonconvex successful landing area.
508 Y.E. Arslantas and S.Theil

Fig. 8 Representation of the


reachable landing area,
nonconvex 100% successful
landing region and
maximum area ellipse

Table 3 summarizes the range of uncertainties and the results obtained from the
Monte Carlo simulations. Two scenarios which include respectively 3 and 5% uncer-
tainty in the specific fuel consumption together with the initial state errors are denoted
as Total (#1) and Total (#2). Area ratio denotes the ratio of the area for the reachable
set and the nonconvex region. Similarly, the ellipse ratio shows the proportion of the
areas for the reachable set and the ellipse.
Table 3 also shows the center, semi-major and semi-minor axis as well as the
orientation of the ellipse that fits inside the nonconvex attainable area.
The change of the successful landing area is most sensitive to the mass of the
spacecraft or the amount of propellant considering the area ratios. As the uncertainty
increases for the initial mass, the points along the boundary of the reachable set is
not attainable by the lander during Monte Carlo simulations. Although the tracking
controller tracks the reference trajectory, the successful landing condition is not sat-
isfied in some cases. Specific fuel consumption is yet another important parameter
affecting the area of the success region. For the cases, where the main engine con-
sumes more propellant per unit thrust, the available propellant is not enough to steer
the vehicle to the desired landing point.
On the other hand, the ellipse is not orientated w.r.t. the coordinate axis and the
center of the ellipse lies close to the origin in downrange and crossrange coordinates,
where the landing maneuver starts.
For the cases Total (#1) and Total (#2), all uncertainties are included in the simu-
lations. For each single landing point inside the reachable set, 500 Monte Carlo sim-
ulations are performed. The results show that the successful landing area is 26.25%
of the reachable landing area, which is the maximum landing region that can be
achieved by the lander. The extra propellant consumed for correcting maneuvers
result in a substantial decrease of the successful landing area.
Attainable Landing Area Computation of a Lunar Lander … 509

5 Probabilistic Attainable Maps

Probabilistic attainable areas are obtained for each uncertainty source as illustrated
with Figs. 9a and 13b. The successful landing area for all uncertainties together are
represented with Fig. 14a, b. For each specific case, 500 Monte Carlo simulations are
performed using a fixed structure of the feedback controller with the same gains.
As the initial error for the velocity along downrange is introduced, the successful
landing region becomes smaller along crossrange, leading to a slender successful
landing region as illustrated in Fig. 9a. Similarly, the initial error for the velocity along
crossrange results in a smaller successful landing area, with unattainable regions close
to the maximum and minimum crossrange of the reachable set in Fig. 10a. The initial
error for the rate of altitude has a symmetric behavior in crossrange and downrange
coordinates as shown in Fig. 9b. Although initial position error decreases the success
rate of the landing, similar attainable landing maps are obtained in Figs. 10b and 11b.
The results for the position error is also verified from the properties of the ellipses
inside the nonconvex 100% successful landing region in Table 3.
On the other hand, the initial error for the attitude of the spacecraft in β and χ
is not very critical in Fig. 12a, b. The success rate of landing decreases slightly for
some points on the boundary of the reachable set. However, similar to the discussion
for the properties of the ellipses, the mass and the specific fuel consumption of the
vehicle is decreasing the success rate of landing considerably in Fig. 13a, b. Finally,
for the cases in Total (#1) and Total (#2), the success rate of the landing decreases
substantially with a symmetrical behaviour as illustrated in Fig. 14a, b.

Fig. 9 SALA with initial error in downrange velocity ḋ and altitude rate ḣ
510 Y.E. Arslantas and S.Theil

Fig. 10 SALA with initial error in crossrange velocity ċ and downrange d

Fig. 11 SALA with initial error in altitude h and crossrange c

Fig. 12 SALA with initial error in pitch β and yaw χ


Attainable Landing Area Computation of a Lunar Lander … 511

Fig. 13 SALA with initial error in mass m and specific fuel consumption σSFC

Fig. 14 SALA for scenario total (#1) and total (#2)

6 Conclusions

The attainable landing area is obtained with reachability analysis, leading to the
attainable landing area of the lunar lander for the given mission scenario. A two degree
of freedom controller is designed to stabilize the system and attenuate disturbances
or initial uncertainties in the states. Monte Carlo simulations are performed to obtain
the successful attainable landing area of the lander with probabilistic maps. In order
to assess the results of the Monte Carlo simulations, a maximum area ellipse is fitted
inside the nonconvex attainable landing area.
The probabilistic maps show the behaviour of the change of success rate with
respect to the uncertainties. It is seen that, when uncertainties are introduced, the
area of the attainable landing region decreases due to the amount of extra propellant
consumed to track the reference trajectories in all scenarios. The error for the initial
velocity in crossrange and downrange decreases the success rate of the landing start-
ing from extreme points in the downrange and crossrange coordinates respectively.
Initial position errors in three orthogonal coordinates have similar probabilistic maps,
512 Y.E. Arslantas and S.Theil

with similar characteristics of the maximum area ellipse. On the other hand, the initial
attitude error has no significant effect on the probabilistic maps.
The lander is most sensitive to changes of the initial mass for a successful land-
ing. The ratio of the attainable area with respect to the successfully attainable area
is 46.09% for the uncertainty in the initial mass. The scenario in Total (#2) has the
smallest attainable landing area, as expected, in which only 26.25% of the initial
reference map is attainable when all uncertainties are introduced in the MC simula-
tions.
The guidance and control algorithms also have an impact on the computed RS for
the given dynamical system and uncertainties. The developed method provides a tool
to evaluate the performance of the G & C algorithms and optimize the parameters to
obtain the maximum landing area w.r.t the reference RS. Future work includes the
assessment of different G & C algorithms and the optimization of the parameters for
increasing the likelihood of a successful landing.

Acknowledgements This research is supported and funded by DLR (German Aerospace Center),
DAAD (German Academic Exchange Service) Research Fellowship Programme and the Excellence
Initiative of the German Research Foundation (DFG).

References

1. Baier R, Büskens C, Chahma IA, Gerdts M (2007) Aproximation of reachable sets by direct
solution methods of optimal control problems. Optim Methods Softw 22(3):433–452
2. Kitsios I, Lygeros J (2005) Aerodynamic envelope computation for safe landing of the hl-20
personnel launch vehicle using hybrid control. In: Intelligent control, 2005. Proceedings of the
2005 IEEE international symposium on, mediterrean conference on control and automation
(2005)
3. Benito J, Mease KD (2008) Characterizing the controllable entry states and reachable sites for
planetary landing. In: 6th international planetary probe workshop. Atlanta, GA
4. Benito J, Mease KD (2010) Reachable and controllable sets for planetary entry and landing. J
Guidance Control Dyn 33:2010
5. Aubin JP, Frankowska H (1990) Set valued analysis. Birkhauser (1990)
6. Mitchell IM (2002) Application of level set methods to control and reachability problems in
continuous and hybrid problems. PhD thesis, Standford University (2002)
7. Baier R, Gerdts M (2009) A computational method for non-convex reachable sets using opti-
mal control. In: Proceedings of the European control conference (ECC) 2009, August 23–26,
Budapest, Hungary (2009)
8. Garg D (2011) Advances in global pseudospectral methods for optimal control. PhD thesis,
University of Florida (2011)
9. Oehlschlägel T, Theil S, Krüger H, Knauer M, Tietjen J, Büskens C (2011) Optimal guid-
ance and control of lunar landers with non-throttable main engine. In: Advances in aerospace
guidance. Navigation and control. Springer, Berlin
10. Garg D, Patterson MA, Francolin C, Darby CL, Huntington G, Hager W, Rao AV (2011) Direct
trajectory optimization and costate estimation offinite-horizon and infinite-horizon optimal
control problems using a radau pseudospectral method. Comput Optim Appl 49:335–358
11. Fahroo M, Ross F (2011) On discrete-time optimal conditions for pseudospectral methods. In:
AIAA/AAS astrodynamics specialist conference, (Keystone, Colorado), August 2006
Attainable Landing Area Computation of a Lunar Lander … 513

12. Huntington GD (2007) Advancement and analysis of a gauss pseudospectral transcription for
optimal control problems. PhD thesis, Massachusetts Institute of Technology
13. Runge C (1901) Über empirische funktionen und die interpolation zwischen äquidistanten
ordinaten. Zeitschrift für Mathematik und Physik 46:224–243
14. Sagliano M, Samaan M, Theil S, Mooij E (2014) Shefex-3 optimal feedback entry guidance.
In: AIAA space 2014 conference and exposition
15. Sagliano M (2014) Performance analysis of linear and nonlinear techniques for automatic
scaling of discretized control problems. Oper Res Lett 42:213–216
16. Sagliano M, Theil S (2013) Hybrid jacobian computation for fast optimal trajectories genera-
tion. In: AIAA guidance, navigation and control (GNC) conference
17. Arslantas YE, Oehlschlägel T, Sagliano M, Theil S, Braxmaier C (2014) Approximation of
attainable landing area of a moon lander by reachability analysis. In: 17th international con-
ference on hybrid systems: computation and control
18. Arslantas YE, Oehlschlägel T, Sagliano M, Theil S, Braxmaier C (2014) Safe landing area deter-
mination for a moon lander by reachability analysis. In: International astronautical congress,
Toronto
19. Kerr ML, Hagenfeldt M, Ospina JA, Ramn JM, Penin LF (2013) Esa lunar lander: approach
phase concept and g and c performance. In: AIAA guidance, navigation, and control (GNC)
conference, (Boston, MA), August 19–22 2013
20. Davidian KJ, Dieck RH, Chuang I (1987) A detailed description of the uncertainty analysis for
high area ratio rocket nozzle tests at the NASA lewis research center, technical report, NASA
Analysis of Optimization Strategies
for Solving Space Manoeuvre Vehicle
Trajectory Optimization Problem

Runqi Chai, Al Savvaris and Antonios Tsourdos

1 Introduction

Trajectory optimization problems in terms of space vehicles [2, 4, 6, 9] have attracted


significant attentions. One of the current objectives is the development of Space
Manoeuvre Vehicles (SMV) for a dynamic mission profile. The Mach number and
the flight altitude of the space vehicle vary largely during the whole flight phase, the
aerodynamic feature of the vehicle has large uncertainties and nonlinearities. Due to
these reasons, it is difficult to calculate analytical solutions of this type of problems.
Therefore, numerical methods are commonly used to approximate the optimal solu-
tion. Numerical methods for solving optimal control problems are divided into two
major classes: indirect methods and direct methods [1, 7, 10]. However, it is difficult
to solve the trajectory design problem using indirect methods based on maximum
principle. Hence, direct optimization method has been widely used for trajectory
optimization.
All the direct methods aim to transcribe the continuous-time optimal control prob-
lems to a Nonlinear Programming problem (NLP). The resulting NLP can be solved
numerically by well-developed algorithms such as gradient-based methods or deriv-
ative free algorithms. Sequential Quadratic Programming (SQP) and Interior point
(IP) methods are used successfully for the solution of large scale nonlinear program-
ming problems. The search direction in the SQP method is determined by solving the
Quadratic Program (QP) problem whereas IP transcribes the inequality constraints
to equality constraints by introducing slack variables. In recent years, derivative free

R. Chai (B) · Al. Savvaris · A. Tsourdos


Cranfield University, Bedfordshire MK43 0AL, United Kingdom
e-mail: r.chai@cranfield.ac.uk
Al. Savvaris
e-mail: a.savvaris@cranfield.ac.uk
A. Tsourdos
e-mail: a.tsourdos@cranfield.ac.uk

© Springer International Publishing AG 2018 515


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_28
516 R. Chai et al.

methods has become more popular in the application of optimal control problems.
However, the actual advantage of using a global method such as Genetic Algorithm
(GA) and Differential Evolution (DE) is difficult to appreciate, in particular when
stochastic procedures are applied. In this paper, a number of global search methods
are tested for solving the SMV trajectory optimization problem.
Hereafter, the paper is organised as follows. Section 2 introduces the equations of
motion, constraints of the SMV and the method used to discretize the optimal control
problem. In Sect. 3, the general procedures of typical gradient-based methods and
derivative free methods are detailed. Following that, Sect. 4 presents comparative
results between the solution calculated using different strategies.

2 Problem Formulation

The mission scenario investigated in this paper focuses on the atmospheric skip entry,
targeting the entry into the atmosphere down to a predetermined position and the
required controls involved in returning back to low earth orbit. The overall mission
can be found in Fig. 1. General skip reentry can be divided into five phases: initial
roll, down control, up control, Kepler and final entry. Considering the mission of
the SMV is to overfly the ground target with specific altitude, the most challenging
phase 2 and 3 will be considered in this paper.

2.1 Equations of Motion

To formulate a Space Manoeuvre Vehicle’s skip entry flight, the equations of three-
dimensional motion for a point mass about a static Earth are integrated. The equations
of motion can be summarised as:

Fig. 1 Mission profile


Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 517

ṙ = V sin γ
γ sin ψ
θ̇ = V cos r cos φ
V cos γ cos ψ
φ̇ = r
V̇ = T cosmα−D − g sin γ (1)
−gr
γ̇ = L cos σmV
+T sin α 2
+ ( V rV ) cos γ
L sin σ
ψ̇ = mV cos γ + r cos γ sin ψ tan φ
V

ṁ = − IspTg

where r is the radial distance from the Earth center to the vehicle, θ and φ are the
longitude and latitude, respectively. V is the Earth-relative velocity. The relative
flight-path angle can be denoted as γ . ψ is the relative velocity heading angle mea-
sured clockwise from the north. m is the mass of vehicle and t is time. Angle of
attack and bank angle are α and σ , separately. The thrust is defined as T . The states
and controls are described as X = [r, θ, φ, V, γ , ψ, m]T and U = [α, σ, T ]T . In the
model given by Eq. (1), three autopilot equations are introduced using the technique
of first order lag to describe the rate constraint of the controls.

α̇ = Kα (αc − α)
σ̇ = Kσ (σc − σ ) (2)
Ṫ = KT (Tc − T )

in which αc , σc and Tc are the demand angle of attack, bank angle and thrust, respec-
tively. The atmosphere model, lift L and drag D can be defined as:

g = rμ2 ρ = ρ0 exp r−r


hs
0

L = 2 ρV CL S
1 2
D = 2 ρV CD S
1 2 (3)
CD = CD0 + CD1 α + CD2 α 2 CL = CL0 + CL1 α

where S = 2690 ft2 is the reference area, ρ is the density of the atmosphere and ρ0 =
0.002378 slug/ft3 is the density of the atmosphere at sea-level. μ = 1.4076539 ×
1016 ft3 /s2 is gravitational parameter of the earth. r0 = 20902900 ft is earth radius, L
and D are the lift and drag whereas CL and CD are lift and drag coefficient determined
by angle of attack α and Ma, respectively.

2.2 Boundary and Path Constraints

In this paper, two types of constraint are considered in the skip entry process. To
complete the mission, the boundary conditions for the states and controls are:

[r, φ, θ, V, γ , ψ, m, α, σ, T ]
= [r0 , φ0 , θ0 , V0 , γ0 , ψ0 , m0 , α0 , σ0 , T0 ] (4)
.[r(tb ), r(tf )] = [rb , rf ]
518 R. Chai et al.

where tb , tf are time points for the SMV reaching the bottom point and going back
to the final boundary conditions. More precisely, as shown in Fig. 1, tb and tf are the
time points of the end of phase 2 and phase 3, respectively. Correspondingly, rb and
rf are the altitude values at tb and tf , respectively. Based on the boundary conditions
illustrated by Eq. (4), the whole process can be divided into two phases, the descent
phase and exit phase.
To protect the structure integrity for the SMV, three path constraints including
heating rate, dynamic pressure and load factor must be satisfied during the entire
flight phase:

˙
Q˙d = KQ ρ 0.5 V 3.07 (c0 + c1 α + c2 α 2 + c3 α 3 ) < Qdmax
Pd = √21 ρV 2 < Pdmax (5)
nL = Lmg+D < nLmax
2 2

where c0 = 1.067, c1 = −1.101, c2 = 0.6988, c3 = −0.1903 and KQ = 9.289 ×


10−9 BTU · s2.07 /ft 3.57 /slug 0.5 , respectively. Mission-dependent parameters are
Qdmax = 200BTU/ft 2 /s, Pdmax = 13406.4583Pa and nLmax = 2.5 representing the
allowable maximum heating rate, dynamic pressure and acceleration, respectively.

2.3 Cost Function

According to the mission requirement given by the industrial sponsor of this project,
to complete the mission in the shortest time, minimizing the mission duration (e.g.
tf ) is chosen as the objective function. Let J represent objective function:

J = min tf (6)

By setting the cost function given by Eq. (6), the SMV trajectory problem can be
considered as an optimal control problem which has minimum cost function value
and satisfies the initial and terminal variables constraints, three path constraints and
dynamic equations.

2.4 Discrete Method

The SMV optimal control problem is discretized using a direct multiple shooting
method. The basic idea of the direct multiple shooting method is to transform the
original optimal control problem into NLP by parameterizing only the control vari-
ables. The controls can be approximated by interpolation at the discretized time
nodes [τ1 , τ2 , . . . , τN ]. Then the equation of motion are integrated with a fourth
order Runge–Kutta method. The approximation of controls are:
Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 519


N
u(τ ) ≈ U (τ ) = Ui Li (τ ) (7)
i=0

where Li (τ ) is a basis of Lagrange polynomials. After using direct multiple shooting


method, the resulting NLP problem is solved by applying different optimization
strategies illustrated in Sect. 3.

3 Optimization Strategies

A key ingredient to solve optimal control problems is the ability of solving NLP
problems. Numerical methods for solving NLP fall into categories: gradient-based
methods and derivative free algorithms.

3.1 Gradient Based Methods

3.1.1 Sequential Quadratic Programming

The most commonly used gradient-based methods are SQP and IP or barrier methods.
The aim for SQP algorithm is to transform the original problem to a series of QP sub-
problems by approximating the augmented Lagrangian quadratically and linearizing
the constraints using Taylor expansion. The resulting augmented Lagrangian is:

L(x, λ, u) = f (x) + λT h(x) + uT g(x) (8)

Using quadratic model to approximate Eq. (8), the QP subproblem is:

min 21 d T H(xk , λk , uk )d + ∇f (xk )T d


h(xk ) + ∇h(xk )d = 0
(9)
g(xk ) + ∇g(xk )d ≤ 0
d ∈ n

where a (xk , λk , uk ) presents the current iterate point whereas H(xk , λk , uk ) is


the Hessian matrix. Commonly, the Hessian is calculated using H(xk , λk , uk ) =
∇xx L(xk , λk , uk ) or a suitable approximation defined by the user. ∇h(xk ) and ∇g(xk )
are the Jacobian matrix of the vector of equality constraints and inequality constraints,
respectively. The index k stands for the number of iteration for the optimization algo-
rithm and k = 0, 1, 2, . . ..
If the active set is defined as , a sequence of linear equations are constructed
as Karush-Kuhm-Tucker (KKT) system. Then by using Newton method, the KKT
condition of Eq. (9) can then be calculated.
520 R. Chai et al.

3.1.2 Interior Point Method

Another well-known and effective algorithm is the IP method. Numerous updates


and modifications have been done on this approach during the last several decades.
The ability for IP converging to a stationary point can be guaranteed theoretically.
Before applying the IP to the general form of problems, Eq. (8) should be transformed
by introducing s ∈ m , τ > 0 and:

fτ (x) = f (x) + τ Σi=1


l
hi (x) (10)

The IP strategy consists of reducing the inequality constraints in Eq. (8) using slack
variables s = (s1 , s2 , . . . , sm ), where all the elements in the vector should be positive.
Then, the modified problem can be summarised as:

min fτ (x) − μΣj=1


m
log(sj )
g(x) + s = 0 (11)
x ∈ n , s ∈ m

And the augmented Lagrangian for Eq. (11) is:

L(x, s, λ, u) = fλ (x) − μΣj=1


m
log(sj ) + uT (g(x) + s) (12)

In Eq. (11), the term μ stands for a barrier variable and the smaller it is, the closer
are the solutions. Both SQP and IP are using Newton iteration to get KKT system
and the converge solution.

3.2 Derivative Free Algorithms

In this paper, four derivative free global search algorithms are investigated: Genetic
Algorithm (GA) and Differential Evolution(DE) that belong to the generic class of
Evolutionary Algorithms (EA), Particle Swarm Optimization (PSO) that belongs to
the class of agent-based algorithms, and Artificial Bee Colony (ABC) that is classified
to the colony-based algorithms.

3.2.1 Genetic Algorithm

GA [3] is one kind of evolution algorithms, which generates solutions to optimization


problems taking inspiration from the natural selection and survival of the fittest
in the biological world. Each iteration of a GA involves a competitive selection
that eliminates poor solutions. It is regarded as one of the most robust and reliable
optimization algorithms which has no requirement for gradient information and initial
guess. Recombination and mutation are applied to generate new solutions so that
Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 521

the population can have more diversity. As for the control parameters of GA, the
population size is given as 500 individuals. Single values are used for the crossover
and mutation probability, CR = 0.7 and pi = 0.5, respectively.

3.2.2 Differential Evolution

The main attempt of DE [9] is to calculate the variation vector vi,G+1 of a solution
vector xi,G+1 by taking the weighted difference between two additional solutions.
This can be described as:

vi,G+1 = e[(xi3,G − xi,G ) + F(xi2,G − xi1,G )] (13)

where F = 0.7, i is integer number randomly chosen within the interval [1, NP]. The
equation of e can be written as:

1, rand ≤ CR;
e(x) = (14)
0. rand > CR.

where rand is a random number within [0, 1]. The selection process is largely
depended on the fitness function defined by the user. If the new candidate can have
a better fitness value then it can be selected to the next generation.

3.2.3 Particle Swarm Optimization

PSO [8] is a population-based derivative free optimization algorithm developed in


1995. PSO was inspired by the social behaviour of bird flocking or fish schooling.
The general concept of PSO consists of changing the velocity of every candidate at
each iteration. The new individual in the next generation can be calculated by:

vi,G+1 = ωvi,G + ui,G (15)

where ω is a weighting function which is proportional to the number of iterations


G. The process has two stochastic components given by the two random number
r1 and r2 . The corresponding terms are elastic component controlled by c1 = 2 and
convergence term controlled by c2 = 2. The first term tends to recall the individual
back to the old position whereas the second term drives the entire population toward
convergence. The search is applied until a stopping condition is satisfied.

3.2.4 Artificial Bee Colony

The artificial bee colony (ABC) algorithm was originally presented by Dervis
Karaboga in 2007 [5] and was inspired by the collective behavior of honey bees.
522 R. Chai et al.

The ABC algorithm has been tested to exhibit a good performance in the function
optimization problems. For each iteration of the ABC algorithm, both global search
and local search are conducted so that the probability of achieving the optimum is
increased dramatically. In each iteration of the algorithm, the searching principle is
defined as:
vij = xij + ϕij (xij − xkj ) (16)

where v denotes the new position. Such a searching strategy adaptively reduces the
searching step when the candidate approaches the optimal solution. The control para-
meters for ABC algorithm are NP = 200, Iter = 100 and Limit = 10, respectively.

4 Simulation Results

4.1 Parameters Setting

The initial, terminal boundary conditions, box constraints and aerodynamic coeffi-
cients of the skip process can be found in [2]. Comparative simulations using classical
gradient optimization techniques and derivative free optimization methods are pre-
sented. It should be noticed that only the skip entry phase shown in Fig. 1 is taken
into account in the paper. The initial altitude is around 80 km, where is the assumed
edge of the atmosphere.

4.2 Time History of the State and Control for Different


Methods

The results of optimal trajectories are shown in Figs. 2, 3, 4, 5, 6, 7, 8 and 9.

4.3 Analysis of the Solutions

From Figs. 2, 3, 4, 5, 6, 7, 8 and 9, the general trend of trajectories is split into two
phases: descending and climbing.
(1) Descending phase: In order to achieve the target position (around 164000 ft
altitude) and minimize the mission time (since the overall objective is to minimize
the time duration, it is equivalent to minimize the time duration for each phase),
Fig. 2 shows that the SMV goes down directly at the beginning of the mission. To
avoid path constraints becoming active, angle of attack should increase to slow down
the vehicle so that the heating and dynamic pressure do not increase significantly.
Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 523

Fig. 2 Altitude generated by


using gradient methods and
derivative free methods

Fig. 3 Speed generated by


using gradient methods and
derivative free methods

(2) Climbing phase: After reaching the target point, the vehicle fires its engine so
that the SMV can have enough kinetic energy to go back to the final point. With the
decreasing of air density and mass, the aerodynamic heating, dynamic pressure and
load factor will decrease during the climbing phase. The trend of angle of attack can
be found in Fig. 4 where the angle of attack is increased during the whole climbing
phase. This is because in the climbing phase, without violating path constraints, it
can have positive influences in terms of acceleration.
With regard to the performance of different methods, all the global approaches
manage to generate skip entry trajectories between the predetermined initial position
and terminal position without violating the path constraints. This can be seen from
Figs. 6, 7 and 8. When the nonlinearity of the cost functions or path constraints
become higher, which means it is difficult to calculate the gradient information
524 R. Chai et al.

Fig. 4 Angle of attack


generated by using gradient
methods and derivative free
methods

Fig. 5 Bank angle generated


by using gradient methods
and derivative free methods

for gradient techniques, the global methods become the only way to solve the SMV
trajectory optimization problem. However, there are some limits for global strategies.
As can be seen from Figs. 2, 3, 4, 5, 6, 7, 8 and 9, the results are significantly different
between PSO-based method and others. This can be explained that in this case, the
initial guess generated by the PSO-based method is not close enough to the optimal
solution. Moreover, to combine the optimization processes with discrete methods,
global techniques cannot be as flexible as gradient methods. Also, it is hard to verify
the optimality for the solutions from global techniques whereas the SQP and other
gradient methods have KKT conditions.
Consequently, all the figures provided above confirm the feasibility of the gradient
and derivative free algorithms. By using different optimization strategies, the SMV
can reach the target position without violating three path constraints and boundary
conditions.
Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 525

Fig. 6 Heating generated by


using gradient methods and
derivative free methods

Fig. 7 Dynamic pressure


generated by using gradient
methods and derivative free
methods

Fig. 8 Load factor generated


by using gradient methods
and derivative free methods
526 R. Chai et al.

Fig. 9 Flight path angle


generated by using gradient
methods and derivative free
methods

5 Conclusions

In this paper, the gradient-based and derivative free algorithms are applied to solve
SMV trajectory design problem. In order to transform the continuous optimal con-
trol problem to static NLP problem, direct multiple shooting method is implemented
to discrete the equations of motion and path constraints. Simulation results indi-
cated that the proposed two kind of strategies can generate feasible solution for the
trajectory design problem. By applying the gradient-based method, the number of
iterations, function evaluations, and computational time can be decreased compared
with derivative free methods. Therefore, although the solutions generated from deriv-
ative free methods can be accepted, there are still a lot of room for improvement in
terms of using these techniques in trajectory optimization problems.

References

1. Betts JT (1998) Survey of numerical methods for trajectory optimization. J Guidance Control
Dyn 21(2):193–207. https://dx.doi.org/10.2514/2.4231
2. Chai R, Savvaris A, Tsourdos A (2016) Fuzzy physical programming for space manoeuvre
vehicles trajectory optimization based on hp-adaptive pseudospectral method. Acta Astronau-
tica 123:62–70. https://dx.doi.org/10.1016/j.actaastro.2016.02.020
3. Dingni, Z., Yi, L.: RLV reentry trajectory optimization through hybridization of an improved
GA and a SQP algorithm. In: Guidance navigation, and control and co-located conferences.
American Institute of Aeronautics and Astronautics (2011). https://dx.doi.org/10.2514/6.2011-
6658
4. Gan, C., Zi-ming, W., Min, X., Si-lu, C.: Genetic algorithm optimization of RLV reentry
trajectory. In: International space planes and hypersonic systems and technologies conferences.
American Institute of Aeronautics and Astronautics (2005). https://dx.doi.org/10.2514/6.2005-
3269
Analysis of Optimization Strategies for Solving Space Manoeuvre Vehicle … 527

5. Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function
optimization: artificial bee colony (abc) algorithm. J Glob Optim 39(3):459–471. https://dx.
doi.org/10.1007/s10898-007-9149-x
6. Kenan, Z., Wanchun, C.: Reentry vehicle constrained trajectory optimization. In: International
space planes and hypersonic systems and technologies conferences. American Institute of
Aeronautics and Astronautics (2011). https://dx.doi.org/10.2514/6.2011-2231
7. Peter, G., Klaus, W.: Trajectory optimization using a combination of direct multiple shooting
and collocation. In: Guidance, navigation, and control and co-located conferences. American
Institute of Aeronautics and Astronautics (2001). https://dx.doi.org/10.2514/6.2001-404710.
2514/6.2001-4047
8. Rahimi A, Dev Kumar K, Alighanbari H (2012) Particle swarm optimization applied to space-
craft reentry trajectory. J Guidance Control Dyn 36(1):307–310. https://dx.doi.org/10.2514/1.
56387
9. Rajesh, A.: Reentry trajectory optimization: evolutionary approach. In: Multidisciplinary analy-
sis optimization conferences. American Institute of Aeronautics and Astronautics (2002).
https://dx.doi.org/10.2514/6.2002-5466
10. Reddien GW (1979) Collocation at gauss points as a discretization in optimal control. SIAM
J Control Optim 17(2):298–306. https://dx.doi.org/10.1137/0317023
A Space-Borne GNSS Receiver
for Evaluation of the LEO Navigation
Based on Real-Time Platform

Hung-Yuan Chang, Wen-Lung Chiang and Kuo-Liang Wu

A space-borne GNSS receiver is indispensable for comprehensive validation of


performance of the proposed navigation function on a test bench mainly compris-
ing an Attitude Control and Dynamics/Environments Software Simulator (hence
ACDESS) running under a RTOS. In this paper, an ACDESS platform built on the
PXI system manufactured by National Instruments is proposed. The platform con-
sisting of necessary interfaces for communication between two PXI sub-platforms
works with a GNSS RF signal generator which feeds the motion data to RF signal
controller in real-time. The proposed NSPO ESGNSSR is aiming for closing the
control loop in this test bench. The end-to-end tests of NSPO ESGNSSR in LEO
satellite scenarios achieving a positioning accuracy better than 8 m (1σ , 3D) suggests
its promising perspectives for NSPO’s future space missions. All responses in the
loop meet the mission requirements as well.

1 Introduction

Today, the global positioning system (hence GPS) receiver plays a more significant
role in the autonomous competence enhancement of navigation and the facilitation
of operation for a variety of spacecrafts and rockets [1, 2]. Thus, many key players in
the global space arena pour numerous resources into the research and development of

H.-Y. Chang (B) · W.-L. Chiang · K.-L. Wu


Flight Control Division, NSPO, HsinChu, Taiwan
e-mail: yuan@nspo.narl.org.tw
W.-L. Chiang
e-mail: peterchiang@nspo.narl.org.tw
K.-L. Wu
e-mail: alexwu@nspo.narl.org.tw
© Springer International Publishing AG 2018 529
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_29
530 H.-Y. Chang et al.

Table 1 Comparision of ESGNSSR and other space-borne GNSS receivers


Model SEGNSSR Topstar 3000 SGR-20 Mosaic
Manufacturer NSPO Thales Alenia SURRY EADS-Astrium
Position accuracy 8 m, 3D, 95% 10 m, 3D, 1s∗ 10 m, 3D, 95% 10 m, 3D∗∗
Velocity accuracy 5 cm/s, 3D, 95% 1 cm/s, 3D, 1s∗ 15 cm/s, 3D, 95% 1 cm/s, 3D∗∗
Time transfer with 80 ns, 95% 200 ns, 3s∗ 500 ns, 95% 100 ns∗∗
OCXO
Dimension 150∗ 138∗ 38.5 mm3 276∗ 117∗ 170 mm3 160∗ 160∗ 50 mm3 242∗ 262∗ 25 mm3
Power consumption 3.5 W 16 W 5.5 W 10 W
Weight (w/o ant.) 0.6 kg 3 kg 0.95 kg 0.7 kg
Operation –25 ∼ 60 ◦ C –15 ∼ 50 ◦ C –20 ∼ 50 ◦ C –25 ∼ 60 ◦ C
temperature (operating) –25 ∼
60 ◦ C (start-up)
Vibration 15 g 13 g 15 g –
Mission involved FORMOSAT-2, UoSAT1 UoSAT12, TerraSAR-X,
KOMSAT-2, PROBA-1, SARLupe, Aeolus,
AMS02, BILSAT-1, 14 units TanDEM-X...
PROBA-2... flown (2009)

the autonomous space-borne GNSS receivers, including NSPO of Taiwan [3]. A brief
comparison of several current space-borne GNSS receives including the ESGNSSR
is summarized in Table 1 [4–6]. The ESGNSSR may be competitive among them.
The flight model of this receiver manufactured in the early 2015 passed a series of
comprehensive functional tests and environmental acceptance tests, etc. which were
completed by the end of 2015. One mission considered using ESGNSSR during
its development phase is the FORMOSAT-7/COSMIC-2 [7]. A real-time platform
equipped with ESGNSSR presented in this paper is used to verify the navigation
requirements of this LEO satellite. Moreover, the environmental stress screening
process of ESGNSSR will be concisely introduced in this paper as well.
In response to the booming global navigation satellite systems, NSPO is gradu-
ally enhancing the capability of L1-GPS receiver and turning it to be a high-precise
navigation unit, a multi-mode and multi-band receiver, and even a science payload,
the reflectometry receiver of a global navigation satellite system. The fundamental
purpose of this extension study is to port some software algorithms, such as sig-
nal acquisition and correlation, routinely repetitive computing, and time-consuming
functions to the FPGA whose CPU, a digital signal processor (DSP), is solely ded-
icated to parts of the tracking algorithm, whole navigation algorithm, total orbit
propagation algorithm, and so on for the sake of reducing the CPU workload. Due to
the fast-paced development and evolution of the FPGA nowadays, the new system
architecture upgradable via an FPGA should be able to achieve the goal of being a
high-precision navigation receiver, and even a scientific receiver. Last but not least,
the test results show that the new system architecture not only retains the original
overall performance, but also sets aside more resources available for possibility of
future extension.
A Space-Borne GNSS Receiver … 531

RF Front
FPGA DSP
End

FSA NAV
Sample Decoding
Unpack
Tracking /Forming
OP

Fig. 1 The key parts of the entire SGR and the calculation process of software algorithm

1.1 Software-Defined GPS Receiver

The predecessor of this ESGNSSR is a software-defined GPS receiver (SGR) in


which the L1-GPS baseband signal processing is performed in DSP resulting in
50% of its throughput consumed [8]. The key parts of the entire SGR, the relation-
ships among them, and the calculation process of software algorithm in DSP are
shown in Fig. 1.
The Sample Unpack module is mainly for trimming RF raw data and uses the
fixed-point DSP instruction set to further achieve the goal of data arrangement. The
FSA (Fast Search Algorithm) module is mainly responsible for the signal Fourier
transformation, and screening out preliminary satellite signals. The Tracking module
takes care of the signal correlation and signal phase-locked loop. Decoding/Forming
module is used to decode the used satellite data. Both NAV (Navigation) and OP
(Orbit Propagator) modules are in charge of calculating decoded data for navigation.
The entire software architecture is designed to schedule various on-demands com-
puting for real-time tasks according to the weight of each function. As shown in Fig. 2,
an external interrupt source is required for driving EDMA to move the RF data from
FPGA to DSP. The real-time task in entire software is triggered by EDMA. The
execution of the Tracking task in this software system must be completed within
1 ms; otherwise the post-processing results such as NAV and OP will lose reliability.
The calculations of NAV and OP are allocated to use the remaining time after the
Tracking task is complete in each millisecond. The lowest-weight function, FSA, is
only responsible for searching new visible satellites and generating extra information
in data pool waiting to be used when system is in idle state
In this SGR, the FPGA in the whole system only plays one role in the data
communication and coordination between the DSP and other peripherals. There is not
any logic implementation of the software algorithm relevant to the L1-GPS receiver
implemented in FPGA. All the logic functions implemented in the FPGA are shown
in Fig. 3. The SPI (Serial Programing Interface) module acts as a user interface for
setting the operating parameters of RFFE. The CDET (Command Detector) module
provides a user interface to execute special instructions. The Wait CE (Chip Enable)
module can be used to adjust bus timing.
532 H.-Y. Chang et al.

0 1 2 ……. 1000 1001 ……. 2000 2001 ……. Time (ms)

High Priority EDMA

Tracking

Navigation

Low Priority FSA DSP


End of execution & trigger corresponding thread End of execution & schedule to next “READY” thread Preempted by higher priority thread

Fig. 2 The real-time scheduling of tasks

RF FRONT END 16.368


Console
& ADC MHz

SRAM FIFO UART


PPS 256x16 Controller SPI CDET
/FIFO

Flash Wait Bus Latch-Up


Decoder CE
WDT Decoder LED
Bridge

Flash 40
DSP
MHz

Fig. 3 The block diagram of original logical function

It may be a good entry point for understanding the purpose of this paper by
considering the current usage of system resources. The actual utilization of DSP bus
reached 46.9%, and the real-time tasks also occupied up to 20% of CPU utilization
as shown in Fig. 4.
By comparison with the FPGA, the usage of logic gates is currently about 3.78%
while memory usage is about 2.68%, as listed in Table 2. This table is derived from the
report of system resource usage after the logic circuit has been compiled. Therefore,
the idle resources in FPGA have to be used properly in order to reduce the usage
of DSP and achieve the goal of being a multi-mode, multi-band, high-precision
navigation receiver or even other scientific objectives.
In response to the flourishing global navigation satellite systems, NSPO has
planned to gradually extend this SGR to become a multi-mode, multi-band, and
high-precision navigation receiver and even be suitable for scientific applications.
Starting from 2013, NSPO initiated the preliminary study of extension feasibility
in order to achieve this goal. The main purpose is to port the highly repetitive and
time-consuming functions from DSP to FPGA in the early research phase of this
A Space-Borne GNSS Receiver … 533

Fig. 4 The system resource usage of SGR

Table 2 FPGA compile report of SGR


CORE Used: 2844 Total: 75264 3.78%
IO_(W/_clocks) Used 78 Total: 147 53.06%
Differential_IO Used: 0 Total: 65 0.00%
GLOBAL_(Chip+Quadrant) Used: 5 Total: 18 27.78%
PLL Used: 0 Total: 2 00.00%
RAM/FIFO Used: 3 Total: 112 2.68%
Low_Static_ICC Used: 0 Total: 1 0.00%
FlashROM Used: 0 Total: 1 0.00%
User_JTAG Used: 0 Total: 1 0.00%

extension work, such as the functions of signal acquisition and signal correlation.
The processor is primarily responsible for navigation solution, orbit propagation and
other tasks with non-real-time requirements. This paper will present the work and
achievements of all the pre-extension research in detail after introducing the mission
application and environmental certification of this SGR in Sect. 1.2.

1.2 Space Mission and Certification Test

FORMOSAT-7/COSMIC-2 Program is a major collaboration space program between


Taiwan and the U.S. In this program, the designated representative of Taiwan is NSPO
and its U.S. counterpart is NOAA (National Oceanic and Atmospheric Administra-
tion). This program includes 12 radio occultation (RO) science mission satellites plus
one augmented NSPO-Built satellite. The 12 satellites are planned to be launched
and deployed in two separate clusters of 6 satellites into the designated low and high
inclination angle orbits in 2017 and 2019, respectively. The basic information about
FORMOSAT-7/COSMIC-2 program is summarized in Table 3.
534 H.-Y. Chang et al.

Table 3 The specification of Specifications Magnitude


FORMOSAT-7/COSMIC-2
Number of satellite: 13 satellites as a goal
Mass: <300 kg /Satellite (wet)
Mission orbit: 1st set: low-inclination angle (24 deg),
520 ∼550 km circular orbit
2nd set: high-inclination angle (72
deg), 720 ∼750 km circular orbit
Constellation: One satellite per orbital plane, 6 orbital
planes per cluster of satellites
Mission life: 5 years

The NSPO-Built satellite scheduled to be launched in the 2nd cluster will fur-
ther enhance the radio occultation (RO) data sampling density of the COSMIC-2
constellation and also serve as a qualification platform for NSPO’s indigenous key
components development. For the NSPO-Built satellite, four in-house components
were considered including Fiber Optical Gyro, GPS Receiver, On-Board Computer,
and Power Control and Distribution Unit.
The harsh environment, such as total ionizing dosage, single event effect, extreme
temperature and launch vibration always cast certain threaten to GPS receivers
intended for space applications. Usually the thermal cycling, thermal vacuum, vibra-
tion, EMI/EMC, and ionizing radiation are all required testing items for GPSR’s
environmental stress screening process to meet corresponding mission requirements.
Around Nov. 2012, the engineering model of SGR passes part of the entire quali-
fication test campaign, such as the thermal cycle test, the vibration test, and the
radiation test. NSPO also completed all EQM qualification tests according to the
preset schedule in 2015. Figure 5 shows the on-site snapshots of all environmental

Fig. 5 On-site photos of all environmental tests


A Space-Borne GNSS Receiver … 535

tests, including thermal cycling (a), thermal vacuum (b), vibration (c), EMI (d), EMC
(e), and radiation (f) tests.
The temperature trending data shown in Fig. 6 were obtained from the thermal
cycling test completed in April 2015. The SGR functioned normally while the oper-
ation temperature cycled between −40 and +80 ◦ C in one-week testing period.
The temperature trending data shown in Fig. 7 were obtained from the thermal
vacuum cycling test completed in May 2015. The SGR also functioned normally
while the operation temperature cycled between −40 and +80 ◦ C in one-week testing
period.
The vibration test, the EMI/EMC test, and the radiation test, were all completed
one by one before the end of 2015. This SGR passed the vibration test in which a

Fig. 6 Thermal cycling test of SGR

Fig. 7 Thermal vacuum cycling test of SGR


536 H.-Y. Chang et al.

testing value of 20 g applied and remained healthy throughout the test. It then passed
the EMI/EMC test when a frequency interference between 1G and 2G Hz applied
during the test, and never exceeded the threshold set by the MIL-STD-461F RE102
while the testing frequency ranged from 1 G to 18G Hz. It also had normal power
consumption before having an exposure dose of 34 Krads.

2 Extendable Space-Borne GNSS Receiver

In order to serve as a multi-mode, multi-band, and high-precision navigation receiver,


the prototype of purposed ESGNSSR has been completely designed in 2015. The
primary difference between current and previous functions of FPGA is that some
extra logics implementing L1-GPS receiver algorithms are added. The new logic
block diagram of FPGA is shown in Fig. 8.
The block diagram of extended logic circuits is shown in Fig. 9 in which the fol-
lowing three logics, Sample Unpack module, FSA module, and Correlation module,
were ported from DSP to FPGA.
The DMA/Data Switch and Router module is mainly responsible for transferring
the RF raw data to the Sample Unpack module and storing the data generated by
the FSA and Correlation modules in FIFO buffer for later use. The System Control
module is responsible for performing the judgment and management of all tasks in
extended logic and it also needs to handle data communication and handshaking
between the FSA and the Correlation modules in order to ensure data concurrency.
Trying to utilize remaining resources available in FPGA to extend new functions in
DSP for the SGR is our goal. The preliminary study of functional extension feasibility
mainly focused on using the FPGA to implement the highly repetitive and time-

SRAM RF FRONT END 16.368


SRAM Console
& ADC MHz

UART
PPS Extension SPI CDET
/FIFO

Flash Wait Bus Latch-Up


Decoder CE
WDT Decoder LED
Bridge

Flash 40
DSP
MHz

Fig. 8 New logic block diagram of FPGA


A Space-Borne GNSS Receiver … 537

RF FRONT END
& ADC

DMA/Data Switch
& Router

Sample
Unpack FIFO

System CorrelaƟng
Control FSA

SRAM
Controller

SRAM
SRAM DSP

Fig. 9 The block diagram of extended logic

consuming functions, such as Sample Unpack, FSA and Correlation in order to reduce
the workload of the DSP. However, the signal phase-locked loop, Decoding/Forming,
and navigation solution, etc., are still handled by the DSP. Among all GPS algorithms,
these three functions occupy most memory of this SGR. Note that FPGA has only a
small memory size of 512K Bits compared to 1M Bytes memory built in the DSP.
The limitation of available memory could be the bottleneck if these three algorithms
are all implemented in the FPGA. Therefore, two pieces of external SRAM’s (1M
Words each) were added to the FPGA in order to overcome this problem. One chunk
of SRAM is dedicated to storing the signal searching results from the FSA, and the
other is set to store results of signal correlation from the Correlator.

2.1 Logic Architecture

The main purpose of the Sample Unpack module is to rearrange the signal data
generated from the RF front-end, including data decimation and moving average
filtering. In Eq. (1), the incoming signal models after data sampling are concisely
described.
538 H.-Y. Chang et al.

y (tn ) = [Re (tn ) + j Im (tn )] · e j2π fs tn


= I y (tn ) + Q y (tn ) (1)

where f s represents the sampling frequency. The logic processing steps of Sample
Unpack module are introduced as follows. The real and imaginary parts of the raw
signals are separated first. Next, four adjacent data points are selected for arithmetical
computation. After data combination, the raw data collected at a sampling rate of
16.368 MHz and two bits in each I and Q parts will form a new data structure which
has a size of four bits and is sampled at a rate of 4.092 MHz. The architecture of
Sample Unpack shown in Fig. 10 in which the plus or minus sign can be appropriately
known from the expansion result of Eq. (1).
The FSA module primarily handles signal search in ESGNSSR. Its acquisition
algorithm is described as follows. The first step is to perform FFT with incoming
signals and can be expressed in Eq. (2).

N −1
  
Yi (k) = I y (tn ) + Q y (tn ) · e− j2πkn/N (2)
n=0

where Y represents incoming signals, k is in range of 0–N − 1, N is number of


samples per millisecond, and i is in range of 0 to 7. Next, an FFT is performed with
its replica as described in Eq. (3).

N −1

L (k) = CPRN (tn ) · e− j2πkn/N (3)
n=0

where L is the FFT result of replica. Third, an inverse FFT is performed with the
multiplication result of Yi (k) and L (k), and it can be formulated as in Eq. (4).

N −1

Mi (k) = {Yi (k) · L (k)} · e j2πkn/N (4)
n=0

Fig. 10 The architecture of


Even Bits Hi (im) Lo (re)
sample unpack

2 bits

re3 im3 re2 im2 re1 im1 re0 im0


A Space-Borne GNSS Receiver … 539

where M is the result of inverse FFT. Then it sequentially performs 8-point FFT
by using the results from inverse FFT, and output the desired information, such as
Doppler shift and code shift. The Eq. (5) summarizes this process.


N −1

E (k) = Mi (k) · e− j2πkn/N (5)
n=0


where N is 8 and k is in range of 0 to N  − 1. The FSA is the most complex RTL
module in this study. The implemented architecture of the FSA module is illustrated
in Fig. 11 where the 4096-point FFT and the 4096-point IFFT share the same FFT
IP, and a time-division multiplexing mechanism is used. Beware that the replicated
L1-GPS PRN code is stored in the 1023-PRN-code ROM.
At first, the consecutive data in first eight milliseconds are stored in the external
SRAM. The FSA module will let the replica be the first to enter the FFT IP and store
the results generated from FFT IP in PRN code FFT buffer. Then the module will
retrieve one millisecond data from the external SRAM for the FFT IP to do the FFT
operation and provide the results generated from the FFT IP for multiplier to perform
the multiplication with the data stored in PRN code FFT buffer. Moreover, the data in
PRN code FFT buffer used for multiplication should be applied a frequency bin shift
between +130 to −130 in advance. A complex multiplier is then used to perform
data multiplication. After multiplication operation finished, the result will enter the
FFT IP to perform the IFFT. The final results generated from the IFFT will constitute
a correlation buffer and be stored within the external SRAM. Such a process needs
to be executed eight times iteratively.

PRN code ROM FFT/iFFT, Y(i)– PRN code FFT buffer


Includes:
• I,Q Data
EXT RAM • In buffer
• In Signal Buffer • Out buffer Complex
• I(k)/Q(k) • Twiddle ROM multiplier
• 88-ms Long

EXT RAM
IFFT data array0, Z(n,d)
• Threshold,
FSA_Done • Doppler shift 8 pts FFT IFFT data array1, Z(n,d)
isSAT_Found Estimation,

• Find Maximum
IFFT data array7, Z(n,d)

K=0 K=1 …... K=6 K=7

d = 1,2,3,…,2046

Fig. 11 The architecture of FSA


540 H.-Y. Chang et al.

After completion of IFFT computation by taking 8 ms consecutive data as input,


the results are stored temporarily in the correlation buffer. Next, the FFT8, an 8-
point FFT IP, will longitudinally retrieve data from this correlation buffer one by one
to perform the FFT8. After that, a logic comparator will work on previous results
to retain the largest parameters such as sample position, frequency bin, and relevant
time stamp in millisecond for later use. Simultaneously, in light of the analysis result,
we will select an appropriate threshold which is used to determine whether a L1-
GPS signal is found based on the comparison between the largest parameter and this
threshold.
The Correlation module is mainly responsible for correlating incoming signals
with replica according to parts of the tracking results generated by DSP. Here we can
describe the correlation equations in Eqs. (6)–(8).

N −1

GP = y (tk ) · CPRN (tk ) · e− j2π f D tk (6)
k=0

N −1

GE = y (tk + t) · CPRN (tk ) · e− j2π f D tk (7)
k=0

N −1

GL = y (tk − t) · CPRN (tk ) · e− j2π f D tk (8)
k=0

where f D is Doppler frequency; t is samples, G P , G E and G L are the correlation


results in prompt, early, and late phase respectively.
The implemented architecture of the Correlation module is shown in Fig. 12. The
Correlation module continually receives data from the Sample Unpack module at a
data rate of 8184 samples per mini-second. Moreover, the data are composed of even
and odd parts, and each part has 4096 samples. It always keeps 3 ms consecutive
data, 3 ms_Buffer, in the external SRAM for the data correlation operation. In every
millisecond, the DSP will provide pre-calculated parameters from 12 channels to
the Correlation module in advance, including Doppler, code phase, sample position,
satellite PRN number, initial phase and phase increment. The Correlation module
will finish all calculations in Early, Prompt, and Late phase of 12 channels within one
millisecond in order to allow the DSP to be able to initialize the signal phase-locked
loop before start of the next one millisecond.
The detailed operations of 3 ms_Buffer in the Correlation module can be catego-
rized into three conditions and are illustrated in Fig. 13. Taking the first condition
for example, the input data fill the blue block of 4092 bytes at a rate of 4.092 MHz.
The related logic circuits simultaneously retrieve data from the white region of 8184
bytes based on the sample position computed by the FSA while the DSP actuates the
Correlation module per millisecond. In this way, the 3 ms_Buffer operating in this
way can ensure that the data are always continuous and not overlapped.
A Space-Borne GNSS Receiver … 541

SampleUnpack.v

Odd (previous) Odd (previous) Odd (current) Even (previous) Even (previous) Even (current)
data bytes data bytes data bytes data bytes data bytes data bytes

Sample position Sample position


sgHL
Samples - 2
sg0 sumsg
sumPRN
Early Accumulator
sgHL resReE, resImE
Samples
sg1 sumsg
sumPRN
Prompt Accumulator
sgHL resReP, resImP
sg0 sumsg
sumPRN
Late Accumulator
sgHL resReL,resImL
Samples+4
sg1
sumsg sumPRN Early Accumulator
sgHL resReE, resImE
sg0

Samples+8
……..

4 bits 4 bits

Fig. 12 The architecture of correlation

16.368MHz clock 16.368MHz clock


8bits data 8 bits data

Odd (previous) Odd (previous) Odd (current) Even (previous) Even (previous) Even (current)
data bytes data bytes data bytes data bytes data bytes data bytes

Sample position Sample position

32 MHz clock 32 MHz clock


16 bits data 16 bits data

Odd (previous) Odd (previous) Odd (current) Even (previous) Even (previous) Even (current)
data bytes data bytes data bytes data bytes data bytes data bytes

Sample position Sample position

Odd (previous) Odd (previous) Odd (current) Even (previous) Even (previous) Even (current)
data bytes data bytes data bytes data bytes data bytes data bytes

Sample position Sample position

Fig. 13 The architecture of 3 ms_Buffer


542 H.-Y. Chang et al.

It is noteworthy that improving utilization of the DSP bus lays the groundwork for
hardware interface extension, and allows simultaneous processing of more different
types of GPS data in the multi-mode and multi-band GNSS receiver. Besides, more
effective utilization of CPU resources not only reduces calculation time of the Nav-
igation function in DSP, but also reserves more available computing resources for
future application. The feasibility of functional extension of NSPO’s space qualified
L1-GPS receiver is verified through a close loop test presented in this paper.
By using more powerful FPGA’s, the speed of GPS signal acquisition and the
channel number of GPS signal correlation can be enhanced and increased greatly in
future development. Therefore, the new enhanced configuration can be compatible
with varieties of existing GPS satellites, such as Russian’s GLONASS, Europe’s
GALILEO and China’s Compass (Beidou). The goal to develop a multi-mode and
multi-band GNSS receiver should be achieved in the near future eventually.

2.2 Logic Analysis

All the logic functions presented in this paper use the MODELSIM tool for sim-
ulation and verification. The architecture of test bench is illustrated in Fig. 14.
First, the recorded GPS signals will be stored in the ROM TABLE, such as
GPS_DATA_ROM.v, and then these signals will be imported to the FPGA mod-
ules, including the SampleUnpack.v, the FSA.v and the Correlator.v, for test. Mean-
while, both the external RAM simulation model which is RAM_MODEL.v and the
Ti-DSP EMIF simulation model which is BUS_MODEL.v are also created for the

5
x 10 4096 iFFT out
2.5

2
Unpack + FSA
GPS data and PRN model
table Generated Built on 1.5
from MATLAB MATLAB
1

0.5
GPS_DA
TA_RO Sample
M.v Unpack.v 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500

RAM_M
ODEL.v

FSA.v
BUS_MO
DEL.v

Engine
Testbench
Fig. 14 RTL design simulation/verification flow
A Space-Borne GNSS Receiver … 543

test bench in order to simulate all the logic functions as close as to the real condi-
tion as possible. The information, such as those GPS signals identified by the FSA
module or the computation results of the Correlation module, can be obtained from
post-simulation data analysis. Further double check with the algorithms allows us to
know if the simulation results are correct as well.

3 The Remote Configuration of a Real-Time Platform

The approach of evaluating the LEO navigation is to build a test bench where resultant
motion data due to environment and corresponding control activities can be fed into
the RF generator in real time. A simulation scenario of FORMOSAT-7/COSMIC-2
is used to propagate the designated RF signals via a RF signal generator, the Spirent
GSS7700, in this study. The proposed test bench consists of two key elements,
ACDESS and the GSS7700, controlled by the ACDESS. In the following sections,
the in-house ACDESS based on the National Instruments (NI) PXI products will be
thoroughly introduced including its hardware interface with the GSS7700.
The original test bench is composed of a remote PC running Windows opera-
tion system and a hardware interface capable of maintaining clock synchronization
between itself and the GSS7700. Note that, in order to integrate various hardware
but still achieve high reliability, the original remote PC of GSS7700 is replaced by
NI-PXI products, including the development software CVI, the controller card PXI-
8106, the LabView-RT operation system, an M-series interface card PXI-6251, a
serial port interface card PXI-8433/4 and so on. The PXI remote platform can pro-
vide remote motion data of simulation scenario to the SimGEN PC through TCP/IP
network protocol at a rate of 64 Hz. Figure 15 shows the updated configuration of the
proposed test bench, which is part of the ACDESS. In order to synchronize devices,
the GSS7700 is commanded to generate pulse per second (PPS) signals which are
then sent to the PXI platform for clock synchronization. A PXI-6521 in PXI remote
platform is used to measure the synchronous pulse signals from the GSS7700 but
the PXI does not send any timing compensation signals back to the GSS7700.
As shown in Fig. 15, the PXI products are separated into two dedicated stand-
alone PXI subsets. One serves as the flight software controller and takes care of
mode transition, guidance, navigation and attitude control, etc. The other plays the
role of hardware modeling and provides information such as flight dynamics, space
environment, and ephemeris, etc. The architecture of PXI subsets is illustrated in
Fig. 16. Meanwhile, some of the acronyms in Fig. 16 are summarized in Table 4.
All of the test results, the performance of ESGNSSR and verification performed on
NI-PXI products, are going to be presented in experimental results.
The ESGNSSR is integrated into the ACDESS platform proposed in this paper
to form a closed loop test system. The communication process of this system is
roughly like this. First, the Dynamics / Environments Software Simulator running
on a PXIe-8133 sends the satellite information generated from the numerical models
to the GSS7700’s controller, SimGEN, through an Ethernet cable. The GSS7700
544 H.-Y. Chang et al.

GPS Testbed SimGEN PC Signal Generator 7700

TCP/IP Network IEEE-488 Local Bus

RF Cable
PXI Remote System

Serial Port

Fig. 15 Configuration of test bench

ACS Flight Software (PXI-1/PXI-8106) Dynamics/Environments (PXI-2/PXIe-8133)


LabVIEW-RT/10.0 LabVIEW-RT/10.0
SAD SAD
S/W I/F S/W I/F
Satellite &
Actuators
Serial Port/PXI-8433-4

Serial Port/PXI-8433-4

Dynamics
MTQ MTQ
Data Unpack

S/W I/F x16_Ch S/W I/F


Data Pack

RWA RWA
S/W I/F S/W I/F
Space
Environment
STR STR
S/W I/F S/W I/F
FSW
Controller
&
Mode Transition RWA RWA
S/W I/F S/W I/F
Ephemeris
Serial Port/PXI-8433-4

Serial Port/PXI-8433-4

MAG MAG
Data Unpack

S/W I/F x15_Ch S/W I/F


Data Pack

CSS x1_Ch CSS


S/W I/F S/W I/F
Hardware
PV

Models
STR STR
S/W I/F S/W I/F
4Hz Digital IO x1_Ch x1_Ch Digital IO 64Hz
PXI-6229 PXI-6229
PPS
PPS

Ethernet
PVT

Signal
RF
SEGNSSR Generator SimGEN
7700

Fig. 16 The Architecture of ACDESS


A Space-Borne GNSS Receiver … 545

Table 4 The Glossary of the FSW Flight software


acronyms used in Fig. 16
SAD Solar array driver
MTQ Magnetic torquer
RWA Reaction wheel assembly
MAG Magnetometer
CSS Coarse sun sensor
STR Star tracker

broadcasts compatible RF signals based on the information received by SimGEN.


The GSS7700 is then connected to the ESGNSSR via an RF cable of approximately
1 m long. The ESGNSSR will instantly resolve the PVT information according to
the RF signal received at that time and then send the data to the PXI-8106, which is
responsible for executing the Attitude Control Software Simulator via a serial port
interface. Up to this moment, partial evaluation work of hardware-in-the-loop (HIL)
has completed on such a satellite performance verification platform. But it is still
necessary to prepare complete information of the remaining components, as listed
in Table 4, to allow the whole system operating properly. It is not the purpose of this
paper to integrate all components into this closed loop system. Therefore, the rest
components will be substituted by corresponding numerical models, and complete
their communication tasks through the serial port interface.

4 Experimental Results

4.1 New System Resource

After its function extended, the FPGA regularly provides the calculation results from
FSA and Correlation to DSP per millisecond and the Tracking module in DSP will
subsequently continue to finish all remaining algorithm steps. Next, the Navigation
module is executed after the Tracking module and allowed to use only the remaining
time in each millisecond. The real-time scheduling of tasks is depicted in Fig. 17.
Based on the usage of system resources, one can investigate the system perfor-
mance after the functional extension work. The DSP bus occupies only 0.9% and the
real-time tasks utilize less than 6% of the CPU time as shown in Fig. 18.
Significant reduction of the bus work-load can be attributed to no more large
amount of RF raw data processed by DSP directly. Only some critical information
instead of raw data is processed by the DSP. Similarly, the huge amount of calculation
in the Correlator is also passed on to the FPGA. The number of CPU requests from
real-time tasks finally decrease significantly in the DSP.
546 H.-Y. Chang et al.

0 1 2 ……. 1000 1001 ……. 2000 2001 ……. Time (ms)

FSA + Correlating
FPGA

High Priority Tracking

Low Priority Navigation


DSP
Interrupt End of execution & trigger corresponding thread Preempted by higher priority thread

Fig. 17 The real-time scheduling of new tasks

Fig. 18 The system resource usage of ESGNSSR

Table 5 FPGA compile report of ESGNSSR


CORE Used: 70191 Total: 75264 93.26%
IO_(W/_clocks) Used 146 Total: 147 99.32%
Differential_IO Used: 0 Total: 65 0.00%
GLOBAL_(Chip+Quadrant) Used: 6 Total: 18 33.33%
PLL Used: 1 Total: 2 50.00%
RAM/FIFO Used: 109 Total: 112 97.32%
Low_Static_ICC Used: 0 Total: 1 0.00%
FlashROM Used: 0 Total: 1 0.00%
User_JTAG Used: 0 Total: 1 0.00%

In the new FPGA logic design, the usage of logic gates and memory currently
reaches about 93.26 and 97.32% separately. The resources of the FPGA are almost
used up as listed in Table 5 which is derived from the report of system resource usage
after the logic circuit compiled.
A Space-Borne GNSS Receiver … 547

4.2 Performance Comparison with SGR

By using a GPS-L1 roof antenna mounted on the NSPO I and T facility with a
repeater and a divider, a performance test was conducted to compare the GPS signal
tracking capability of both versions of receivers, the original GPS software receiver
and the one with extended functions. The test result is shown in Fig. 19 in which the
blue line represents the number of satellites tracked and red line means the number
of satellites used for navigation solution. Both receivers make no big difference in
performance when they track GPS signals on the ground.
Moreover, a RF signal generator (GSS7700) manufactured by SPIRENT and a
divider were used in another test in which the space scenario was set to be in Low
Earth Orbit (LEO) of 600 km altitude for comparing GPS signal tracking capability
of both versions of receivers. The test result is shown in Fig. 20 in which the blue
line represents the number of tracked GPS satellites and the red line represents the
number of GPS satellites used for navigation solution. Both receivers have similar
performance in space scenario test case as well. Many other performance verification
tests can be found in published papers and there is no need to elaborate any further
here.

FPGA SampleUnpack, Correlator


Ground antenna scenario
12
10
SV Quantity

8
6
4
2

0 Time (sec) 80000

DSP Pure software


Ground antenna scenario
12
10
SV Quantity

8
6
4
2

0 Time (sec) 80000

Fig. 19 Tracking performance in ground scenario


548 H.-Y. Chang et al.

FPGA SampleUnpack, Correlator


Space scenario
12

10
SV Quantity

8
6

0 60000
Time (sec)
DSP Pure software
Space scenario
12

10
SV Quantity

0 60000
Time (sec)

Fig. 20 Tracking performance in space scenario

Pos_Err Zoom In
20
Magnitude (m)

15
10
5
0
0 2000 4000 6000 8000 10000 12000 14000 16000 18000

Vel_Err Zoom In
Magnitude (m/s)

0.4
0.3
0.2
0.1
0
0 2000 4000 6000 8000 10000 12000 14000 16000 18000

Tracking Status
12
10
Quantity

8
6
4 Used
2 Tracked
0
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
Time (s)

Fig. 21 The performance validation of ESGNSSR


A Space-Borne GNSS Receiver … 549

4.3 Performance Validation in ACDESS

As shown in Fig. 21, this navigation error is calculated by the ESGNSSR when the
satellite is operating in the Normal Mode scenario. Note that a significant navigation
error occurred between 1800 and 1900s due to a large-angle maneuvering of the
satellite. However, there are not significant navigation errors bursting during the
remaining satellite maneuvers.

5 Conclusions

In this study, the Decimation-In-Time (DIT) Radix-2 is used for FFT. However, it is
impossible to perform continuous computation (streaming mode) because its input
and output have only one 128Kbits buffer individually. This constraint makes every
new FFT process must wait until current FFT process is complete. Hence, the FFT
process has a major impact on the real-time requirement in whole system. In addition
to implementing new functions for logic circuits, much time and effort were spent
on solving time-mismatch issues occurred during system integration involving the
FPGA and the DSP. It is worth reminding that appropriate allocation of CPU resources
is also an important determining factor in ensuring all real-time tasks completed as
scheduled.
Moreover, improving utilization of the DSP bus has paved the way for successful
interface extension allowed to accommodate more different types of GPS data in
the multi-mode and multi-band GPS receiver. Saving more available CPU resources
for future use could be deemed as a remarkable extra achievement of this study.
The feasibility of functional extension of NSPO’s space qualified SGR has been
successfully verified through all tests presented in this paper.
The real-time ACDESS platform proposed in this paper is a functional evaluation
system which completely emulates the engineering models of the FORMOSAT-7
NSPO-Built satellite. It includes the complete satellite attitude control algorithms,
flight software operation time slots, the integration of hardware interface, and the
implementation of dynamics/environment models. To sum up, the successful verifi-
cation of functionality and performance of this receiver on the designated platform
makes NSPO more confident in planning more upcoming satellite navigation mis-
sions.

References

1. Kuehl CTF et al (2008) GNSS goes LEON – a LEON-2 based GNSS receiver for space
applications. In: 7th internationalesa conference on guidance, navigation and control system
2. Markgraf M et al (2002) A flexible GPS tracking system for sub-orbital and space vehicles. In:
9th Saint Petersburg international conference on integrated navigation systems
550 H.-Y. Chang et al.

3. NSPO, Taiwan (2016) Self-reliant key component of FORMOSAT-7. http://www.nspo.org.tw/


2008e/projects/project7/components.html
4. SURREY, UK (2016). SGR-20 space GPS receiver. https://www.sstl.co.uk/Products/
Subsystems/Navigation/SGR-20-Space-GPS-Receiver
5. Airbus Defence and Space, France (2014) MosaicGNSS receiver. www.space-airbusds.com/
media/document/pdh_8_gps-2014_bd.pdf
6. Gerner JL et al (2000) TOPSTAR 3000 – an enhanced GPS receiver for space applications. In:
Final presentation of topstar 3000 and the experimential GPS attitude receiver
7. NSPO, Taiwan (2016) Program description of FORMOSAT-7. http://www.nspo.org.tw/2008e/
projects/project7/program-description.html
8. Chang, H-Y et al. (2013) Performance demonstration of NSPO space-borne GPS receiver. In:
Proceedings of ION
Trajectory Shaping Guidance Law Based
on Downrange-to-Go Polynomial

Namhoon Cho, Youdan Kim, Hyo-Sang Shin and Antonios Tsourdos

1 Introduction

Ground or naval targets are usually equipped with the defensive measures and
anti-missile systems such as armoured shield for self-protection, electronic jammer,
close-in weapons system, etc. However, those measures cannot provide isotropic and
uniform defensive power over all directions due to limited coverage. In other words, a
certain direction around the target is more vulnerable to incoming attack than others.
From the view of offensive missile, it will be advantageous to have a capability of
hitting the target from a desired impact direction.
On the other hand, it is desirable in most cases to regulate the lateral acceleration
to zero as the missile approaches to the target. This is to maximize the hit probability
and the destructive power of warhead, to reduce the angle-of-attack at the moment of
impact, and to allow small correction near the end of engagement. Most importantly,
zero terminal acceleration constraint is necessary to avoid command saturation at the
end of homing phase, because the control authority and the margin for manoeuvre
in response to external disturbances can be maintained by ensuring this constraint.
To meet the above requirements, several guidance laws have been developed
to cope with terminal impact angle constraint while reducing terminal manoeuvre

N. Cho · Y. Kim (B)


Department of Mechanical and Aerospace Engineering, Seoul National University,
Seoul, Korea
e-mail: ydkim@snu.ac.kr
N. Cho
e-mail: nhcho91@snu.ac.kr
H.-S. Shin · A. Tsourdos
School of Aerospace, Transport and Manufacturing, Cranfield University, Cranfield,
Bedfordshire, United Kingdom
e-mail: h.shin@cranfield.ac.uk
A. Tsourdos
e-mail: a.tsourdos@cranfield.ac.uk
© Springer International Publishing AG 2018 551
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_30
552 N. Cho et al.

demand at the same time [1–10]. Time-to-go Polynomial Guidance law (TPG) pre-
sented in [2, 4] is of concern in this study. TPG is a class of guidance laws with
terminal impact angle and acceleration constraints, which is a general framework of
trajectory shaping guidance law design. To design the TPG, the form of acceleration
command is given by a polynomial of time-to-go, and the coefficients of the polyno-
mial are determined by terminal boundary conditions. TPG is known as a guidance
scheme that provides several promising results in theoretical analysis, flexibility of
tuning, and good performance. Moreover, TPG is a general form of trajectory shap-
ing guidance laws for terminal impact angle control, and weighted linear quadratic
optimal guidance laws with terminal impact angle constraint can be regarded as a
specific type of TPG.
In this study, a modified approach is proposed to improve several shortcomings
of the TPG. In [2, 4], TPG was designed by designating acceleration command as
a polynomial of time-to-go. Note that TPG has been developed on the basis of lin-
earized engagement kinematics with constant speed assumption. Also, the guidance
command is given by an explicit function of time-to-go for which an approximate
estimate is only available rather than the exact one. Unlike the TPG, in this study, the
desired crossrange trajectory is constructed using a polynomial of downrange-to-go,
which is the first step of a new trajectory shaping guidance law design. By doing
this, the proposed guidance law does not depend on (1) linearization of engagement
kinematics, (2) assumption of constant speed missile, and (3) inaccurate time-to-go
estimate. In summary, the proposed approach overcomes the shortcomings of TPG
while sharing similarities in its design philosophy.
The key idea of the proposed approach is to assign a desired crossrange pattern as
a function of downrange-to-go, instead of other options for the independent variable
such as time-to-go, range-to-go, or path-length-to-go. If time-to-go is chosen as the
independent variable for describing the desired trajectory, then it is hard to deal with
time-varying speed case and the final command will depend on inaccurate time-to-go
estimate. If path-length-to-go is chosen, then the constant speed assumption can be
relaxed. However, the design in this case is identical to the previous one using the
time-to-go except the change-of-variable in engagement kinematics, and it is difficult
to represent the path-length-to-go as an exact form. Or, if range-to-go is used to
describe the desired trajectory, then it will be difficult to consider the terminal impact
angle constraint. To treat the shortcomings of the previous methods, downrange-to-go
is used to describe the desired trajectory in this study. Also, the proposed approach
does not require linearization of engagement kinematics. Note that this approach
differs from performing feedback linearization of engagement kinematics first and
then designing the virtual control as a polynomial of downrange-to-go.
The rest of this paper is organized as follows: The problem of stationary target
interception with terminal constraints is formulated in Sect. 2. The trajectory shaping
guidance law is proposed and its properties are discussed in Sect. 3. Numerical sim-
ulation is performed to demonstrate the effectiveness of the proposed guidance law
and the results are shown in Sect. 4. Concluding remarks are summarized in Sect. 5.
Trajectory Shaping Guidance Law … 553

2 Problem Formulation

In this section, assumptions to design a guidance law, equations of planar engagement


kinematics, and problem statement are described.

2.1 Assumptions

The following assumptions are considered to design and analyse the guidance law
proposed in this study.

Assumption 1 The target is stationary, and the velocity and acceleration vectors of
the missile lies on a plane for all time, i.e., the engagement is two-dimensional.

Assumption 2 The missile is a lag-free point-mass such that the actual lateral accel-
eration equals to the commanded lateral acceleration without time-delay and distor-
tion.

Assumption 3 The information on the position and velocity of the missile and the
position of the target is available from sensors without time-delay and noise.

Assumption 4 The (initial) velocity of the missile is within ±90 deg from the
desired terminal impact direction.

Note that Assumption 2 does not influence on the tangential acceleration which is
related to the change of speed. The lateral (normal) acceleration is only related to the
change of flying direction and therefore to the geometric shape of the curve flown
by missile.

2.2 Planar Engagement Kinematics

Figure 1 shows the planar


 homing
 engagement geometry considered in this study. In
Fig. 1, (X I , Y I ) and X f , Y f denote the inertial coordinate system and the impact
coordinated system, respectively. The impact coordinate system has its origin on the
stationary target T , X -axis is aligned to the desired terminal impact direction, and γ fd
is the flight path angle for the desired terminal impact direction. For the missile M,
(x, y) is the position with respect to the impact coordinate system, VM is the speed,
γ M is the flight path angle, and a nM is the lateral acceleration. The downrange-to-go
denoted by x go is the remaining distance to the target along X f -axis, and x go = −x
by construction. The flight path angle error is defined as follows

γ̄ M  γ M − γ fd (1)
554 N. Cho et al.

Yf
YI
VM

γM Xf
aMn
γ M γ fd
M
T γ fd

y
xgo   x

XI

Fig. 1 Planar engagement geometry

The motion of the missile can be represented in the impact coordinate system as

ẋ = VM cos γ̄ M , x (t0 ) = x0 < 0


ẏ = VM sin γ̄ M , y (t0 ) = y0
(2)
an π
γ̄˙M = M , |γ̄ M (t0 )| <
VM 2

where (˙) = dtd ( ), and γ̄ M (t0 ) = γ̄ M0 = γ M0 − γ fd . Due to Assumption 4 which


 
implies that ẋ (t) ≥ 0 for ∀t ∈ t0 , t f , the downrange x can be used as an inde-
pendent variable instead of the time t, then equation of motion can be rewritten
as

y  = tan γ̄ M (3)
 
a nM a nM a nM
γ̄ M = = 1 + tan 2 γ̄ =
M 1 + y2 (4)
VM 2 cos γ̄ M VM 2 VM 2

where ( ) = d
dx ( ). The second derivative of y with respect to x can be derived as

d d    
y  = tan γ̄ M = γ̄ M tan γ̄ M = γ̄ M 1 + tan2 γ̄ M = γ̄ M 1 + y 
2
(5)
dx d γ̄ M

Equation (4) can be rewritten using Eq. (5) as follows.

y 
a nM =   23 VM = κ VM
2 2
(6)
1 + y2
Trajectory Shaping Guidance Law … 555

Note that κ in Eq. (6) is the curvature of the curve flown by missile. Additionally,
the derivative of the lateral acceleration with respect to x can be derived as follows.

 n  
ȧ nM ȧ n
aM = = M 1 + y2
VM cos γ̄ M VM
 
y  1 + y  − 3y  y  2
2 (7)
2y 
=   VM 2 + V̇M
1 + y2
5
1 + y2 2

2.3 Problem Statement

The constraints on the miss distance, impact angle, and acceleration at the terminal
time can be represented as follows.
 
y tf = 0 (8)
 
γ̄ M t f = 0 (9)
 
a nM t f = 0 (10)
 
Let t f be the time instance when x becomes zero, i.e., x t f = 0. Considering Eqs.
(3) and (6), the terminal constraints of Eqs. (8)–(10) are equivalent to the following
conditions using the changed independent variable x.

y (0) = 0 (11)
y  (0) = 0 (12)
y  (0) = 0 (13)
 
Note that, if ȧ nM t f = 0 is considered as an additional constraint, then, in view of
Eq. (7), y  (0) = 0 is required in addition to Eq. (13).
The problem to be solved in this study is to design a guidance law a nMcmd with
which all of the terminal constraints given by Eqs. (8)–(10) (or equivalently, Eqs.
(11)–(13)) can be achieved.

3 Guidance Law Based on Downrange-to-Go Polynomial

This section is devoted to the development of a new trajectory shaping guidance law
based on desired crossrange pattern given by a polynomial of downrange-to-go.
556 N. Cho et al.

3.1 Design of Guidance Law

3.1.1 Desired Crossrange Pattern

Let the desired crossrange pattern be the polynomial of downrange-to-go which can
be written as

 m  cm
y (x) = cm x go + cn x go = x go x go
m n n
(14)
cn
 
where x go = x t f − x = −x, m and n are the design parameters satisfying m >
n ≥ 2, and cm , cn are the constant coefficients. The derivatives of Eq. (14) can be
written as follows.


  cm
y (x) = − mx go m−1
nx go n−1
(15)
cn

  cm
y  (x) = m (m − 1) x go m−2 n (n − 1) x go n−2 (16)
cn

It can be concluded from Eqs. (14)–(16) that the constraints of Eqs. (11)–(13), which
are equivalent to the constraints of Eqs. (8)–(10), will be satisfied if m and n are chosen
to be m > n >2. If m > n > 3, then the additional constraint on the terminal jerk,
namely ȧ nM t f = 0, can be satisfied at the same time.

3.1.2 Determination of Coefficients

Equations (14) and (15) can be augmented into matrix form as follows.


y (x) x go m x go n cm
= (17)
y  (x) −mx go m−1 −nx go n−1 cn

The coefficients cm and cn can be determined by the initial conditions. Since down-
range is used as a new independent variable in this study, the initial conditions given
in Eq. (2) can be rewritten as follows.

y (x0 ) = y0
(18)
γ̄ M (x0 ) = γ̄ M0

Using Eqs. (3) and (18), the initial slope of the crossrange pattern can be calculated
as
y  (x0 ) = tan γ̄ M0 (19)
Trajectory Shaping Guidance Law … 557

Considering Eqs. (18) and (19) in Eq. (17), the coefficients can be obtained as follows


−1

cm x go0 m x go0 n y0
=
cn −mx go0 m−1 −nx go0 n−1 tan γ̄ M0

1 −nx go0 −m −x go0 −m+1 y0


= (20)
m − n mx go0 −n x go0 −n+1 tan γ̄ M0
 

1 − ny0 + x go0 tan γ̄ M0 x go0 −m


=
m−n my0 + x go0 tan γ̄ M0 x go0 −n

where x go0 = −x0 > 0.

3.1.3 Closed-Form Solution

Substituting Eq. (20) into Eq. (17) and considering Eq. (3) yields the closed-form
solution for the desired crossrange trajectory in terms of downrange-to-go.



−1

y (x) x go m x go n x go0 m x go0 n y0


=
tan γ̄ M (x) −mx go m−1 −nx go n−1 −mx go0 m−1 −nx go0 n−1 tan γ̄ M0
(21)

Because the coefficients obtained in Eq. (20) are constants, Eq. (21) can be reinter-
preted as the existence of an invariant quantity c throughout the engagement.

−1

−1

x go m x go n y x go0 m x go0 n y0
=
−mx go m−1
−nx go n−1 tan γ̄ M −mx go0 m−1 −nx go0 n−1 tan γ̄ M0
=c
(22)

3.1.4 Guidance Command

Equation (6) can be rewritten using Eqs. (3) and (16) as

a nM (x) = y  (x) cos3 γ̄ M (x) VM 2


  cm (23)
= m (m − 1) x go m−2 n (n − 1) x go n−2 cos3 γ̄ M (x) VM 2
cn

The open-loop form guidance command can be obtained by substituting Eq. (20)
into Eq. (23) as follows.
558 N. Cho et al.

  cm
a nMcmd = m (m − 1) x go m−2 n (n − 1) x go n−2 cos3 γ̄ M VM 2
cn

  −nx go0 −m −x go0 −m+1 y0


= m (m − 1) x go m−2 n (n − 1) x go n−2
mx go0 −n x go0 −n+1 tan γ̄ M0
1
· cos3 γ̄ M VM 2
m−n
  
mn x go m x go n
= − 2 (m − 1) − (n − 1) y0
x go x go0 x go0
   
1 x go m−1 x go n−1
+ m (m − 1) − n (n − 1) tan γ̄ M0
x go x go0 x go0
1
· cos3 γ̄ M VM 2
m−n
(24)
Because of the relation shown in Eq. (22), finally, the guidance command can be
rewritten in closed-loop feedback form as follows.

mn m+n−1
a nMcmd =− y+ tan γ̄ M cos3 γ̄ M VM 2 (25)
x go 2 x go

3.2 Properties of Guidance Law

Using the guidance law of Eq. (25), the missile will follow the desired trajectory
given by Eq. (14). The critical points and the inflection points of y (x), at which y 
and y  equals to zero, respectively, occurs at

y = 0 : x go = 0,

1   1
cn n m−n n my0 + x go0 tan γ̄ M0 m−n
x gocr t = − =   x go0
cm m m ny0 + x go0 tan γ̄ M0
y  = 0 : x go = 0,

1    m−n
1
cn n (n − 1) m−n n (n − 1) my0 + x go0 tan γ̄ M0
x goin f = − =   x go0
cm m (m − 1) m (m − 1) ny0 + x go0 tan γ̄ M0
(26)
Note that the missile with trajectory y (x) will change its turning direction at the
critical points, and the lateral acceleration will be zero at the inflection points. It can
be observed in Eq. (26) that the critical and inflection points of the desired trajectory
occurs at the points with certain ratios to the initial downrange-to-go.  
According to the extreme value theorem, the maximum  y   may occur at
x go = x go0 , x go = 0, or x go = x goin f . If m > n ≥ 2, it is trivial that y  (0) = 0 by
Trajectory Shaping Guidance Law … 559

the proposed design, and therefore,


      
max  y  (x) = max  y  (x0 ) ,  y  −x goin f  (27)
x

For the curvature κ given in Eq. (6), the following is always true.
  
 y (x)   
|κ (x)| =   
 23 ≤ y (x) (28)
1 + y  (x) 2

Therefore, from Eqs. (27) and (28), the boundedness of curvature can be guaranteed.
    
|κ (x)| ≤ max  y  (x0 ) ,  y  −x goin f  (29)

Note from Eq. (6) that the upper bound on curvature implies that of lateral accelera-
tion, and consequently, Eq. (29) can be used to adjust the desired trajectory consid-
ering the manoeuvrability limit of missile.
The desired terminal constraints can be achieved with the proposed trajectory
shaping guidance law based on the desired crossrange pattern given by a polynomial
of downrange-to-go. The characteristics of engagement can be controlled with the
choice of design parameters m and n. As mentioned in introduction, the proposed
guidance law of Eq. (25) does not depend on (1) linearized engagement kinematics,
(2) constant speed assumption, and (3) inaccurate time-to-go estimate. Exact non-
linear engagement kinematics equations are considered in the design process of the
proposed guidance law without constant speed assumption. Also, the downrange-to-
go entering into the guidance command can be obtained without any approximation.

4 Numerical Simulation

Numerical simulation is performed to demonstrate the effectiveness of the proposed


guidance law. The simulation results are described in this section.

4.1 Simulation Environment

The closed-loop form guidance command is utilized to demonstrate the proposed


method. The horizontal plane is assumed to be the engagement plane for the simu-
lation. To include the effect of speed change in the simulation, the following simple
model is utilized
CD ρ S
V̇M = − 0 VM 2 (30)
2m̄
560 N. Cho et al.

Table 1 Simulation parameters for the missile and the target


Parameter Value Unit
 
X M (t0 ) , Y M I (t0 ) (0, 1000) m
 I 
X TI , YTI (4000, 0) m
VM (t0 ) 200 m/s
C D0 0.02 –
m̄ 90.035 kg
ρ 1.2041 kg/m3
S 0.2 m2

Table 2 Guidance parameters, initial flight path angle, and terminal impact angle
(m, n) γ M0 [deg] γ fd [deg]
Case 1 (5, 4) 0 −75 : 15 : 0
Case 2 (5, 4) −90 : 15 : 30 −45
Case 3 (6, 5), (5, 5), (5, 4), 0 −45
(5, 3), (4, 3), (3, 2)

where C D0 is the zero-lift drag coefficient, ρ is the atmospheric density, m̄ and S are
the mass and reference area of the missile, respectively.
Three simulation cases are considered in this study. In Case 1, simulation is
performed using the proposed guidance law with (m, n) = (5, 4) for various terminal
impact angles with fixed initial flight path angle, and vice versa in Case 2. In Case
3, simulation is performed for various design parameters with fixed terminal impact
angle and initial flight path angle. Initial position of the missile and the target for
Cases 1–3, and the physical parameters of the missile are summarized in Table 1.
Guidance parameters (m, n), initial flight path angle, and the terminal impact angle
for Cases 1–3 are summarized in Table 2.

4.2 Simulation Results

4.2.1 Case 1: Various γ fd , Fixed γ M0 and (m, n)

Figures 2, 3, 4, 5 and 6 show the trajectories in the inertial coordinate system, the
lateral acceleration commands, the speed histories, the crossranges with respect to
the impact angle coordinate system, and the flight path angle errors, respectively.
Simulation results of Case 1 shows that various desired terminal impact directions
can be handled with the proposed guidance law.
Trajectory Shaping Guidance Law … 561

2000

1500

1000
YI [m]

500

0 = -75 [deg]
= -60 [deg]
= -45 [deg]
-500 = -30 [deg]
= -15 [deg]
= 0 [deg]
-1000
0 500 1000 1500 2000 2500 3000 3500
XI [m]

Fig. 2 Case 1: X I -Y I trajectory

20

10

0
[m/s2 ]

-10

-20
aM
n

= -75 [deg]
-30 = -60 [deg]
= -45 [deg]
= -30 [deg]
-40 = -15 [deg]
= 0 [deg]
-50
0 5 10 15 20 25
t [s]

Fig. 3 Case 1: lateral acceleration a nM


562 N. Cho et al.

200

= -75 [deg]
= -60 [deg]
195 = -45 [deg]
= -30 [deg]
= -15 [deg]
= 0 [deg]
190
VM [m/s]

185

180

175
0 5 10 15 20 25
t [s]

Fig. 4 Case 1: speed VM

1000

500

-500

-1000
y [m]

-1500

-2000 = -75 [deg]


= -60 [deg]
-2500 = -45 [deg]
= -30 [deg]
-3000
= -15 [deg]
= 0 [deg]
-3500

-4000
0 5 10 15 20 25
t [s]

Fig. 5 Case 1: crossrange y


Trajectory Shaping Guidance Law … 563

80

60

40

20

0
= -75 [deg]
= -60 [deg]
-20 = -45 [deg]
= -30 [deg]
= -15 [deg]
-40 = 0 [deg]
0 5 10 15 20 25
t [s]

Fig. 6 Case 1: flight path angle error γ̄ M

4.2.2 Case 2: Various γ M0 , Fixed γ fd and (m, n)

Figures 7, 8, 9, 10 and 11 show the trajectories in the inertial coordinate system, the
lateral acceleration commands, the speed histories, the crossranges with respect to
the impact angle coordinate system, and the flight path angle errors, respectively.
Simulation results of Case 2 shows that the  proposed
 guidance law can cope with
various initial flight path angles, as long as γ̄ M0  < π2 . A limitation of the proposed
guidance law is that the missile flies in a pattern that x go is always decreasing with
respect to time, but this is not a severe restriction.

4.2.3 Case 3: Various (m, n), Fixed γ M0 and γ fd

Figures 12, 13, 14, 15 and 16 show the trajectories in the inertial coordinate system,
the lateral acceleration commands, the speed histories, the crossranges with respect
to the impact angle coordinate system, and the flight path angle errors, respectively.
For a given initial flight path angle and a terminal impact angle, Case 3 shows
that the engagement trajectory can be adjusted by the choice of design parameters
m and n. The case of (m, n) = (3, 2) is included in Case 3 to show that the terminal
acceleration constraint can be met only if m > n > 2. Also, the cases of (m, n) =
(5, 3) , (4, 3) are included in Case 3 to show that the terminal jerk constraint can
be met only if m > n > 3. In addition, Fig. 13 shows that the magnitude of the
initial lateral acceleration increases with greater m + n. Furthermore, interception is
achieved while the missile is decelerating in all cases. Therefore, it can be concluded
564 N. Cho et al.

2000

1500

1000
YI [m]

= -90 [deg]
500 = -75 [deg]
= -60 [deg]
= -45 [deg]
0 = -30 [deg]
= -15 [deg]
= 0 [deg]
-500 = 15 [deg]
= 30 [deg]
0 500 1000 1500 2000 2500 3000 3500
XI [m]

Fig. 7 Case 2: X I -Y I trajectory

200

150

= -90 [deg]
= -75 [deg]
100 = -60 [deg]
anM [m/s2 ]

= -45 [deg]
= -30 [deg]
= -15 [deg]
50 = 0 [deg]
= 15 [deg]
= 30 [deg]

-50
0 5 10 15 20 25
t [s]

Fig. 8 Case 2: lateral acceleration a nM


Trajectory Shaping Guidance Law … 565

200
= -90 [deg]
= -75 [deg]
= -60 [deg]
195 = -45 [deg]
= -30 [deg]
= -15 [deg]
= 0 [deg]
190 = 15 [deg]
VM [m/s]

= 30 [deg]

185

180

175
0 5 10 15 20 25
t [s]

Fig. 9 Case 2: speed VM

500

-500
y [m]

-1000
= -90 [deg]
= -75 [deg]
= -60 [deg]
-1500 = -45 [deg]
= -30 [deg]
= -15 [deg]
-2000 = 0 [deg]
= 15 [deg]
= 30 [deg]
-2500
0 5 10 15 20 25
t [s]

Fig. 10 Case 2: crossrange y


566 N. Cho et al.

80

60

40

20
[deg]

= -90 [deg]
0 = -75 [deg]
= -60 [deg]
= -45 [deg]
-20
= -30 [deg]
= -15 [deg]
-40 = 0 [deg]
= 15 [deg]
= 30 [deg]
-60
0 5 10 15 20 25
t [s]

Fig. 11 Case 2: flight path angle error γ̄ M

2000

1500

1000
YI [m]

500
(m, n) = (6, 5)
(m, n) = (5, 5)
0
(m, n) = (5, 4)
(m, n) = (5, 3)
(m, n) = (4, 3)
-500
(m, n) = (3, 2)

0 500 1000 1500 2000 2500 3000 3500


XI [m]

Fig. 12 Case 3: X I -Y I trajectory

from the results of Cases 1–3 that the proposed guidance law can achieve stationary
target interception with given terminal impact angle and acceleration constraints,
together with the flexibility of shaping.
Trajectory Shaping Guidance Law … 567

40

(m, n) = (6, 5)
30
(m, n) = (5, 5)
(m, n) = (5, 4)
20 (m, n) = (5, 3)
(m, n) = (4, 3)
(m, n) = (3, 2)
[m/s2 ]

10
aM

0
n

-10

-20

-30
0 5 10 15 20 25
t [s]

Fig. 13 Case 3: lateral acceleration a nM

200

(m, n) = (6, 5)
(m, n) = (5, 5)
195 (m, n) = (5, 4)
(m, n) = (5, 3)
(m, n) = (4, 3)
(m, n) = (3, 2)
190
VM [m/s]

185

180

175
0 5 10 15 20 25
t [s]

Fig. 14 Case 3: speed VM


568 N. Cho et al.

500

-500
y [m]

-1000

(m, n) = (6, 5)
-1500 (m, n) = (5, 5)
(m, n) = (5, 4)
(m, n) = (5, 3)
-2000 (m, n) = (4, 3)
(m, n) = (3, 2)

-2500
0 5 10 15 20 25
t [s]

Fig. 15 Case 3: crossrange y

60

50

40

30

20
(m, n) = (6, 5)
(m, n) = (5, 5)
10 (m, n) = (5, 4)
(m, n) = (5, 3)
(m, n) = (4, 3)
0 (m, n) = (3, 2)

-10
0 5 10 15 20 25
t [s]

Fig. 16 Case 3: flight path angle error γ̄ M


Trajectory Shaping Guidance Law … 569

5 Conclusion

A new trajectory shaping guidance law was proposed to achieve interception of a


stationary target with terminal flight path angle and acceleration constraints. The
desired crossrange pattern was designed as a polynomial of downrange-to-go, which
might supplement the existing trajectory shaping guidance law. The proposed guid-
ance law was derived without linearization of engagement kinematics, and constant
speed assumption. Also, the time-to-go estimate is not required to implement the
proposed guidance law.

Acknowledgements This work was conducted at High-Speed Vehicle Research Center of KAIST
with the support of Defense Acquisition Program Administration (DAPA) and Agency for Defense
Development (ADD).

References

1. Kim H, Kim HJ (2015) Missile guidance law considering constraints on impact angle and
terminal angle of attack. In: AIAA guidance, navigation, and control conference, Kissimmee,
FL. https://doi.org/10.2514/6.2015-0861
2. Kim TH, Lee CH, Tahk MJ (2011) Time-to-go polynomial guidance laws with terminal impact
angle/acceleration constraints. In: 18th IFAC world congress, Milano, Italy. https://doi.org/10.
3182/20110828-6-IT-1002.02304
3. Lee CH (2013) Optimal guidance laws using generalized weighting functions. PhD thesis,
Korea Advanced Institute of Science and Technology
4. Lee CH, Kim TH, Tahk MJ, Whang IH (2013) Polynomial guidance laws considering terminal
impact angle and acceleration constraints. IEEE Trans Aerosp Electron Syst 49(1):74–92.
https://doi.org/10.1109/TAES.2013.6404092
5. Lee YI, Ryoo CK, Kim E (2003) Optimal guidance with constraints on impact angle and
terminal acceleration. In: AIAA guidance, navigation, and control conference, Austin, TX.
https://doi.org/10.2514/6.2003-5795
6. Moon HB, Jung YK, Ra WS (2015) Terminal acceleration stabilizing guidance law for
impact angle constrained interception of a non-maneuvering target. Int J Control Autom Syst
13(6):1410–1422. https://doi.org/10.1007/s12555-014-0196-z
7. Ohlmeyer EJ (2003) Control of terminal engagement geometry using generalized vector explicit
guidance. In: American control conference, Denver, CO. https://doi.org/10.1109/ACC.2003.
1238981
8. Ohlmeyer EJ, Phillips CA (2006) Generalized vector explicit guidance. J Guidance Control
Dyn 29(2):261–268. https://doi.org/10.2514/1.14956
9. Ryoo CK, Cho H, Tahk MJ (2006) Time-to-go weighted optimal guidance with impact angle
constraints. IEEE Trans Control Syst Technol 14(3):483–492. https://doi.org/10.1109/TCST.
2006.872525
10. Ryoo CK, Kim HJ, Tahk MJ, Lee JI (2009) Optimal guidance law: impact angle & terminal
lateral acceleration control. In: 14th IFAC workshop on control applications of optimization,
Jyväskylä, Finland. https://doi.org/10.3182/20090506-3-SF-4003.00059
MIMO Attitude Control for a Spinning
Rocket

W.C. Leite Filho, J. Guimaraes and L. Galembeck

1 Introduction

When dealing with rockets that present no direct roll control, it is possible that
disturbances along the system may introduce some roll rate [10]. The highly coupled
nature of the rocket’s equations of motion make the study of its dynamic a very
complex subject [7, 9]. It is necessary to understand how well a given control system
is able to deal with such perturbations.
In this paper, we are interested in studying the performance of a multiple-input-
multiple-output (MIMO) controller with roll input and how it compares to a single-
input-single-output (SISO) PID controller when used on a rocket under the influence
of an uncontrolled spin rate of parabolic profile. The controllers are compared by
analyzing both step response and the ability to send the system to a pre-determined
trajectory, with and without the influence of wind perturbations.

2 Mathematical Model

Given the presence of uncontrolled spin, it is necessary to consider the complete


equations of motion for a sounding rocket with thrust vectoring. The equations are
initially derived for the body reference frame, and later related to the inertial reference
frame through Euler’s differential equations.
The complete motion of the vehicle, as described in the body reference, is given
by the set of Eq. (1).

W.C. Leite Filho (B) · J. Guimaraes · L. Galembeck


Instituto Nacional de Pesquisas Espaciais - INPE, São José dos Campos, Brazil
e-mail: waldclf@gmail.com

© Springer International Publishing AG 2018 571


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_31
572 W.C. Leite Filho et al.
⎧  Cd Pd S  T
⎪ u̇ = − m


+ m − g cos θ cos ψ − qw + r v



⎪ v̇ = −Yβ β + Yβ y β y − g(sin θ sin φ − cos θ sin ψ cos φ) − r u + pw


⎪ ẇ = −Z α α + Z β βz − g(sin θ cos φ − cos θ sin ψ sin φ) − pv + qu
⎨ z
I −I (1)

⎪ ṗ = −L p p + yyIx x zz qr



⎪ q̇ = −Mq q + IzzI−Ix x pr + Mα α − Mβz βz




yy
⎩ I −I
ṙ = −Nr r + x xIzz yy pq − Nβ β + Nβ y β y

The relationship between the angular velocities in the body reference frame and
the Euler angles (for a rotation sequence of θ − ψ − φ) is given by the set of Eq. (2).

⎨ φ̇ = p − q tan ψ cos φ + r tan ψ sin φ

cos φ sin φ
θ̇ = q cos ψ
− r cos ψ (2)


ψ̇ = q sin φ + r cos φ

If the rocket has no spin rate (p = 0), the equations can be decoupled and the
system becomes completely independent in the θ and ψ directions.

2.1 Resolver

When it comes to real implementation on a spinning rocket, one must consider how
the sensors measurements for a given direction correspond to the real Euler angles
that describe the vehicle’s attitude. In order to relate the measured errors to the
modeled angles, a resolver must be used. Its implementation is illustrated by Fig. 1.
For small values of ψ, its behavior can be represented by the set of Eq. (3).

Fig. 1 Resolver implementation


MIMO Attitude Control for a Spinning Rocket 573

Fig. 2 SISO classic PID control scheme


E θ = (θr e f − θ ) cos φ + (ψr e f − ψ) sin φ
(3)
E ψ = (θ − θr e f ) sin φ + (ψr e f − ψ) cos φ

3 Control Strategies

This paper considers two different control strategies to deal with the residual spin:
the first is a decoupled system for pitch and yaw, with two independent single-input-
single-output (SISO) controllers and the second, a coupled multiple-input-multiple-
output (MIMO) controller.

3.1 Single-Input-Single-Output (SISO)

The initial control strategy consists of two independent PID controllers, designed
separately and without taking the spin and other possible interactions into account.
Given the symmetry of the vehicle, the same gains are used for pitch and yaw.
The main advantage in the use of SISO controllers rests on its simplicity and well
known techniques of gain design [6]. However, it is possible this system is unable to
control the real spinning rocket, depending on the rate of rotation.
Figure 2 illustrates a PID SISO controller applied in conjunction with an actuator.

3.2 Multiple-Input-Multiple-Output (MIMO)

Multiple-Input-Multiple-Output controllers allow for better control over interdepen-


dent variables [8] and are useful in problems where coupling is relevant.
574 W.C. Leite Filho et al.

Fig. 3 MIMO structure for yaw control

In its most general formulation when applied to a rocket, a MIMO controller would
consider the reference signals to both pitch and yaw simultaneously and generate a
control law that attempts to negate the cross-terms, as seen in [10]. However, this
approach does not consider the roll rate directly.
The control system proposed here considers a nonlinear MIMO controller that
uses not only pitch and yaw measurements but also the roll measurement. It consists
of a PID structure for the direct branch and a PD structure for the cross branch. The
cross portion of the control signal is then multiplied by the spin rate measured, as
well as a fixed gain G. Figure 3 illustrates the structure used for the yaw control
signal.

4 Case Study

The vehicle studied presents a design residual spin rate that follows a parabolic profile
given by Eq. (4).
t2
p(t) = [deg /s] (4)
30
As part of the design requirements, the step response for the controller should
present a settling time of less than four seconds, an overshoot of less than 40% and
the smallest ramp error possible. Given structural and physical limitations, it is also
MIMO Attitude Control for a Spinning Rocket 575

Fig. 4 Control gains – SISO


controller

required that the control command never surpasses 4 degrees and that the rising time
is larger than 0.5 s.
For simulation purposes, the actuator used will be modeled by a first order system
with ω = 4.5 Hz.

4.1 SISO Controller Gains

Since the vehicle’s parameters change constantly throughout the flight, there must
be an appropriate gain scheduling. The PID gains for the SISO approach were tuned
in one second intervals using the step and ramp requirements. It is important to
understand that those requirements are often contradictory, so eventual trade-offs
were made.
The tuning strategy used starts with the critical flight condition, that is, the instant
where Mα is maximum, and the gains are calculated so that setting time and minimum
ramp error are prioritized. Then, the gains are scheduled using the ratio of thrust
coefficients with respect to the critical time, as well as performance metrics.
The gains calculated for the SISO controller are shown in Fig. 4. The integral part
of the controller is not used for the first five seconds, in order to avoid eventual liftoff
errors.
576 W.C. Leite Filho et al.

Fig. 5 Control gains –


MIMO – cross path

4.2 MIMO Controller Gains

For the purpose of comparison, the direct gains for the MIMO controller were con-
sidered the same as the SISO case, shown in Fig. 4. The cross gains for the MIMO
controllers were calculated using the nonconvex nonsmooth optimization algorithms
described in [2–5] through the MATLAB function systune.
The gains were tuned so that the system showed the desired step response. The
tuning requirements used that resulted in the best results were gain margin of 5dB,
phase margin of 30◦ , a 20% maximum overshoot and a natural frequency close to
the SISO step response. During the tuning for each time snapshot, the roll gain was
considered unitary (i.e. Gθ = −1 and Gψ = +1). Figure 5 shows the cross gains
calculated through this method.

5 Performance Analysis

For comparing the two control systems, their performance was first analyzed with
respect to their separate pitch and yaw step response for the critical time, both in
ideal conditions and under wind perturbation. Then, the ability to follow the design
trajectory with respect to its Euler angles was studied under both conditions. In both
cases, the wind perturbation was modelled by a simplified model as a half-sine of
10 m/s of amplitude and a 2 s half-period.
MIMO Attitude Control for a Spinning Rocket 577

Fig. 6 Pitch step response for critical time (t = 30 s) – p > 0

Fig. 7 Yaw step response for critical time (t = 30 s) – p > 0


578 W.C. Leite Filho et al.

Fig. 8 Pitch step response for critical time (t = 30 s) – p < 0

Fig. 9 Yaw step response for critical time (t = 30 s) – p < 0


MIMO Attitude Control for a Spinning Rocket 579

5.1 Step Response

The step response for the critical time when Mα is maximum (t = 30 s) can be seen
on Figs. 6 and 7. Figures 8 and 9 show the corresponding step response for a negative
roll rate that follows the same parabolic profile. For the purpose of the step response
analysis, the roll gain G was considered unitary and steps were applied separately to
each angle reference.
The step response for the MIMO controller, in part due to the tuning process used,
is quite similar to the SISO controller. The angle not receiving the step reference
shows small oscillations under the MIMO controller, due to the initial large error of
the step angle stimulating the cross path.
The step requirements presented on Sect. 4 are respected for each time snapshot
even with the MIMO controller, with raising time larger than 0.5 s, overshoot smaller
than 40% and settling time smaller than 4 s for each variable under the step reference.
Finally, the step response of the stimulated angle showed no undershoot for any time
considered, which is desired for this kind of thrust vectoring control (TVC).

5.2 Step Response Under Wind Perturbation

The wind perturbation analysis to the step response considers a gust wind applied at
the start of the simulation.
The influence of the wind on the pitch step response can be seen on Figs. 10
and 11.
The effect on the yaw step response is similar. Both images show how the rocket
would respond to such perturbations if there were no roll, in which case the two
controllers would be equivalent.
It is possible to see that the MIMO controller responds well to the wind perturba-
tions applied. Once again, small oscillations can be seen at the start, but after that the
MIMO step response on the opposite angle seems to be either equal or slightly better
than the SISO one. The SISO controller creates a higher overshoot on the opposite
angle during the transient response for most cases.
It is important to note that in both cases the magnitude of the perturbation on the
opposite channel is relatively small.

5.3 Design Trajectory

Initially, the MIMO roll gains were considered, once again, unitary. Figure 12 shows
how well the controllers lead the vehicle to a design trajectory for a positive spin
rate, while Fig. 13 refers to a negative spin rate.
580 W.C. Leite Filho et al.

Fig. 10 Pitch step response for critical time (t = 30 s) under wind perturbation - Vvy

Fig. 11 Pitch step response for critical time (t = 30 s) under wind perturbation - Vvz
MIMO Attitude Control for a Spinning Rocket 581

Fig. 12 Design trajectory - Gθ = −1 and Gψ = +1 – p > 0

Fig. 13 Design trajectory - Gθ = −1 and Gψ = +1 – p < 0


582 W.C. Leite Filho et al.

Both controllers have a very similar response to the pitch reference signal, being
almost interchangeable. The main difference appears on the yaw response.
While the reference signal for the yaw angle is zero, the SISO controller shows
a drift under residual spin. This drift is mainly due to the integrator term, but that
cannot be removed without affecting the step requirements unfavorably.
The MIMO controller is able to improve on this factor. In fact, for unitary roll
gains, as a measure of the error on the yaw channel it is possible to see a reduction
of 12.77% in the area under the yaw curve for the MIMO controller.

5.3.1 Influence of Roll Gain

An increase in the roll gains actually reduces the area under the curve. For instance,
with Gθ = −2.5 and Gψ = +2.5, the reduction in area becomes 27.66% when com-
pared to the SISO case.
Further analysis shows that, for these direct and cross path gains, the maximum
value of roll gains for which the system is stable is 3.
This actually means the controller behaves well for this parabolic spin rate profile
when the product between p and G is smaller than this value. Smaller values of G
provide bigger leeway if there is uncertainty about the maximum roll, but the drift
on the yaw angle will be larger.
Figure 14 shows the design trajectory for Gθ = −3.2 and Gψ = +3.2, when the
system response is clearly unstable.

Fig. 14 Design trajectory - Gθ = −3.2 and Gψ = +3.2


MIMO Attitude Control for a Spinning Rocket 583

This indicates that, while the SISO controller has worse performance as far as
the yaw drift, it is stable for larger values of spin. If there is relative certainty about
the maximum residual roll encountered and its profile, the MIMO strategy provides
better results. However, if it is possible for the vehicle to encounter a very different
residual roll when compared to the design roll profile, the SISO controller is more
robust and, therefore, preferable.
Finally, even when stable, the MIMO system shows a more prominent oscillatory
behavior than the one encountered with the SISO strategy. It is possible, though, that
this occurs in consequence of the method used for gain calculation.

5.4 Design Trajectory Under Wind Perturbation

The influence of wind perturbation on the design trajectory was also analyzed. In this
case, the wind profile used was based on [1] and varies with the vehicle’s altitude.
Figure 15 shows the simulated behavior for a controller with unitary roll gain in the
MIMO case, as compared to the previous analyzed SISO controller. Both controllers
are stable, but the MIMO strategy presents a smaller drift on the yaw channel when
compared to the SISO controller, in the same manner as the results of Sect. 5.3.

Fig. 15 Design trajectory under wind perturbation - Gθ = −1 and Gψ = +1


584 W.C. Leite Filho et al.

6 Conclusion

This paper studies how well a nonlinear MIMO controller with roll input is able
to improve the performance of a linear SISO controller when applied to a spinning
rocket with no roll control.
The performance metrics used indicate the MIMO strategy shows improvement
with respect to the ability to follow the design trajectory while presenting similar
step response. The controller’s behavior was also favorable when under perturbation
of a gust wind.
The MIMO controller, however, is more susceptible to eventual variations in the
predicted residual spin, with its apparent robustness being related to the roll gain
used on the cross path.
Finally, in this paper, the gains calculated for the MIMO controller were not
designed taking robust control theory into account and, therefore, one can only guar-
antee its behavior with respect to the tuned flight conditions, and not its overall
robustness.
Further studies should consider how a variable roll gain changes the MIMO con-
troller performance, and different methods of gain calculation should be tested in an
attempt to improve the step response in such a way that robustness is also ensured.

References

1. Adelfang, S. I. Simulation of wind-profile perturbations for launch-vehicle design. J Spacecr


Rockets. https://doi.org/10.2514/1.3271
2. Apkarian P, Noll D (2006) Nonsmooth H-infinity Synthesis. IEEE Trans Autom Control 51:71–
86
3. Apkarian P, Noll D (2007) Nonsmooth optimization for multiband frequency-domain control
design. Automatica 43:724–731
4. Apkarian P, Gahinet P, Buhr C (2014) Multi-model, multi-objective tuning of fixed-structure
controllers. Proc Eur Control Conf. https://doi.org/10.1109/ECC.2014.6862200
5. Apkarian P, Dao MN, Noll D (2015) Parametric robust structured control design. IEEE Trans
Autom Control. https://doi.org/10.1109/TAC.2015.2396644
6. Garner D (1964) Control theory handbook. NASA Marshall Space Flight Center, NASA TM
X-53036
7. Mohammadloo S, Alizadeh MH, Jafari M (2014) Multivariable autopilot design for sounding
rockets using intelligent eigenstructure assignment technique. Proc Int J Control Autom Syst.
https://doi.org/10.1007/s12555-012-0229-4
8. Pothukuchi RP et al (2016) Using multiple input, multiple output formal control to maximize
resource efficiency in architectures. Proc Int Symp Comp Architect. https://doi.org/10.1109/
ISCA.2016.63
9. Sun BC, Ryu JH, Tahk MJ (1996) Robust control design for spinning rocket. Proc Soc Instrum
Control Eng Annu Conf. https://doi.org/10.1109/SICE.1996.865460
10. White J (1991) Attitude control of a spinning rocket via thrust vectoring. Proc Navig Control
Conf. https://doi.org/10.2514/6.1991-2617
Comparison of Multiple Spacecraft
Configuration Designs for Coordinated
Flight Missions

Federico Fumenti and Stephan Theil

1 Introduction

In recent years the interest in spacecraft coordinated flight increased more and more
due to the numerous potential advantages associated with the replacement of a single
monolithic object with several smaller ones. A group of small spacecraft working
together could enhance scientific observations, augment flexibility and redundancy,
reduce costs and risks and overcome physical limitations. At the same time however,
new challenges are introduced concerning for example the sharing of data, the com-
munication and the relative motion among the objects. Focusing on this last aspect,
it is trivial that when multiple objects are considered, careful attention must be paid
to the way they move w.r.t. each other. Constraints may be applied to ensure a safe
relative motion and according to their strictness the two branches of formation flight
and cluster flight can be distinguished. Due to many technical limitations the spread
of the two architectures did not evolve in the same way, up to the point that formations
are being largely studied and successfully implemented, while clusters are nowadays
still under investigation.
In a formation of satellites the relative configuration is fixed and control actions are
required to maintain it. In a typical mission scenario several sensors and instruments
demand for tight relative positions to cooperate, but cannot be allocated on the same
spacecraft because the required relative distances are too wide and the resulting
spacecraft exceeds the launch vehicle capabilities. To overcome this issue the devices
can be distributed on different spacecraft which fly together while guaranteeing the
satisfaction of the relative distances requirements through the use of control actions.
Examples of missions implementing the formation flight concept can be found in
TanDEM-X [20], PRISMA [21] and GRACE [26].

F. Fumenti (B) · S. Theil


DLR, Institute of Space Systems, Robert Hooke Str. 7, 28359 Bremen, Germany
e-mail: federico.fumenti@dlr.de

© Springer International Publishing AG 2018 585


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_32
586 F. Fumenti and S. Theil

In the case of a cluster there is no need for precise geometry, because the successful
outcome of the mission does not strictly depend on specific relative configuration as
in the formation flight case. As long as the distances among the spacecraft are held
within a maximum and a minimum value to ensure inter-modules communication
and avoid collisions, respectively, no control action is required. It all results in less
strict relative motion requirements, with a consequent relaxed intervention from
the control system. In a typical scenario each member of the cluster allocates a
different functionality, like communications, data storage, power generation, etc.
and all the functionalities are shared through wireless connections. Examples for
potential application of the cluster flight can be identified in the missions PLEIADES
[15] and SAMSON [13].
In the design of a coordinated spacecraft based-mission an extremely important
task is the definition of the initial configuration, since the application of proper con-
straints on the relative states will induce a particular desired behaviour in the evolution
of the relative motion. Over time corrective maneuvers are required to counteract the
changes in the initial relative geometry deriving from the differential perturbations.
Therefore, to limit the required fuel and the missions costs, it is highly desirable
to have orbits that naturally satisfy the relative motion constraints. Over the years
many authors have worked on the development and improvement of mathematical
models to grasp the evolution of the relative motion and simplify the application of
the required constraints (see e.g., [5, 6, 14, 16, 17, 25, 27, 29]).
Once the initial configuration is defined and the spacecraft are deployed, a station
keeping approach could be used to cancel the drifts induced by the differential per-
turbations. Indeed the initial states ensure satisfaction of the distance constraints and
can be seen as reference states to be tracked. This approach is certainly meaningful
in a formation, where the relative geometry constraints limit considerably the toler-
able differential drifts. Less clear is instead the benefit of cluster keeping through
station keeping. In this case the loose constraints involve that the distance bound-
aries are infrequently violated and when this happens the drift from the reference
state could be so large that the recomputation of a new reference state could become
more meaningful than the station keeping of the old one. The goal of this work is
to evaluate if and if so, by how much the station keeping logic could be beneficial
for coordinated flight missions characterized by a different number of spacecraft and
different distance boundaries. To study and implement the station keeping logic, it
can be advantageous to express the relative motion through relative orbital elements,
since the orbital elements have a slow variation over time and corrections of specific
elements with theoretically no effect on the others can be obtained using impulsive
control (see e.g., [3, 12, 18, 22–25]).
According to the type of constraints initially imposed, various initial configura-
tions can be found, differing from each other by the number of deployable spacecraft,
their relative geometry and the effort, in terms of ΔV , they require for station keep-
ing. A survey and comparison of such initial configurations is the topic of this work,
which is organized as follows. Section 2 introduces the problem and the techniques
used to define the initial states of a group of spacecraft. Section 3 describes how the
Comparison of Multiple Spacecraft Configuration Designs … 587

comparison has been set and the key parameters used, and finally presents the results
of the study. Section 4 reports the final conclusions.

2 Problem Statement

The successful outcome of a coordinated flight-based mission strictly depends on the


relative motion among the involved spacecraft and to ensure satisfaction of relative
motion constraints, much attention must be put on the control actions and on the
counteraction of the differential perturbations. To reduce the fuel expenditure specific
constraints can be imposed in the definition of the initial conditions, according to the
desired behavior, which is dictated by the mission goals.
From the literature research it emerged that several techniques used to define the
relative initial conditions of a group of satellites are available, hence it has been
decided to examine and compare them to determine if and how the computed initial
conditions could be used for the deployment of a cluster of objects.
The techniques for the initial conditions (TIC) that have been studied are intro-
duced in the upcoming sections but at first, in order to make their comparison mean-
ingful, a common test setup is identified: it is supposed that the cluster is centered on
a virtual point (VP) and it is assumed that minimum distance constraints (MinDC)
as well as maximum distance constraints (MaxDC) are in place. In particular, to
prevent collisions a minimum distance Dmin must be guaranteed between any pair
of spacecraft, while escaping drifts are avoided through upper bounding the distance
of a spacecraft from the VP by a maximum value Dmax . Denoting with ds and dr the
generic distances between any two spacecraft of the cluster and between a spacecraft
and the VP, respectively, the MinDC and the MaxDC are given by:

ds > Dmin (1a)


dr < Dmax . (1b)

The VP is supposed to move on a low Earth orbit (LEO) and its initial state is defined
in Table 1 in terms of osculating keplerian elements œVP K
(t0 ) = (a e i ω Ω M)T .
The description of each technique is structured in two parts. At first the basic
logic is introduced while using the simple chief-deputy framework. The chief is the
VP and the state of the deputy is defined such that their relative distance is bounded
by Dmin and Dmax . Afterwards, it is shown how the same logic can be adapted to
configure a cluster of n m modules while also maximizing n m . As a matter of fact for
the case of a cluster the simple chief-deputy approach does not fit very well as it is,
and for several reasons. In the first place, from the stated assumptions it is clear that
there is no need to lower bound the distances dr and to upper bound the distances
ds . Secondly, when several modules are placed into the cluster and the chief-deputy
technique is applied to every module, information about the motion of the spacecraft
w.r.t. the VP is available, but nothing can be said about a deputy-deputy type of
588 F. Fumenti and S. Theil

Table 1 Initial state of the virtual point


Element Value Units
Semi-major axis - a 7000.92 km
Eccentricity - e 0.01
Inclination - i 50.99 deg
Right ascension of the ascending node - Ω 11.48 deg
Argument of perigee - ω 19.12 deg
Mean anomaly - M 21.00 deg

motion. Plus, the idea of studying the motion of each agent with respect to all the
others is inconceivable, since as n m grows the problem quickly becomes extremely
complex and unmanageable.
In order to clarify the descriptions of the investigated techniques in the upcoming
sections, it wants to be revised here the distinction between keplerian and non-
singular orbital elements, since both of them will be used. The keplerian set of
elements œ K has been actually already introduced through Table 1, while the non-
singular set is given by œ N = (a u ex e y i Ω)T , where ex = e cos ω and e y = e sin ω
are the components of the eccentricity vector E = (ex e y )T and u = ω + M is the
mean argument of latitude. In addition, it is also worth recalling that when two
spacecraft are considered and their states are expressed in terms of orbital elements,
the relative motion of the deputy D w.r.t. the chief C can be expressed in terms of
relative orbital elements. In the keplerian case, given the vectors œCK and œ KD , the
relative elements are simply computed as the difference between the elements of the
two objects:

Δœ K = œ KD − œCK = (Δa Δe Δi ΔΩ Δω ΔM)T . (2)

In the non-singular case the vectors œCN and œ ND lead to the relative elements through
a nonlinear combination:
 T
Δœ N = Δ
a Δλ Δex Δe y Δi x Δi y
 T (3)
= Δa/a Δu + ΔΩ cos i Δex Δe y Δi ΔΩ sin i

where Δ a is an additional measure of the differential semi-major axis, Δλ is the


differential mean longitude, Δex and Δe y are the components of the relative eccen-
tricity vector ΔE = (Δex Δe y )T , and finally Δi x and Δi y are the components of the
relative inclination vector ΔI = (Δi x Δi y )T .
Comparison of Multiple Spacecraft Configuration Designs … 589

Eccentricity/Inclination Vector Separation Technique


The Eccentricity/Inclination (E/I) vector separation technique (EIVS) is particularly
attractive since it can naturally enforce collision avoidance. It has been originally
proposed to face the problem of satellites colocation in geostationary slots [11] and
in the last years widely investigated and successfully applied also for formations of
satellites in LEO [7, 8, 19].
Through the use of a rotating reference frame Cr θ h which has its origin coincident
with the chief spacecraft, the r θ -plane lying on its orbital plane and the r -axis parallel
to its position vector (positive outwards), the relative motion can be expressed in non-
dimensional form through:

δx(u) ≈ Δ
a − ΔE cos (u − ϑ) (4a)
3
δy(u) ≈ − Δ
a u + Δλ + 2ΔE sin (u − ϑ) (4b)
2
δz(u) ≈ +ΔI sin (u − ϕ) (4c)

where ΔE and ΔI are expressed in polar notation, with ΔE = ΔE and ΔI =


ΔI, and with ϑ and ϕ being the relative perigee and the relative ascending node
[7].
Assuming Δλ = 0 and Δa = 0 to cancel the offsets and to prevent the drift in the
along track direction, the collision risks can be reduced by setting:

ϑ = ϕ + kπ (5a)
Dmin ≤ a min {ΔE, ΔI } (5b)

with integer k, while the constraint



Dmax ≥ a 4ΔE 2 + ΔI 2 (6)

ensures satisfaction of the MaxDC. If the J2 perturbation is included in the model


Eq. (4), Δa = 0 is not valid anymore and Eqs. (5) and (6) need to be adapted [7].
To better relate the E/I relative vectors with the distances, it could be useful to
consider their dimensional version obtained by multiplying them with the semi-
major axis of the VP. The new dimensional parameters can be distinguished from
the original ones by the presence of a small hat (), so that to ΔE corresponds a
ΔE  = aΔE, to ΔI corresponds a Δ I = aΔI , and so on. Then, in the design phase,
it can be helpful to define the elements of the spacecraft in the planes Δ ex Δ
e y and
Δ i x Δiy.
Let us now see how the EIVS approach can be used to configure a cluster with
multiple objects. The problem can be geometrically approached in two steps:
1. In each of the two planes Δ e y and Δ
ex Δ i x Δ
i y the Dmax is used to identify a
region around the origin, which includes points satisfying the MaxDC;
2. In each region points are chosen with a mutual distance at least equal to Dmin .
590 F. Fumenti and S. Theil

An example of how the described geometric logic can be applied is given in


Fig. 1, where each point represents the relative eccentricity (left plot) and the relative
inclination (right plot) vector of a spacecraft w.r.t. the VP, which is highlighted as a
small circle at the origin of the planes.
Provided that in each plane each point is sufficiently spaced from all the others and
that corresponding points from the two planes satisfy the (anti-)parallelism condition
(Eq. (5a)), the MinDC can be ensured. In the given example the MinDC are based on a
value Dmin = 5 km and are represented by the small circles, inasmuch as they picture
the forbidden regions around the spacecraft and, as it can be seen, are not overlapping.
The fulfillment of the MaxDC can instead be studied by taking into consideration
the distance of the points from the origin of the planes. These constraints are based
on a value Dmax = 30 km and are represented by the gray regions, which can be
evaluated through Eq. (4). It can be noted that in Fig. 1 corresponding points from
the two planes, not only share the same phase of the relative vectors, but have also
the same magnitude. This is the reason why in the right plot of Fig. 1 the points
are concentrated in the center leaving the outer part of the gray region empty. The
condition of equal magnitudes is not required by the EIVS technique, but it has been
introduced to limit the differential perturbations experienced by the spacecraft.
The given example shows how the relative E/I vectors can be selected while using
simple 2-D geometry. Six points have been chosen from the gray regions but this
number can easily grow if a smarter selection is performed. The maximization of n m
therefore becomes a packing problem, since it turns into the research of the maximum
number of points that can be placed into a given 2-D region. In this study the regular
grid shown in Fig. 2 has been used, where each point is at the center of a regular
hexagon and is surrounded by six points located at the vertices of the hexagon.

Fig. 1 Example of relative


eccentricity (left) and
inclination (right) vectors for
a cluster of 6 spacecraft

Fig. 2 Regular grid for the


packing problem of the EIVS
technique
Comparison of Multiple Spacecraft Configuration Designs … 591

J2 Invariance Technique

The technique of the J2 invariance (J2In) consists in placing the spacecraft in orbits
for which the relative drift is minimized. When the J2 perturbation is included in the
motion of a spacecraft, its osculating elements experience oscillations and a secular
growth. The oscillations are usually considered harmless, while the dangerous effect
is the one associated with the secular growth, since it can produce a drift of the orbits.
For this reason it can be useful focusing on mean elements1 œ K , which are free from
the oscillations and are only subject to the secular growth.
When the mean elements are used, it must be noted that the J2 term only alters
the elements [Ω ω M], which experience time drifts modeled as [2]:
 2
dΩ 3 RE
= − J2 n cos i (7a)
dt 2 p
 
dω 3 RE 2  
= − J2 n 5 cos2 i − 1 (7b)
dt 4 p
 
dM 3 RE 2   
= n + J2 n 1 − e2 3 cos2 −1 . (7c)
dt 4 p

 √
where n = μ/a 3 and p = a 1 − e2 are the mean motion and the semilatus rectum
of the VP, while μ and R E are the gravitational parameter and the radius of the Earth.
The concept of the J2 invariance is based on the fact that if the first three elements
[a e i] of the different spacecraft are properly selected, it is possible to make them
having the same rates of variation for the last three elements [Ω ω M]. Indeed this
approach aims at canceling the relative rates, so that the secular drift can be prevented.
Nevertheless, it is very uncommon to match all the three rates, because in this way
the constraints would restrict considerably the possible relative orbits. It is instead
usually preferred to combine the rate of ω and M so that only the rates of Ω̇ and of
ω̇ + Ṁ need to be matched.
To perform the matching process, the constraints are expressed in terms of the
deputy relative elements, hence the following expressions can be retrieved [24]:

f a = ηΔa + 2DaeΔe = 0 (8a)

f i = η2 tan iΔi − 4eΔe = 0 (8b)

where the absolute and differential elements


√ used are the ones of the chief and of
the deputy, respectively. In addition η = 1 − e2 , D = 4LJ42η5 (4 + 3η)(1 + 5 cos2 i)

and L = a/Re hold. Note that Eq. (8) allows for computation of Δa and Δi once
that Δe is fixed, but the cases where Δa or Δi are given also remain valid. Finally,

1 Mean elements are usually identified by the presence of an overbar (− ), but since the J2In technique

does not use osculating elements, to relieve the notation the overbar in this section is dropped.
592 F. Fumenti and S. Theil

in concerns to the remaining differential elements [ΔΩ Δω ΔM], they can be freely
chosen as long as they satisfy the MinDC and the MaxDC conditions.
Let us now approach the problem for the cluster case. If multiple objects are
involved in the process, the J2 invariance should be ensured for all of them, meaning
that all the relative orbits should be J2 invariant w.r.t. each other. In this perspective
Eq. (8) should be applied for each pair of elements (sat/VP and sat/sat), thus trans-
forming them into a set of 2n p conditions, with n p = 0.5n m (n m − 1) denoting the
number of the pairs. As soon as n m > 2 the system becomes over-determined and
needs then to be solved numerically, and so it becomes useful recasting Eq. (8) into
the form

fa < ε (9a)
fi < ε (9b)

where ε is a user-defined threshold within which the solution must satisfy the con-
straints. According to the approximations used in the derivation of Eq. (8) (only
terms of O(J2 ) have been retained) [24], in the performed study is has been assumed
ε = 10−3 in order to have the same order of magnitude of the J2 coefficient.
Another step towards the definition of a cluster configuration consists in identi-
fying the range of values from which the parameters Δa, Δe and Δi can be chosen.
Given two objects A and B and assuming that their relative orbits are J2 invariant,
it should be implied that the relative orbit of A is invariant w.r.t. B and viceversa. It
has been seen instead, that if the differential elements [Δa Δe Δi] are too large,
the above-mentioned double invariance can be missing. There are cases indeed
where the elements of B are selected to ensure that its relative orbit w.r.t A is J2
invariant, but then inverting the roles and treating B as chief and A as deputy, the
invariance constraints are violated. To avoid this situation, the ranges of the differ-
ential elements able to ensure the desired double invariance have been researched.
According to the eccentricity of the VP, the attention has been posed on an interval
−0.009 < Δe < 0.039, which has then been divided into a regular grid. Next, for all
the grid points the double invariance has been pairwise checked and the results are
depicted in Fig. 3. The gray area emphasizes the satisfaction of the double invariance,
which for example is fulfilled by two objects having orbital elements defined with
differential eccentricities equal to 2.7 × 10−2 and −0.3 × 10−2 , but not for those two
with orbital elements obtained from the values 3.9 × 10−2 and 1.5 × 10−2 . Please
note that the plot is symmetric w.r.t. the plane bisector and therefore for both the
given examples, the results do not depend on which of the two values is assigned to
which of the two objects. Finally the black-sided square highlights the wanted range
for the differential eccentricity, so that if all the orbits of the cluster satisfy

−0.023 km < Δa < 0.048 km


−0.007 < Δe < 0.033 (10)
−0.00025 rad < Δi < 0.00120 rad

all the relative orbits are J2 invariant w.r.t. each other.


Comparison of Multiple Spacecraft Configuration Designs … 593

Fig. 3 Map of the J2 double


invariance shown in terms of
relative eccentricities

To investigate the cluster case, the definition of the initial configuration can be
expressed as the determination of those vectors ΔœiK (with i = 1, 2, . . . , n m ), whose
elements are bounded by the conditions given in Eq. (10) and also fulfill a system
of nonlinear conditions given by the 2n p equations obtainable from Eq. (8) and by
additional equations deriving from the application of Eq. (1). To research the solution
the solvers FMINCON from MATLAB and SNOPT have been used.
In the way the problem has been implemented, it is trivial that n m is not a vari-
able, but a parameter provided by the user. Therefore, to maximize the number of
spacecraft that the cluster can allocate, it has been decided to proceed by solving the
problem with different increasing values of n m . When a solver cannot find a solution
anymore, the cluster is saturated and the maximum value for n m has been found.

Distance Bounded Natural Orbits Technique

The technique of the distance-bounded natural orbits (DBNO), as suggested by the


name itself, aims at finding orbits that satisfy naturally the MinDC and the MaxDC.
The technique is presented in Mazal and Gurfil [17] and relies on a constraint which
is proven to ensure bounded relative distances when a time invariance assumption
for the environmental perturbations is made. This idea is similar to what is done with
the J2In approach, but this time the invariance can take all perturbations deriving
from the gravitational potential into account.
Given two objects A and B with equal ballistic coefficients, if it results
t0 +Δt
œ B (t0 ) = œ A (t0 ) + œ̇ A dt + [0 0 0 ΔΩ 0 0]T (11)
t0

then it also holds


   
|ΔΩ| |ΔΩ|
2ηmin sin − Vmax |Δt| ≤ ds (t) ≤ 2ηmax sin + Vmax |Δt| (12)
2 2

where Vmax denotes the maximum speed of A, while ηmax and


ηmin denote its max-
imum and minimum equatorial projections, given by η A (t) = x 2A (t) + y 2A (t).
594 F. Fumenti and S. Theil

Fig. 4 Example of Δt and 14


ΔΩ selection while
satisfying the MinDC ( ) 7

[s]
and the MaxDC ( )
0

−7

−14
−0.02 −0.01 0 0.01 0.02
[rad]

For a given set of constraints on the minimum and maximum distances Dmin and
Dmax , the values Δt and ΔΩ can be chosen while satisfying
 
|ΔΩ|
2ηmin sin − Vmax |Δt| ≥ Dmin (13a)
2
 
|ΔΩ|
2ηmax sin + Vmax |Δt| ≤ Dmax (13b)
2

Equation (13) can be observed graphically in Fig. 4, showing for which values of
ΔΩ and Δt the MinDC and the MaxDC are satisfied, when Dmin = 5 km and
Dmax = 100 km are considered. The satisfaction of each constraint is highlighted
with a different color, therefore for the mission design a pair [ΔΩ Δt] must be
selected from the overlapping area.
In the case of n m spacecraft, the DBNO technique retains validity as long as the
constraints expressed through Eq. (13) are applied to each pair. The differences in
time and RAAN of the i-th spacecraft w.r.t. the VP can be denoted as ΔΩ0i and Δt0i ,
while the differences between any pair of spacecraft (i, j) can be denoted as

ΔΩi j = ΔΩ0 j − ΔΩ0i
(14)
Δti j = Δt0 j − Δt0i

with j = 1, 2, . . . , n m and j = i.
In addition, the small angles approximation can be introduced to replace the sine
functions with their arguments. Indeed in this work several Dmax up to few hundreds
of km will be considered, leading to a maximum differential RAAN of few degrees
totally compatible with this approximation. Equation (13) then turns into:

ηmin |ΔΩi j | − Vmax |Δti j | ≥ Dmin (15a)


ηmax |ΔΩ0i | + Vmax |Δt0i | ≤ Dmax . (15b)

Concerning Eq. (15b) and the MaxDC, it should be noted that the hypothesis of equal
ballistic coefficients is missing in this work, since the VP is not a real spacecraft and
cannot be affected by the atmospheric drag. This means that a slow drift of the
spacecraft w.r.t. the virtual point should be expected.
Comparison of Multiple Spacecraft Configuration Designs … 595

When approaching the problem while trying to maximize the number of modules
n m , Eq. (15b) is immediately used to define the domain of the differential time and
RAAN from which the sets [ΔΩ0i Δt0i ] should be selected. On the other hand
Eq. (15a) is exploited for the actual selection of the sets [ΔΩ0i Δt0i ]. From a first
glimpse at Eq. (15a) and with the help of Fig. 4, it can be seen that it is never possible
to satisfy the MinDC with a pure time shift and that a minimum differential RAAN
|ΔΩ|min is always required. Indeed exploiting Eq. (15a) and the fact that |Δti j | > 0,
the minimum value |ΔΩ|min can be retrieved

Dmin
|ΔΩi j | > ≡ |ΔΩ|min (16)
ηmin

and the differential RAAN can be chosen according to |ΔΩi j | = (1 + kΩ )|ΔΩ|min


with a small kΩ > 0. In turn an upper bound for the time shift can be defined as

kΩ Dmin
|Δti j | < ≡ |Δt|max (17)
Vmax

and similarly to what has been set for the differential RAAN, the differential times
can be chosen according to |Δti j | = (1 − kt )|Δt|max with a small kt > 0. It is worth
noticing that the determination of the two boundaries |ΔΩ|min and |Δt|max and the
selection of the two coefficients kΩ and kt do not depend on the specific pair (i, j),
therefore it is possible to define the values of the four parameters just once and use
them to find the initial condition of all the spacecraft.
At this point, it is clear that dividing the ΔΩ domain into a grid of points equally
spaced by (1 + kΩ )|ΔΩ|min allows finding the differential RAAN ΔΩ0i and max-
imizing the number of spacecraft n m at the same time. Concerning the time shifts,
a trivial solution can be obtained assuming Δt0i = 0 ∀i. Otherwise if time shifts
different from zero are desired they can be selected through the knowledge of the
|Δt|max .

Delayed Elements Technique

The technique of the delayed elements (DeEl) is very similar to the DBNO technique,
in as much as it aims at finding relative orbits which are invariant w.r.t. the perturba-
tions deriving from the full gravitational potential. The main difference consists in
the fact that the elements of the spacecraft in this case are obtained only through the
use of the time difference Δt, which means that all the members of the cluster pass
through the same positions of the virtual point, but they do it with a certain time dif-
ference Δt [9]. In this way all the spacecraft experience the same perturbations with
minimal variations from the gravitational field with the consequence that maneuvers
to counteract differential perturbations are greatly reduced.
The cluster obtainable with this technique can be imagined as a train of space-
craft separated in the along track direction, just like pearls on a string. Reference to
separation distance d or time difference Δt is equivalent, since these two quantities
596 F. Fumenti and S. Theil

can be easily related by exploiting the knowledge of the mean motion. Indeed given
a spacecraft with mean motion n moving for a time Δt, the distance d between the
initial and the final positions can be approximated with the traveled arc of trajectory

d , which exploiting Kepler’s second law can be expressed as

 abnΔt
d= (18)
r
where b is the semi-minor axis of the orbit and r is the position vector magnitude.
It is worth noticing that for an elliptical orbit r changes with time and according

to the location of the spacecraft along the orbit a different d can correspond to the
same Δt. For this reason once that the maximum and the minimum values of r are
computed, the minimum and the maximum distances corresponding to the given Δt
are also known. From a different point of view, this means also that when the Dmin
and Dmax values are given, the evaluation of the required time difference Δt is quite
straightforward. And this is exactly how the initial conditions of two spacecraft can
be defined, since in this case the Dmin and Dmax are assumed to be known and can
be used to retrieve a range of values from which the Δt should be picked to satisfy
the distance constraints. Once that the Δt is chosen, the initial state of a spacecraft
B can be computed from that of a spacecraft A through Eq. (11), assuming ΔΩ = 0.
In a similar way, the configuration of an entire cluster can be approached, with the
core of the process consisting in the identification of the time shifts associated with
the different objects of the cluster. From this perspective, following the example of
the DBNO technique, it can be useful to distinguish between the time shifts of the
spacecraft w.r.t. the VP Δt0i and the time shifts among the spacecraft

Δti j = Δt0 j − Δt0i (19)

with i, j = 1, 2, . . . , n m and i = j. The constraints on the distances only appear


indirectly, in as much as they are used to define an upper and a lower bound for
the values of the time shifts Δt0i , which need to be researched while satisfying
Eq. (19). In particular, the MaxDC defines the maximum allowed time shift |Δt|max
Δt0i
of a spacecraft w.r.t. the VP, meaning that it should result in |Δt| max
∈ [−1 1].
On the other hand the MinDC is taken into account computing the minimum
time shift |Δt|min corresponding to the minimum distance Dmin and ensuring that
|Δti j | > |Δt|min ∀(i, j).
Finally, when the interval [−|Δt|max |Δt|max ] is divided into sub-intervals of
length |Δt|min , the problem of maximizing the number of spacecraft n m is also
addressed, with the nodes of the grid denoting the time shifts Δt0i .
Comparison of Multiple Spacecraft Configuration Designs … 597

3 Comparison of the Techniques

To analyze the behaviour of the different techniques and perform their comparison,
different points of view have been considered focusing on the number of spacecraft
populating the cluster and on the ΔV they require for the corrective maneuvers.
The maximum number of points n m that can be packed into a given volume of
space around the VP clearly depends on the constraints MinDC and MaxDC, since
for a given value of Dmin an increase of Dmax involves a larger volume around the
VP with the opportunity to allocate more points in it, while for a given value of Dmax
an increase of Dmin involves a larger safety distance between any pair of points with
a consequent reduction of their total number for that same volume. This makes then
n m dependent on three different aspects of the problem: the TIC, the Dmin and the
Dmax . To observe the effect of the distances, the constraints given in Eq. (1a) and
(1b) have been applied with several values of Dmin and Dmax . For the sake of brevity,
in the following a specific set of values [Dmin Dmax ] might also be denoted simply
as D R = Dmin /Dmax so that, for example, the notation D R = 1/10 indicates that the
cluster needs to satisfy a Dmin = 1 km and a Dmax = 10 km.
Concerning the ΔV , it is clear that due to the differential perturbations experi-
enced, the spacecraft will naturally drift over time and even if the cluster is initialized
in such a way to satisfy the distance constraints, sooner or later the relative configu-
ration might become unsafe. The safety of the cluster can be ensured through proper
corrective maneuvers, hence the required ΔV can be used as a second key parameter.

3.1 Slots Versus Spacecraft

This section it intended to shortly explain that a distinction between the slots occupied
by the spacecraft and the spacecraft themselves has been made.
The slots are those reference locations in which the spacecraft are deployed and
that should be tracked by them. They are the entities directly involved in the search
process and are treated as mass-less points. The ultimate goal is to find locations that
satisfy the distance constraints indefinitely, so that when the spacecraft are deployed
in them and track them through station keeping maneuvers, one can be sure that the
distance constraints will not be violated. Due to this distinction, in the early phase of
the study, for each set [TIC Dmin Dmax ], the TIC is used to identify slots that ensure
satisfaction of the MinDC and the MaxDC. Then, in a second moment the slots are
filled with spacecraft and their motion is studied.

3.2 Number of Slots

The identification of the slots consists in defining the initial reference vectors while
taking also their natural evolution into account. A set of states satisfying the con-
598 F. Fumenti and S. Theil

straints at the initial time t0 and violating them at a future time t > t0 would be
as useless as one violating them at t0 . An ideal set never violates the constraints,
but this is not a realistic case because of the differential perturbations, which bring
the vectors to slowly drift towards an unsafe configuration. The drifts grow indeed
over time involving an increase in the number of violations. What can be done is to
treat the configuration returned by the TIC as a candidate solution, propagate it for
a certain timeframe and discard the state vectors violating the distance constraints.
For each set [TIC Dmin Dmax ] a certain number of candidate slots n s,c is obtained,
with the initial state of each slot defined as:

œs (t0 ) = f (œVP (t0 ), Δs ) (20)

where s = 1, 2, . . . , n s,c and the function f specifies that the initial state of the sth
slot depends on the initial state of the virtual point and on some differences Δs applied
to it. In Eq. (20) a generic function f has been used to take into account that those
differences change from one technique to another. They can be the differential time
Δt of the DeEl technique, or the differential mean elements of the J2In technique,
and so on.
Once that the states of the candidate slots are available, they are converted in
Cartesian coordinates and propagated for five orbits including the J2 effect. The
choice for such a short time frame is due to the fact that some techniques (EIVS,
J2In) identify the initial configuration by using simplified models of the relative
motion, which become less and less reliable over time. The decision to include the
J2 perturbation is instead motivated considering that its effect is the largest one in
a LEO. A spacecraft would also be significantly perturbed by its interaction with
the atmosphere, but in this first phase the main characters of the study are the slots,
which can be treated as mass-less points free from the effect of the drag.
Once that the Cartesian propagation is completed the relative distances are recov-
ered and checked. At first the check of the maximum distance from the virtual point
is considered and the slots violating it are directly discarded from the solution. After-
wards the attention shifts towards the MinDC, whose check takes advantage of the
graph theory ([1, 10]). It is trivial to state that a slot violating the MaxDC cannot
be part of the solution, but if the slots (x, y) violate the minimum distance there is
no need to remove them both, rather is it enough to discard only one of them and
two solutions may be used, i.e. one including x without y and another including y
without x. However, as the number of MinDC violations increases, it becomes more
and more difficult to identify the slots to remove; hence the graph theory might come
in handy. In particular, a graph can be constructed from all the pairs of slots satisfying
the minimum distance constraints, so that the identification of the most populated
cluster can be set as a maximum clique problem MCP ([4, 28]).
For the sake of clarity let us consider a practical example with five candidate slots
all satisfying the MaxDC. Suppose instead that a violation of the minimum distance
is recorded for the pairs of slots (1, 2), (1, 5) and (2, 3). Solving the MCP for the
graph associated with the problem, three maximum cliques can be found:
Comparison of Multiple Spacecraft Configuration Designs … 599

Number of Slots 6,600 300 80

Number of Slots

Number of Slots
Dmin = 1 km Dmin = 5 km Dmin = 9 km
60
4,400 200
40
2,200 100
20

0 0 0
0 50 100 150 0 50 100 150 0 50 100 150
Dmax [km] Dmax [km] Dmax [km]

40 25
Number of Slots

Number of Slots
Dmin = 13 km Dmin = 17 km
30 20 EIVS
15 DBNO
20 J2In
10
10 DeEl
5
0 0
0 50 100 150 0 50 100 150
Dmax [km] Dmax [km]

Fig. 5 Number of slots as a function of Dmax for the different techniques

C1 = {1 3 4} C2 = {2 4 5} C3 = {3 4 5}

This means that given the five candidate slots, the largest safe cluster cannot include
more than three of them, and moreover not every three-element combination of the
five candidates is acceptable, rather only the combinations C1 , C2 and C3 .
The combinations of slots obtained from the MCP resolution represent then solu-
tions of the initial configuration problem and once that they are available the search
can be considered concluded. Figure 5 shows how the number of slots varies with
the Dmax for all the techniques examined and for Dmin fixed at 1, 5, 9, 13 and 17 km.
As expected, for every TIC, the number of returned slots increases when increasing
Dmax once the Dmin is given and decreases when increasing Dmin once the Dmax is
given. The less populated clusters are the ones obtained from the DBNO, whose trend
is always the lowest. A slight increase in the slots number is achieved with the J2In
and DeEl, which behave similarly, with trends very close to each other. Finally the
EIVS is the technique returning the largest number of slots in most of the cases, with
the separation between its and the rest of the trends getting larger when reducing the
minimum distance boundary. This behaviour depends on the fact that the constraints
required by the EIVS are less restrictive than those imposed by the other techniques,
with the consequence that a larger number of vectors satisfying them can be found.
Graphically Fig. 6 can also help, giving an overview of the arrangement associated
with the different techniques. Each subfigure is associated with a TIC and shows the
initial configuration of slots around the VP when the distance boundaries are given
by D R = 17/85. The representation is given in an inertial frame translated to shift
its origin in the virtual point, which is then located at the center of the subfigures and
colored in black, just like the solid lines representing its orbit. As it can be seen, the
slots from EIVS are densely arranged on a plane, while the slots from the DBNO
and DeEl are arranged on a line and the slots from the J2In are sparsely distributed
in a 3-D region.
600 F. Fumenti and S. Theil

50 50

z [km]

z [km]
0 0

−50 −50

−50 0 −50 0
50 50 0 −50 50 50 0 −50
y [km] x [km] y [km] x [km]
(a) EIVS, 10 slots (b) DBNO, 4 slots

50 50
z [km]

z [km]
0 0

−50 −50

−50 0 −50 0
50 50 0 −50 50 50 0 −50
y [km] x [km] y [km] x [km]
(c) J2In, 7 slots (d) DeEl, 10 slots

Fig. 6 Slots arrangements returned by all techniques for Dmin = 17 km and Dmax = 85 km

3.3 ΔV Budget

Once that the study of the slots had been completed, the attention has been shifted
towards the behaviour of the spacecraft, with the final goal of evaluating the ΔV
budget required to maintain the distance constraints satisfied and the cluster safe. As
a matter of fact, the maximum number of spacecraft that can be packed into a cluster
is for sure an important parameter to be considered for a cluster mission, but at the
same time one cannot forget the key role played by the ΔV budget.
To perform this type of analysis, several sample slots configurations have been
selected and for each configuration simulations have been run assigning a spacecraft
to each of its slots. In particular, a direct correspondence has been implemented so
that each spacecraft is assigned to a single slot and tries to track it using station
keeping maneuvers. Each simulation consisted in a propagation of the cluster initial
configuration in an inertial frame under the effect of the gravitational potential (terms
up to J20 have been included) and of the drag. The different TIC examined try to
counteract the differential perturbations in a different way, hence it is reasonable
to expect a different evolution of the slots over time and a different amount of ΔV
required for the station keeping.
The station keeping can be thought of as composed by three phases. At first
the spacecraft computes the offset, in terms of differential orbital elements, of its
current state from its reference state. Then the maneuver to cancel the offset is
computed as a sequence of impulsive control actions aimed at correcting the orbital
Comparison of Multiple Spacecraft Configuration Designs … 601

Table 2 Number of spacecraft obtainable for five sample cluster configurations


DR EIVS DBNO J2In DeEl
1/5 14 4 4 10
5/25 12 4 6 10
9/45 12 4 8 10
13/65 12 4 7 10
17/85 10 4 7 10

elements. Finally the maneuver is executed. Please note that in the second phase
each spacecraft computes the maneuver taking only its own elements into account.
The relative motion w.r.t. the other spacecraft is entirely neglected, hence during the
execution of the control actions small violations of the distance boundaries might be
recorded.
For this study, five sample configurations have been observed, one for each value
of the Dmin parameter. The maximum distance constraints are instead based on a
value Dmax = 5Dmin . Table 2 summarizes the five cases showing the number of
spacecraft n m for the four techniques.
For each examined configuration several tests have been performed, since it has
been decided to implement a different logic to trigger the station keeping maneuvers:

PM a fixed periodic maneuvering cycle is implemented, i.e. at regular time intervals


all the spacecraft measure their offsets, compute the corrective maneuver to
cancel them and perform it;
CV each spacecraft computes and performs the required maneuvers only when the
violation of one of the constraints MinDC or MaxDC is detected.
The PM logic has the advantage that it allows to know a priori the times at which
the computation of the maneuver is performed, but as a drawback the constraints on
the distances do not play any role and if a violation occurs nothing is done to fix it.
Conversely, in the CV logic the distance constraints are actively used and only the
involved spacecraft actually perform a maneuver, but as it will be seen exploring the
results, it can happen that some spacecraft require very sparse but large corrections,
that can produce severe violations of the constraints.
One parameter for the evaluation and comparison of the results can be identified in
the average ΔV required by the cluster, i.e. the total ΔV required by all the spacecraft
averaged w.r.t. n m . This choice is suggested considering the fact that the number of
spacecraft changes for each of the four techniques, hence the comparison of the total
ΔV would make no sense.
Figures 7 and 8 compare the results for the initial configuration obtained with the
technique EIVS for D R = 1/5. The considered time horizon is 10 days. In Fig. 7
the ΔV budget is shown while Fig. 8 gives an overview of the number of required
control actions. In both plots a single circle refers to a single spacecraft of the
cluster. The spreading of the circles for a given maneuver logic depends on the
fact that according to the distance between a spacecraft and the VP, the differential
602 F. Fumenti and S. Theil

CV

PM
0 1 2 3
ΔV [m/s]

Fig. 7 ΔV budget required by an initial configuration from the technique EIVS for two maneuver
logics

CV

PM
80 100 120 140
Number of control actions

Fig. 8 Number of control actions required by an initial configuration from the technique EIVS for
two maneuver logics

Table 3 Distance violations detected by an initial configuration from the technique EIVS for two
maneuver logics
Logic Dmin (%) Dmax (%)
PM 6.73 1.22
CV 21.18 2.08

perturbations experienced vary and then a different amount of ΔV is required. With


particular reference to Fig. 8, when the CV maneuver logic is implemented the differ-
ent differential perturbations cause the spacecraft to violate the distance constraints
at different times, that is why the circles are so spread. On the other hand, when the
PM logic is used, all the spacecraft perform the corrective maneuvers periodically,
hence they all require approximately the same number of control actions. It can then
be summarized that for the shown example the maneuver logic does not have a big
impact on the average ΔV , rather it affects the number of control actions used and
the way in which the propulsion system is stressed. As a matter of fact, an increase
in the time interval between two maneuvers implies larger sparse maneuvers instead
of shorter frequent ones.
Table 3 gives instead a measure of the constraints violations recorded in the con-
sidered example showing the minimum and the maximum distances reached.
The use of percentage values stems from the comparison of the maximum viola-
tions with the foreseen boundaries set at Dmin = 1 km and Dmax = 5 km. The MaxDC
violations are on the same order of magnitude for both the maneuver schemes PM
and CV, meaning that in both cases the maximum distance reached is up to approxi-
mately 2% larger than the 5 Km boundary value. A significant difference can be seen
instead on the MinDC side, since in the PM case the minimum distance reached stays
above 93% of the 1 Km boundary value, while in the CV case it can decrease until
Comparison of Multiple Spacecraft Configuration Designs … 603

Fig. 9 Violations overview EIVS DBNO J2IN DeEl


of the MinDC 100

Violation [%]
80
60
40
20

PM CV PM CV PM CV PM CV
Maneuver logic

78% of it. It must be pointed out that such constraints violations occur sporadically
and always within the first one or two orbits after the execution of the first control
action, and as such this does not mean that the station keeping strategy does not
work. This behaviour was anticipated and can be attributed to the particular way the
trajectory corrections have been implemented. As a matter of fact the station keeping
is not instantaneous, but is composed of several separate impulsive control actions,
taking place at different locations along the orbit. Between the first and the last con-
trol action the spacecraft travel on transfer orbit arcs and it is in this short timeframe
that the violations are recorded. Indeed, as it can be recalled from the description of
the three phases of the station keeping, for each spacecraft the required maneuvers
are computed to ensure the reference state is tracked but without taking into con-
sideration the relative motion w.r.t. the other spacecraft during the execution of the
maneuver itself.
Despite the fact that the CV control logic actually requires a violation of the
distance boundaries to trigger the computation of a correcting maneuver, in general
a violation is clearly undesirable. Nevertheless in this part of the study the intention
was not really to prevent violations as a whole, rather to see if a station keeping
approach could be sufficient to perform cluster keeping and to obtain a raw evaluation
of the ΔV budget required by different configuration designs.
In Figs. 9 and 10 an overview of the violations is depicted for the MinDC and the
MaxDC, respectively. Each figure is divided into four parts in order to compare the
different techniques. Each part illustrates the behaviour of a TIC through two bars,
one for each of the two tested maneuver logics. Recalling that for a single TIC and a
single maneuver logic five sample configurations have been tested, each bar renders
the worst out of the five cases, i.e. the largest percentage violation w.r.t. the reference
distance boundary. For example if one considers the EIVS technique and a station
keeping strategy applied regularly every five orbits, it can be seen that the maximum
violations of the MinDC and the MaxDC are below 10% and 5%, respectively.
Observing the different parts of the figures individually, it can be noticed that
the CV bar is always higher than the PM bar. This trend depends on the fact that,
as already mentioned, when the timeframe between two consecutive maneuvers
increases, the differential drift of the spacecraft from the path of their reference
initial states increases as well, so that larger correcting maneuvers are required and
604 F. Fumenti and S. Theil

Fig. 10 Violations overview EIVS DBNO J2IN DeEl


of the MaxDC 40

Violation [%]
30

20

10

PM CV PM CV PM CV PM CV
Maneuver logic

Fig. 11 ΔV budget for


clusters obtained with DeEl
different TIC (maneuver J2IN
logic PM and D R = 1/5)
DBNO

EIVS
0 1 2 3
ΔV [m/s]

larger violations can be experienced. In addition, in the CV cases the bars can become
much higher than the PM cases, due to the fact that a maneuver already starts with
a violation, which then is accentuated by the application of the corrections.
As a final outcome, it is clear that the station keeping framework is not entirely
violations-free and that the relative motion during the transfer paths should also be
taken into consideration. If this aspect of the problem was implemented, the control
strategy would have been different, consisting of another sequence of control actions
but without a substantial change in the overall estimated ΔV budget.
To conclude this part of the study and the comparison of the different techniques,
let us now focus on the results of the station keeping investigation in terms of the
ΔV required by the spacecraft. So far it has been seen that the different TIC provide
a different number of slots and react differently to the distance constraints, but a
comparison of the ΔV budget is still missing.
To develop this analysis, two points of view can be considered. Let us focus on
a single D R . On one side one can fix the maneuver logic and pay the attention to
entire configurations. On the other side it could be interesting to fix a maximum ΔV
budget and see, for each TIC, how many spacecraft comply with this limitation. For
a better understanding, Figs. 11 and 12 come in handy, respectively.
Figure 11 focuses on the case D R = 1/5 with station keeping performed every
five orbits. Each circle denotes the ΔV required by a spacecraft during the entire
time frame of 10 days, while the stars and the solid line connecting them highlight
the average ΔV required by the entire cluster. As expected, the less differential
perturbations are included in the definition of the initial configuration, the larger the
Comparison of Multiple Spacecraft Configuration Designs … 605

Fig. 12 Number of EIVS DBNO J2IN DeEl


deployable spacecraft 14
3.3
according to different ΔV 12
thresholds for different TIC 10 2.5

ΔV [m/s]
and different maneuver 8

nm
1.7
logics, in the case D R = 1/5 6
4 0.9
2 0.1
PM CV PM CV PM CV PM CV
Maneuver logic

drift among the spacecraft is and the less homogeneous the fuel consumption is. That
is why for the DeEl and DBNO the ΔV of the single spacecraft are very close to the
average value, while the spreading increases for the EIVS and the J2In.
The second type of research led instead to Fig. 12, which refers again to the
case D R = 1/5, but this time all the TIC and the maneuver logics are included. In
this analysis it has been identified how many spacecraft could be deployed from the
different investigated clusters, when a constraint on the maximum available ΔV is set.
For the case given in Fig. 12 five threshold values are considered. It can be observed
for example that if the smallest threshold is selected, only spacecraft consuming less
than 0.1 m/s can be used, which means that only one configuration is available, i.e.
a six-objects cluster from the DeEl technique performing station keeping every five
orbits. If the threshold is raised to 0.9 m/s, some solutions from the DBNO and J2In
become also available, while to use a cluster from the EIVS a threshold of 1.7 m/s
is required. Similar results are obtained from the other D R , with the DeEl always
demonstrating a good compromise between high number of spacecraft and low ΔV
budget, followed by the DBNO, the J2In and finally the EIVS. In comparison, the
EIVS can always provide the most populated clusters, but the price for this asset is
paid in terms of high ΔV requirements.

4 Conclusions

Exploiting the concept of fractionation it is possible to split and replace a single mono-
lithic spacecraft with multiple smaller ones flying in proximity. In such a framework
a safe relative motion must be guaranteed, bounding the minimum and the maxi-
mum relative distances to prevent, respectively, collisions and escaping drifts. With
a proper orbit design, the spacecraft might initially satisfy the relative motion con-
straints, but due to the differential perturbations acting on them, over time their con-
figuration slowly becomes unsafe and corrective maneuvers must be performed. In
this work several designs have been surveyed, each providing a cluster initial config-
uration while counteracting the differential perturbations with a different approach.
The identified test setup assumes that: (1) the cluster is centered on a virtual point;
606 F. Fumenti and S. Theil

(2) a minimum distance must be ensured between any pair of spacecraft to prevent
collisions; (3) a maximum distance must be ensured between any spacecraft and the
virtual point to prevent escaping drifts; (4) each spacecraft tracks a reference state
through station keeping maneuvers.
In the first part of the study, it has been investigated how the number of deployable
spacecraft changes according to the design and to the minimum and maximum dis-
tance constraints. Later on, the obtained initial configurations have been propagated
in time and station keeping maneuvers have been implemented to evaluate the ΔV
budget required by the single spacecraft and the entire clusters.
It emerged that in the design phase several aspects of the problem need to be taken
into account, such as the number of deployable spacecraft, the need to introduce coun-
termeasures against violations of distance boundaries, the differential consumption
of fuel, etc. All these aspects are clearly interconnected with each other and it is
not possible to identify a configurations which has the best performances from all
points of view. According to the specific requirements of the mission the best fitting
configuration can be different, but the conducted study provides an indication and
an analysis method.

Acknowledgements This research has been funded by the German Israeli Foundation Grant No.
1181-220.10.

References

1. Balakrishnan V (1997) Schaum’s Outline of Theory and Problems of Graph Theory. Schaum’s
Series. McGraw-Hill Education, New York
2. Battin R (1999) In: Przemieniecki JS (ed) An Introduction to the Mathematics and Methods of
Astrodynamics, Revised edn. American Institute of Aeronautics & Astronautics, Reston
3. Beigelman I et al (2008) Optimal fuel-balanced impulsive formationkeeping for perturbed
spacecraft orbits. J Guid Control Dyn 31(5):1266–1283
4. Carraghan R et al (1990) An exact algorithm for the maximum clique problem. Oper Res Lett
9(6):375–382
5. Carter T et al (1987) Fuel-optimal rendezvous near a point in general Keplerian orbit. J Guid
Control Dyn 10(6):567–573
6. Clohessy W et al (1960) Terminal guidance system for satellite rendezvous. J Aerosp Sci
27(9):653–658
7. D’Amico S (2010) Autonomous Formation Flying in Low Earth Orbit. Ph.D. thesis. Delft,
Netherlands: Technical University of Delft
8. D’Amico S et al (2006) Proximity operations of formation-flying spacecraft using an eccen-
tricity/ inclination vector separation. J Guid Control Dyn 29(3):554–563
9. de Bruijn FJ et al (2015) Delayed target tracking for along-track formations. J Guid Control
Dyn 38(7):1318–1323
10. Diestel R (2000) Electronic library of mathematics. Graph Theory. Springer, New York
11. Eckstein M et al (1989) Colocation strategy and collision avoidance for the geostationary
satellites at 19 degrees west. In: International Symposium on Space Dynamics. Toulouse,
France
12. Fumenti F et al (2015) Quasi-impulsive maneuvers to correct mean orbital elements in LEO.
In: Proceedings of the 3rd CEAS EuroGNC. Toulouse, France
Comparison of Multiple Spacecraft Configuration Designs … 607

13. Gurfil P et al (2012) The SAMSON project - cluster flight and geolocation with three
autonomous nano-satellites. In: 26th AIAA/USU Conference on Small Satellites. SSC12-VII-
2. Salt Lake City, UT, USA
14. Hill G (1878) Researches in the lunar theory. Am J Math 1(1):5–26
15. LoBosco D et al (2008) The pleiades fractionated space system architecture and the future of
national security space. In: AIAA Space Conference and Exposition. AIAA 2008-7687. San
Diego, California: American Institute of Aeronautics and Astronautics
16. Mazal L et al (2014) Closed-loop distance-keeping for long-term satellite cluster flight. Acta
Astronaut. 94(1):73–82
17. Mazal L et al (2013) Cluster flight algorithms for disaggregated satellites. J Guid Control Dyn
36(1):124–135
18. Mishne D (2004) Formation control of satellites subject to drag variations and J2 perturbations.
J Guid Control Dyn 27(4):685–692
19. Montenbruck O et al (2006) E/I-vector separation for safe switching of the GRACE formation.
Aerosp Sci Technol 10(7):628–635
20. Moreira A et al (2004) TanDEM-X: a TerraSAR-X add-on satellite for single-pass SAR inter-
ferometry. In: International Geoscience and Remote Sensing Symposium, vol 2
21. Persson S et al (2005) PRISMA - Demonstration mission for advanced rendezvous and forma-
tion flying technologies and sensors. In: 56th International Astronautical Congress. IAC-05-
B5.6.B.07. Fukuoka, Japan
22. Roscoe CWT et al (2015) Formation establishment and reconfiguration using differential ele-
ments in J2-perturbed orbits. J Guid Control Dyn 38(9):1725–1740
23. Schaub H et al (2002) Hybrid cartesian and orbit element feedback law for formation flying
spacecraft. J Guid Control Dyn 25(2):387–393
24. Schaub H et al (2001) J2 invariant relative orbits for spacecraft formations. Celest Mech Dyn
Astron 79(2):77–95
25. Schaub H et al (2000) Spacecraft formation flying control using mean orbit elements. J Astro-
naut Sci 48(1):69–87
26. Tapley BD (2008) Gravity model determination from the GRACE mission. J Astronaut Sci
56(3):273–285
27. Tschauner J et al (1965) Rendezvous zu Einem in Elliptischer Bahn um Laufenden Ziel. Acta
Astronaut 11(5)
28. Wood DR (1997) An algorithm for finding a maximum clique in a graph. Oper Res Lett
21(5):211–217
29. Yamanaka K et al (2002) New state transition matrix for relative motion on an arbitrary elliptical
orbit. J Guid Control Dyn 25(1):60–66
Generalized Image Navigation
and Registration Method Based
on Kalman Filter

Ahmed A. Kamel, Handol Kim, Dochul Yang, Chulmin Park and Jin Woo

Nomenclature

Rso : ideal geosynchronous radius = 42164000 m


λso : ideal satellite longitude
ωe : sidereal earth rotation rate = 7.2921159E-05 rad/s
R, L,λ: radius, geocentric latitude, longitude
Reo : equatorial radius = 6378136.6 m
f: earth flattening = 1/298.25642
h: landmark altitude
φ, θ, ψ: roll, pitch, yaw
ECLF: earth centered local frame
GEOS: fixed grid frame
LOS: line of sight
LRF: LOS reference frame
IIRF: imager internal reference frame
ACF: attitude control frame
ORF: orbit reference frame

A.A. Kamel (B)


Kamel Engineering Services, Los Angeles, CA, USA
e-mail: ahmed@kamelengineering.com
H. Kim · D. Yang
Korea Aerospace Research Institute, Daejeon, Republic of Korea
e-mail: hkim@kari.re.kr
D. Yang
e-mail: dcyang@kari.re.kr
C. Park
Korea Aerospace Industries, Sacheon, Republic of Korea
e-mail: cmpark@koreaaero.com
J. Woo
Korea Meteorological Administration, Seoul, Republic of Korea
e-mail: superjwoo@korea.kr

© Springer International Publishing AG 2018 609


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_33
610 A.A. Kamel et al.

Iixi , 0ixj : ixi identity matrix, ixj null matrix


S, C: Sin, Cos
EW, NS: East-West, North-South

Subscripts

0, s, e: initial, satellite, earth


T: landmark point on earth
ma: misalignment
m: number of imager internal misalignment
att: spacecraft attitude from telemetry
corr: thermoelastic/attitude correction angles

1 Introduction

The term image navigation and registration and the INR acronym were coined by
Kamel [1] and patented in US Patents # 4,688,091, 4,688,092, and 4,746,976 to
represent a system that determines image pixel location and register it to fixed grid
frame (called FGF in GOES and GEOS in COMS and in this paper). This INR inven-
tion became the foundation for subsequent GOES and similar systems worldwide
[2–5]. The INR system requirements tightened as spacecraft and ground hardware
improved [6–9].
The image navigation part of INR relates to LOS absolute pointing. Section 2
defines the INR and KF state vectors needed for this process. Section 3 describes
new INR method (patent application being filed in ROK) based on landmark mea-
surements to determine orbit, attitude correction, and imager misalignments with
maneuvers delta V provided by FDS. Also, orbit refinement can be made if FDS pro-
vides orbit with coarse accuracy instead of delta V. Section 4 shows the simulation
results of this basic system. Section 5 shows how the new method can be adapted to
be used for other INR systems implemented nowadays.
The image registration part of INR relates to LOS stability. The objective of image
registration is to provide the users with images with pixels that have the same fixed
earth location regardless of time. Section 6 provides an algorithm for transferring
pixels from LOS frame to GEOS frame needed for pixel data resampling in GEOS
frame.

2 INR and KF SV Definitions

The INR and KF SV definitions and the associated time series are given in the next
three subsections.
Generalized Image Navigation and Registration … 611

2.1 INR SV Definition

The INR SV is required for transformation from LRF to GEOS for Sect. 3.1.2. This
is given by:
SVINR = [SVTma SVTcorr SVTatt SVTorb ]T (1)

SVma is based on IIRF misalignment relative to LRF.


SVcorr , SVatt , and SVorb are based on:
(φcorr θcorr ψcorr ) = ACF attitude relative to IIRF.
(φatt , θatt , ψatt ) = ORF attitude relative to ACF.
(φorb , θorb , ψorb ) = GEOS attitude relative to ORF.
For single mirror imagers, such as GOES I-P, COMS, MTSAT2, SVma is given by:

SVma = [φma θma ]T (2.1)


= SVma,model + xma (2.2)

SVma,model = [φma,model θma,model ]T


SVcorr = [φcorr θcorr ψcorr ]T (3.1)
= SVcorr,model + xcorr (3.2)

SVcorr,model = [φcorr,model θcorr,model ψcorr,model ]T

The thermoelastic misalignment and correction models are computed in Sect. 3.4 and
(xma , xcorr ) are defined in Sect. 2.2 and determined by KF.

SVatt = [φatt θatt ψatt ]T from telemetry (4)

SVorb = [Rs λs Ls ]T (5.1)


 
Rs
Rs = Rso 1 + , λs = λs − λso (5.2)
Rso

For 3,1,2 type rotation, SVORF is given by:

SVORF = [φorb θorb ψorb ]T (6.1)

For Spacecraft x axis parallel to earth equator (e.g., COMS):

SVORF = [Ls λs 0]T (6.2)


612 A.A. Kamel et al.

For Spacecraft x axis parallel to orbit plane (e.g., GOES I-M):

SVORF = [Ls λs L̇s /ωe ]T (6.3)


 
Rs
Rso
, λs , Ls L̇s /ωe are Kamel parameters [10, 11] originally used for GOES I-M.

If FDS provides maneuver delta V:

Rs δ Rs
= , λs = δ λs , Ls = δ Ls , Ls = δ Ls (7.1)
Rso Rso
 
δ Rs
, δ λs , δ Ls , δ L̇s = ideal ordeal refinement by KF.
Rso

If FDS provides orbit instead of maneuver delta V:


 
RFDS δ Rs
Rs = Rso + λs = λFDS + δ λs ,
Rso Rso
Ls = LFDS + δ Ls , L̇s = L̇FDS + δ L̇s (7.2)
 
δ Rs
, δ λs , δ Ls , δ L̇s = FDS ordeal refinement by KF.
Rso

2.2 KF SV Definition

SVKF = x is needed to determine SVINR of Sect. 2.1. This is defined as follows:

X = [Xcorr
T T
Ẋcorr T
Xorb T
Ẋorb T
Xma T T
Ẋma ] (8.1)
Xcorr = [δ φcorr δ θcorr δ ψcorr ]
T
(8.2)
 T
Ẋcorr = bφcorr bθcorr bψcorr = constant (8.3)
 T
δ Rs
Xorb = δ λs δ L s (8.4)
Rso
 T
δ Ṙs
Ẋorb = λ̇
δ s λ L̇s (8.5)
Rso
Xma = [δ φma δ θma ]T (8.6)
Ẋma = [bφma bθma ] = constant
T
(8.7)

At KF start, x = 012+2m .
Generalized Image Navigation and Registration … 613

2.3 SV Time Series

SVINR time series are generated at points spaced by ti for image registration of
Sect. 6. This requires interpolation between SVKF time series points determined by
landmarks (or star measurements) time series points based on attitude telemetry (e.g.,
at one second interval) and FDS orbit, SVma,model , and SVcorr,model time series (e.g., at
one minute interval). The SVKF time series between measurements can be obtained
as follows:

X(ti ) = A(ti )X(t0 ), ti = ti − ti − t0 , t0 ≤ ti ≤ t1 (9.1)


⎡ ⎤
Acorr (ti ) 06×6 06×2m
A(ti ) = ⎣ 06×6 Aorb (ti ) 06×2m ⎦ (9.2)
02m×6 02m×6 Ama (ti )
 
I3×3 I3×3 ti
Acorr (ti ) = (9.3)
03×3 I3×3

Aorb (ti ) obtained from the well-known Euler-Hill equations [12]


 
A11 A12
Aorb (ti ) = (9.4)
A21 A22

⎡ ⎤
(4 − 3 C) 0 0
A11 = ⎣ 6(S − γ) 1 0 ⎦ (9.5)
0 0 C
⎡ ⎤
ω−1
e S 2ω−1
e (1 − C) 0
A12 ⎣
= −2ω−1
e (1 − C) ω−1 γ
e (4S − 3 ) 0⎦ (9.6)
−1
ωe S
0 0

⎡ ⎤
3ωe S 0 0
A21 = ⎣ 6ω−1
e (C − 1) 0 0 ⎦ (9.7)
0 0 −ωe S

⎡ ⎤
C 2S 0
A22 = ⎣ −2 S (4C − 3) 0⎦ (9.8)
0 0 C
614 A.A. Kamel et al.

1
C = Cos γ, S = Sin γ, γ = ωe ti , ω−1
e = .
ωe

For small ti , C = 1 and S = γ = ωe ti ,


 
I3×3 I3×3 ti
Aorb (ti ) = (9.9)
03×3 I3×3

Note that Euler-Hill equations used to model orbit and Sect. 3.4 used to model ther-
moelastic angles leads to significant reduction of the number of landmarks processed
by KF compared to using simple linear models that are only valid for short time.
 
Im×m Im×m ti
Ama (ti ) = (9.10)
0m×m Im×m

m = number of imager internal misalignments.

For single mirror imager used for GOES I-P, COMS, MTSAT2 and in this pa-
per, m = 2. For two mirror imagers, the number of misalignments depend on the
thermoelastic effect on pointing. The leading term was called Orthogonality (Oma )
by Kamel because it represents deviation of the scanning axes from being perpen-
dicular. Note that if only Oma has significant effect on pointing [11], the number of
misalignments m = 1.

3 Image Navigation Using KF

Figure 1 shows KF flow for the basic INR method. KF uses one landmark at a time
to determine best (a-posteriori) state vector and covariance matrix estimate (x+ +
1 , P1 ).
KF is then re-initialized to make propagation always between t0 and t1 and estimation
at t1 .
The 3-step process is as follows:
1. a-priori state vector and covariance matrix (x− − + +
1 , P1 ) obtained from (x0 , P0 ) using
the transition matrix A(t), t = t1 − t0 and error matrix Q(t) obtained from
system model. This first step is called SV and covariance matrix P propagation

Fig. 1 Kalman filter for the basic INR method


Generalized Image Navigation and Registration … 615

between two successive landmarks.

x1− = A(t)x0+ (10.1)


P1− = A(t)P0+ A(t)T + Q(t) (10.2)

2. (x+ + − −
1 , P1 ) obtained from (x1 , P1 ) and measurement model (Z, H,R). This second
step is called SV and covariance matrix P estimation at t1 . Kalman assumed
the relation- ship between x+ −
1 and x1 is given by a form like least squares and
determined associated Kalman gain matrix K and covariance matrix P:

x1+ = x1− − KZ , Z = Z − Z̄ (11.1)


K = P1− HT (HP−
1 H + R)
T −1
(11.2)
P1+ = (I − KH)P1− (I − KH)T + KRK T
(11.3)

The residual Z is computed as follows:


• Compute SVINR from x− 1 using Sects. 2.1 and 2.2.
• Compute landmark residuals using Sect. 3.1.
• If landmark is rejected because residual is outside predetermined limit:
– Re-initialize KF: (t0 , x+ + + + − −
0 , P0 ) = (t1 , x1 , P1 ) = (t1 , x1 , P1 ).
– Skip estimation and go to next landmark.
If landmark is accepted, compute x+ 1 using Eq. (11.1).
+ + + + + + − − −
Note that (xcorr , xorb , xma ) = (xcorr , xorb , xma ) − (xcorr , xorb , xma ) obtained
from Eq. (11.1) can cause jumps in level 1B images at t1 . This can be avoided
+ + +
by replacing (ẋcorr , ẋorb , ẋma ) [also obtained from Eq. (11.1) and given by Eqs.
+ + + + + +
(8.3), (8.5) and (8.7)] with (ẋcorr , ẋorb , ẋma ) + (xcorr , xorb , xma )/ δ t, where,
δ t = delta time to next landmark or next KF point. After this slope adjustment,
+ + + − − −
set (xcorr , xorb , xma ) = (xcorr , xma , xma ) at t1 .
3. The third step is to re-initialize KF by setting (t0 , x+ + + +
0 , P0 ) = (t1 , x1 , P1 ) to start
+
the next cycle from t0 to t1 and compute SVINR from x1 using Sect. 2. This is
needed for Sect. 6.

3.1 KF Landmark Residual Computation

The landmark residuals Z = Z − Z̄ are computed from the next two subsections.

3.1.1 Actual Landmark Measurement Z̄

In view of Fig. 2, we get:


 To = T
R  −R
 So (12.1)
616 A.A. Kamel et al.

Fig. 2 ECLF to GEOS geometry

Using vector components in GEOS coordinates, we get:


⎡ ⎤ ⎡ ⎤
CLT SλT 0
 To
R = (Re + h) ⎣ −SLT ⎦ − Rso ⎣ 0 ⎦
−CLT CλT −1
⎡ ⎤
CN̄GEOS SĒGEOS
= RTo ⎣ −SN̄GEOS ⎦ (12.2)
CN̄GEOS CĒGEOS

Re = Reo (1 + aS2LT )− 2 ∼
1
= Reo (1 − f S2LT ) (12.3)
λT = λT − λso , a = (1 − f)−2 − 1 ∼ = 2f (12.4)

This leads to:



RTo = 2 + (R + h)2 − 2R (R + h)C C
Rso e so e LT λT (13.1)

 
(Re + h)CLT SλT
ĒGEOS = Arc tan (13.2)
Rso − (Re + h)CLT CλT
 
(Re + h)SLT
N̄GEOS = Arc sin (13.3)
RTo
 
ĒGEOS
Z̄ = (13.4)
N̄GEOS
Generalized Image Navigation and Registration … 617

3.1.2 Estimated Landmark Measurement Z

Transformation of landmark (ELRF , NLRF ) coordinates to (EGEOS , NGEOS ) coordinates


is obtained in the next 4 subsections.
3.1.2.1  IIRF Computation
UIIRF and R

For single mirror instruments:

EIIRF = ELRF − (φma SNLRF + θma CNLRF ) (14.1)


NIIRF = NLRF − (φma CNLRF − θma SNLRF )/CELRF (14.2)

(ELRF , NLRF ) = determined landmark (EW, NS) angles.


To get (ELRF , NLRF ) from (EIIRF , NIIRF ) for inverse transformation, two iterations
of Eqs. (14.1) and (14.2) may be needed.
The unit vector UIIRF components in IIRF coordinates is obtained by a rotation
NIIRF about X-axis followed by a rotation EIIRF about new Y-axis. This leads to:
⎡ ⎤
SEIIRF

UIIRF = ⎣ −CEIIRF SNIIRF ⎦ (14.3)
CEIIRF CNIIRF

The unit vector 


RIIRF components in GEOS is given by:


RIIRF = CGEOS    
IIRF UIIRF = [RGEOS,X RGEOS,Y RGEOS,Z ]
T
(14.4)

Note that for inverse transformation, use:


UIIRF = CIIRF 
GEOS RIIRF , CGEOS = [CIIRF ]
IIRF GEOS T
(14.5)

3.1.2.2 IIRF to GEOS Transformation Matrix Computation

Transformation from IIRF to GEOS is 3,1,2, type rotation and can be obtained from
Appendix E, Table E-1, Ref. [13] by replacing (φ, θ, ψ) with (ψC , φC , θC ):
⎡ ⎤
Cθ Cψ − Sθ Sφ Sψ Cθ Cψ + Sθ Sφ Sψ −Sθ Cφ
CGEOS
IIRF = ⎣ −Sψ Cφ Cψ Cφ Sφ ⎦
Sθ Cψ + Cθ Sφ Sψ Sθ Sψ − Cθ Sφ Cψ Cφ Cθ C
⎡ ⎤
1 ψC − θC

= ⎣ − ψC 1 φC ⎦ (15.1)
θC − φC 1

In view of Eqs. (3.1), (4), and (6.1) to (6.3) we get:


618 A.A. Kamel et al.

Fig. 3 Image navigation geometry

⎡ ⎤
φc
SVC = ⎣ θC ⎦ = SVACF + SVcorr (15.2)
ψC
⎡ ⎤
φ
SVACF = ⎣ θ ⎦ = SVORF + SVatt (15.3)
ψ
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
φcorr φorb φatt
SVcorr = ⎣ θcorr ⎦ , SVORF = ⎣ θorb ⎦ , SVatt = ⎣ θatt ⎦ (15.4)
ψcorr ψorb ψatt

3.1.2.3 RIIRF computation

In view of Fig. 3 and Eq. (14.4), we get:

T =RS + R IIRF (16.1)


⎡ ⎤ ⎡ ⎤ ⎡ ⎤
CLT SλT CLS SλS 
RGEOS,x
(Re + h) ⎣ −SLT ⎦ = RS ⎣ −SLS ⎦ + RIIRF ⎣ 
RGEOS,y ⎦ (16.2)
CLT CλT −CLS CλS 
RGEOS,z

RIIRF can be obtained from Eq. (16.1) as follows:

 = |R
|T|  IIRF |
S + R (17.1)
Generalized Image Navigation and Registration … 619

(Re + h)2 = RIIRF


2
+ Rs2 + 2RIIRF Rs Cαs (17.2)

Cα s = − dot product of unit vectors 


Rs and 
RIIRF
= −RGEOS,x CLs Sλs + RGEOS,y SLs + 
  RGEOS,z CLs Cλs
Solution of the quadratic Eq. (17.2) leads to:

RIIRF = RS /r (17.3)

  −1
r = Cαs − c2αs − c2αso
C2αso = 1 − [(Re + h)/Rs ]2 (17.4)

Note that the parameter r is the same as A (α) in [1] and r in [11] and was called earth
curvature parameter by Kamel because its value is dependent on Earth curvature.
Re is obtained from Eq. (12.3) with SLT from the middle row of Eq. (16.2):
  
RGEOS,y
sLT = Rs SLS − /(Re + h) (17.5)
r

Note that because S2LT is multiplied by small number in Eq. (12.3), one or two
iterations using Eqs. (12.3), (17.4) and (17.5), starting with Re = Reo in Eqs. (17.4)
and (17.5), should be sufficient  to get accurate values for Re and r.
Note also that if C2αs < C2αso , c2αs − c2αso in Eq. (17.4) is imaginary indicating that
the image pixel (ELRF , NLRF ) corresponds to a point outside earth and (EGEOS , NGEOS )
transition from earth to space will be undefined. This can be avoided if a fictitious
earth with Cαso = Cαs is used in Eq. (17.4) for the space portion of the earth images.
In this case, Eqs. (17.3) and (17.4) lead to:

1
r= , RIIRF = RS Cαs (17.6)
cαs

3.1.2.4 GEOS Coordinate Computation

In view of Fig. 3, we get:


R  IIRF + R
 IIRF0 = R s (18.1)

 IIRF0 from Eqs. (14.4) and (17.3) or (17.6),


R
⎡ ⎤
Rs CLs Sλs
s = R
R  s0 = ⎣
s − R −Rs SLs ⎦ (18.2)
Rso − Rs CLs Cλs
620 A.A. Kamel et al.

(EGEOS , NGEOS ) are obtained from Figs. 2 and 3 and Eqs. (18.1) and (18.2):
⎡ ⎤ ⎡ ⎤
CNGEOS SEGEOS 
RGEOS0,x  IIRF + 
R Rs
⎣ −SNGEOS ⎦ = ⎣  RGEOS0,y ⎦ = (18.3)
  IIRF + R
|R  s|
CNGEOS CEGEOS RGEOS0,z

 
R̂GEOS0,x
EGEOS = Arc tan (18.4)
R̂GEOS0,z
NGOES = −Arc sin R̂GEOS0,y (18.5)
 
EGEOS
Z= (18.6)
NGOES

Note that for star measurements, Z is obtained directly from Eq. (14.4) and Sect. 3.1.2.3
skipped because R  S is insignificant compared to R
 IIRF in Eq. (18.3).

3.2 KF Initial Conditions

KF initial conditions are given by:


t0 = epoch time = UTC0 at KF start.
x0+ = SVKF at epoch = 012+2m
⎡ ⎤
Pcorr,0 06×6 06×2m
P0+ = error covariance matrix at epoch = ⎣ 06×6 Porb,0 06×2m ⎦ (19.1)
02m×6 02m×6 Pma,0

   
I3×3 03×3 I 03×3
Pcorr,0 = σ2corr,0 , Porb,0 = σorb,0 3×3
2
03×3 03×3 03×3 03×3
 
Im×m 0m×m
Pma,0 = σ2ma,0 (19.2)
0m×m 0m×m

σcorr,0 ∼
= σorb,0 ∼
= σma,0 ∼
= 5.0E − 05 for simulation.

3.3 KF Detailed Computation

After level 1 A data block searched for landmarks and determined landmarks are time
tagged, KF propagates (t0 , x+ +
0 , P0 ) from last event prior to this data block and re-
+ +
initialized after the(t1 , x1 , P1 ) estimation as shown in Fig. 1. If no landmarks found
Generalized Image Navigation and Registration … 621

within the data block, go to end of block of Eq. (21). Otherwise, let LMT = total
number of determined landmarks within the data block and do the following:
For k = 1 to LMT do to ENDFOR

t = t1 − t0 , t1 = UTCk time at landmark number k. (20)

Propagation: From step number 1 of Sect. 3.


Estimation: From step number 2 of Sect. 3.
Re-initialize KF: From step number 3 of Sect. 3.
ENDFOR
At end of data block, do the following:

t = t1 − t0 , t1 = UTCend = time at end of data block (21)

Propagation: From step number 1 of Sect. 3.


Re-initialize KF: (t0 , x+ + + + − −
0 , P0 ) = (t1 , x1 , P1 ) = (t1 , x1 , P1 )
+
Compute SVINR from x1 using Sect. 2. This is needed for Sect. 6.
If maneuver delta V provided by FDS
At maneuver, do the following:

t = t1 − t0 , t1 = UTCmaneuver = maneuver time (22.1)

Propagation: From step number 1 of Sect. 3.


Re-initialize KF:

x1+ = x1− + x (22.2)


P1+ = P1−
+ P (22.3)
 T
vFDS,r vFDS,λ vFDS,L
x = 01×9 01×2m (22.4)
Rso Rso Rso
P = diagonal terms 10 to 12 from delta v error analysis.
(t0 ,x0+ , P0+ ) = (t1 , x1+ , P1+ ) (22.5)

Compute SVINR from x1+ using Sect. 2. This is needed for Sect. 6.
If orbit is delta V provided by FDS instead of delta V
At maneuver, do the following:

t = t1 − t0 , t1 = UTCOD = orbitdeterminationtime (23.1)

Propagation: From step number 1 of Sect. 3.


Re-initialize KF:
622 A.A. Kamel et al.

x1+ = x1− + δ x (23.2)


P1+ = P1−
+ δP (23.3)
   T
Rs
δ x = 01×6 δ δ λs δ Ls 01×(3+2m) (23.4)
Rso

(δ Rs , δ λs ) = (RFDS , λFDS , LFDS )− before OD


− (RFDS , λFDS , LFDS )+ after OD (23.5)

δ P = diagonal terms 7 to 9 from OD error analysis.


(t0 ,x0+ , P)+ = (t1 , x1+ , P1+ ) (23.6)

Compute SV I N R from x+
1 using Sect. 2. This is needed for Sect. 6.
Transition matrix A: From Sect. 2.3.
Process noise covariance matrix Q: From Ref. [13], Eqs. (13)–(83) and (13)–
(89), we get:

1 1
Q(t) = V0 + Vt + [Fx V + VFTx ]t 2 + Fx VFTx t 3 (24.1)
⎡ 2 ⎤ 3
Vcorr,0 06×6 06×2m  2 
σ I 03×3
V0 = ⎣ 06×6 Vorb,0 06×2m ⎦ , Vy,0 = e,y 3×3 (24.2)
03×3 03×3
02m×6 02m×6 Vma,0
⎡ ⎤
Vcorr 06×6 06×2m  2 
σ I3×3 03×3
V = ⎣ 06×6 Vorb 06×2m ⎦ , Vy = ν,y (24.3)
03×3 σu,y
2
I3×3
02m×6 02m×6 Vma

where,
y = corr, orb, or ma. For ma, 3 replaced by m.
σe = measurement white noise standard deviation, rad.
σν = random walk standard deviation, rad/sec1/2 .
σu = rate random walk standard deviation, rad/sec3/2 .
⎡ ⎤
Fcorr 06×6 06×2m  
0 I3×3
FX = ⎣ 06×6 Forb 06×2m ⎦ , Fcorr = 3×3 (25.1)
03×3 03×3
02m×6 02m×6 Fma

Forb from Euler-Hill equations:


   
03×3 I3×3 ∼ 03×3 I3×3
Forb = = (25.2)
ω2e F21 2 ωe F22 03×3 03×3
Generalized Image Navigation and Registration … 623
⎡ ⎤ ⎡ ⎤
3 0 0 0 1 0  
0 Imxm
F21 = ⎣0 0 0 ⎦ , F22 = ⎣ −1 ⎦
0 0 , Fma = mxm
0mxm 0mxm
0 0 −1 0 0 0
(25.3)
This leads to: ⎡ ⎤
Qcorr 06×6 06×2m
Q(t) = ⎣ 06×6 Qorb 06×2m ⎦ (25.4)
02m×6 02m×6 Qma
⎡  ⎤
σe,y
2
+ σv,y
2
t + 13 σu,y
2
t 3 I3×3 1
σu,y
2
t 2 I3×3
Qy = ⎣ ⎦
2
(25.5)
1
2
σu,y
2
t 2 I3×3 σu,y
2
tI3×3

where,
y = corr, orb, or ma. For ma, I3×3 is replaced by Imxm .
Note that the first element of the above matrix is the same as in [13], Eq. (7)–(143).
The sigma values can be computed using Eq. (25.5), SVINR error analysis and
estimate of time between measurements. For simulation, this leads to:
(σe,corr, σe,orb, σe,ma ) = (1.942E − 07, 0, 0) rad.
(σν,corr , σν,orb , σν,ma ) = (4.8E − 07, 0, 1.269E − 09) rad/s1/2 .
(σu,corr , σu,orb , σu,ma ) = (4.774E − 10, 9.32E − 13, 2.318E − 11) rad/s3/2 .
Landmark measurement noise covariance matrix R:
R = σM2
I2×2
σM = sigma measurement noise calculated from landmark determination error
analysis (=0.1 pixel for simulation).
Landmark location sensitivity matrix H:
H is determined from ( ∂∂ Zx )x=0 where Z is the estimated landmark measurement
from Sect. 3.1.2 using the linear representation of CGEOS
IIRF of Eq. (15.1). After some
laborious algebraic manipulation, we get:
H = 2 × (12 + 2m) matrix given by:
 
∂Z
H= = [Hcorr Horb Hma ] (26.1)
∂x x=0

where,  
T S 1 TN̄ CĒ 01×3
Hcorr = − N̄ Ē (26.2)
CĒ 0 − SĒ 01×3

For Spacecraft x axis parallel to earth equator (e.g., COMS):


   
SĒ CĒ
0 1 TN̄ SĒ 01×3 0 01×3
Horb =− + r̄ CN̄ CN̄ (26.3)
0 0 CĒ 01×3 CĒ SĒ −SĒ SN̄ CN̄ 01×3
624 A.A. Kamel et al.

For Spacecraft
 x axis parallel to orbit
 plane
 (e.g., GOES I-M): 
0 1 TN̄ SĒ 01×3 0 1 TN̄ SĒ 01×2 TN̄ CĒ / ωe
Replace by
0 0 CĒ 01×3 0 0 CĒ 01×2 −SĒ / ωe
  −1
r̄ = Cᾱs − Cᾱ2s − 1 + ((Re + h)/Rso )2 (26.4)

Cαs = Cosαs = CN = CE (26.5)


TN = TanNGEOS , SN = SinNGEOS , CN = CosNGEOS
SE = SinEGEOS , CE = CosEGEOS
(EGEOS , NGEOS ) = landmark location from Eq. (13.4).
Re = earth radius at landmark location from Eq. (12.3).
h = landmark altitude.

For star measurements, r = 0 and Horb becomes insensitive to orbit translational


part (δ R/Rso , δ λ, δ L). Therefore, stars cannot be used to refine orbit and, therefore,
orbit refinement must be deleted from KF as described in Sect. 5.1.
 
C11 C12 0 0
Hma = (26.6)
C21 C22 0 0
C22 C21 S − CN S C
C11 = − , C12 = − , C21 = − E , C22 = − N N (26.7)
CN CN 1 − CN SE 1 − CN SE

Hma for two mirror imaging systems to be investigated in the future.

3.4 Thermo-Elastic Model Time Series

The thermo-elastic SVma,model and SVcorr,model time series can be obtained form Eqs.
(2.1)–(3.2) as follows:

1. Create daily time series at, e.g., one-minute interval for, e.g., seven days using
interpolation of SVma and SVcorr data at time ti,n , i = 1, 2, . . . , 1440 and n =
1, 2 . . . , 7.
2. The SVma,model (ti,n ) and SVcorr,model (ti,n ) for the next day (n = 8) are obtained by
averaging the last seven days of SVma (ti,n ) and SVcorr (ti,n ) data:

1 n=7
SVma,model (ti,8 ) = SVma (ti,n ) (27.1)
7 n=1
1 n=7
SVcorr,model (ti,8 ) = SVcorr (ti,n ) (27.2)
7 n=1
Generalized Image Navigation and Registration … 625

Note that SVma,model and SVcorr,model are initially determined by analysis or set to
zero.
3. Repeat above process once a day using one-day sliding window.

4 Simulation Results

A hundred landmarks distributed over earth and COMS imaging schedule were used
in the simulation [14, 15]. The true SVINR is calculated using eccentricity =0.0001,
inclination = 0.05◦ , SVma,model and SVcorr,model amplitudes = 100 μrad, with 24-h
period, and attitude amplitude = 300 μrad with 2.4-h period. The maneuver delta V
times are obtained from [16], Fig. 8, and magnitudes from [17], Tables 2.
The estimated SVINR are shown in Fig. 4 for seven days and is computed using
Sect. 3.3 based on SVma,model and SVcorr,model errors =10 μrad, FDS maneuver delta
V errors from [17], Table 3 (or FDS orbit determination error from Table 7). Figure 5
shows SVerrors , δ SV = SVINR − SVINR . Figure 6 shows residual errors computed
using Sect. 3.1. The simulated landmarks are obtained using the true SVINR to transfer
(EGEOS , NGEOS ) to (ELRF , NLRF ) based on Sect. 3.1.2 inverse transformation. The
estimated (ELRF , NLRF ) are then obtained from actual (ĒLRF , N̄LRF ) by adding a
random normal distribution land- mark determination error with σM = 2.8E-06 rad
for visible landmarks and σM = 11.2E-06 rad for IR landmarks. Simulation was also
successfully used to stress test the basic method for cases using eccentricity = 0.001,
inclination = 0.5◦ , SVma,model and SVcorr,model amplitudes = 1000 μrad with errors
=100 μrad and only IR landmarks.

5 Adaptation to Other Systems

The following 3 subsections show how the basic method described in Fig. 1 can be
adapted to be used for systems based on star and landmark measurements, star only
measurements with orbit from FDS or GPS, and systems with attitude rate telemetry
inserted in the image wideband data.

5.1 Systems Based on Star and Landmark Measurements

For stars:

• KF refinements (δ Rs /Rso , δ λs , δ Ls ) = (0,0,0) and (xorb , ẋorb ) deleted from KF


state vector.
• Rows and columns associated with Porb,0 , Aorb , Porb and Forb deleted from P+ 0 , A,
V, V0 , and Fx .
• Horb deleted from H.
In this case:
626 A.A. Kamel et al.

Fig. 4 KF state vector

• one star per minute or 3 stars per 5 min are sufficient to determine KF
xcorr and xma .
• SVKF dimension = 6 + 2m instead of 12 + 2m.
• KF detailed computation is like basic method with landmarks replaced by stars.
For landmarks:
• Use KF for orbit refinements (δ Rs /Rso , δ λs , δ Ls ) using the above deleted items.
In this case:
• Few landmarks (e.g.,10 well distributed landmarks over earth) are sufficient to de-
termine (xorb , ẋorb ).
• SVKF dimension = 6 instead of 12 + 2m.

5.2 Systems Based on Star only Measurements

• KF is same as in Sect. 5.1 for stars. In this case, the orbit must be provided by FDS
or GPS.
Generalized Image Navigation and Registration … 627

Fig. 5 SV errors δ SV = SVINR − SVINR

5.3 Systems Based on Inertial Angular Rate Telemetry

The (ωsx , ωsy , ωsz ) telemetry represent inertial angular rate along ACF axes in the
form of time series spaced at tatt (e.g., 0.01 s) inserted in the imager wideband data.
The rates SVACF of Eq. (15.3) can be obtained from (ωsx , ωsy , ωsz ) using Fig. 3 with
IIRF replaced by ACF. Starting with θ̇ + ωe about −YGEOS axis followed by φ̇ about
the new −X axis followed by ψ̇ about −ZACF axis and using Eqs. (14.5) and (15.1),
we get:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
ωsx 0 Cψ Sψ Cφ
⎣ ωsy ⎦ = −ψ̇ ⎣ 0 ⎦ − φ̇ ⎣ Sψ ⎦ − (θ̇ + ωe ) ⎣ Cψ Cφ ⎦ (28.1)
ωsz 1 0 Sφ

This leads to:


628 A.A. Kamel et al.

Fig. 6 Landmarks measurement residuals

⎡ ⎤ ⎡ ⎤
φ̇ ωsy S ψ +ωsx C ψ
SV̇ACF = ⎣ θ̇ ⎦ = − ⎣ ωe + (ωsy C ψ −ωsx S ψ)/C φ ⎦
φ̇ ωsx − (ωsy C ψ −ωsx S ψ)S φ /C φ
⎡ ⎤
ωsx + ωsy ψ

= − ⎣ ωsy + ωe − ωsx ψ ⎦ (28.2)
ωsz − ωsy φ

Note that Eq. (28.2) can also be obtained from [13], Appendix E Table E-2 for 2, 1,
3 type rotation by replacing (φ, ψ) with −(φ, ψ) and (ωI , ωJ , ωK ) with (ωsy , ωsx ,
ωsz ) on the right side of the equation and replacing (φ̇, θ̇, ψ̇) with −(θ̇ + ωe , φ̇, ψ̇)
on the left side of the equation.
Now, the SVC time series spaced by tatt over t = t1 −t0 is computed as follows:
Let j = Integer(t/tatt)
For i = 1, …, j plus final step from τj to t1

SVACF (τi ) = SVACF (τi−1 ) + SV̇ACF (τi−1 )tatt (28.3)

where

SV̇C (τi−1 ) = SV̇ACF (τi−1 ) + SV̇corr,model (τi−1 ) + ẋcorr(τi−1 ) (28.4)


Generalized Image Navigation and Registration … 629

With

SVC (τi ) = SVACF (τi ) + SVCorr,model (τi ) + xcorr (τi ) (28.5)

SVcorr,model obtained from Sect. 3.4 and xcorr determined by KF and defined in Eqs.
(8.2) and (8.3).
At KF start (see Sects. 3.2 and 3.4):

SVKF = 012+2m and SVcorr,model = 03 (29.1)

In view of Eqs. (15.2), (15.3), and (6.1) to (6.3)

SVC (0) = SVACF (0) = SVORF (0) + SVatt (0) (29.2)


SVatt (0) from telemetry or = 03 . (29.3)

At KF re-initialization (see Fig. 1):

SVC (0) = SVC (t1 ) from Eq. (28.4) (29.4)


SVACF (0) = SVACF (t1 ) from Eq. (28.3) (29.5)
SV̇ACF (0) = SV̇ACF (t1 ) from Eq. (28.2) (29.6)

Note that SVACF of Eq. (28.4) is corrected by xCorr determined by KF to compensate


for gyro drift and the first part of Hor b in Eq. (26.3) must be deleted.

6 Image Registration Using Resampling

Image registration requires two steps. The first step is to transfer level 1A (column,
line) pixel indices (c, ) to (c ,  ) = (c, ) + (c, ), in the GEOS fixed frame. The
second step is to resample (c ,  ) pixels to generate level 1B data block (see, e.g.,
[18]). The first step can be performed using Sect. 3.1.2 algorithm to determine (,
)c, from (E, N)c, = (EGEOS , NGEOS )c, − (ELRF , NLRF )c, divided by pixel
size. Index c and N L R F are fixed over pixel line and index c and ELRF are fixed over
pixel column. The SVINR time series needed for (c, ) to (c ,  ) transformation is
obtained from Sect. 2.3. The processing time of this transformation is significantly
reduced by computing (C, L)C , L for a subset of pixels (C, L) uniformly distrib-
uted over the level 1A (c, ) array. The (C, L)C , L for the remaining pixels are
then computed by EW and NS linear interpolation between the (C, L)C,L subset.
Note that the number of (C, L) pixel subset is obtained by analysis of SVINR and
attitude jitter effects on registration error. Note also that level 1 A block should be
slightly larger than level 1B block to account for the shift caused by orbit, attitude,
and misalignment variation over time.
630 A.A. Kamel et al.

7 Conclusion

INR and KF state vectors suitable for the new INR method were defined. The basic
method is based on landmark measurements to determine orbit, attitude correction
angles, and imager misalignments with maneuvers delta V (or orbit with coarse
accuracy) provided by FDS. The method was proven by simulation. Adaptation of
this method to other INR systems and an algorithm for transferring pixels from LOS
to the fixed grid GEOS frame needed for pixel data resampling are presented.

Acknowledgements The authors appreciate the support of Eun-joo Kwon and J.B. Park during
the simulation effort.

References

1. Kamel AA (1996) GOES image navigation and registration system. SPIE 2812:766–776
2. Lu F et al (2008) Image Navigation for the FY2 geosynchronous meteorological satellite. J
Atmos Ocean Tech 25:1149–1165. Accessed 1 July 2008
3. Woo J et al (2011) Analysis of COMS MI image navigation and registration performance,
ISRS. Accessed 2–4 Nov 2011
4. Chambon T et al (2013) On-ground evaluation of MTG image navigation and registration (INR)
performances. In: Proceedings of SPIE 8889, sensors, systems, and next- generation satellites,
vol XVII, p 88891J. Accessed 16 Oct 2013
5. Okuyama A et al (2015) Preliminary validation of Himawari-8/AHI navigation and calibration.
Accessed 9 Nov 2015
6. Kamel AA (1999) Precise spacecraft camera image navigation and registration, US patent
#5,963,166, 5 Oct 1999
7. Carr JL (2009) Twenty-five years of INR. J Astronaut Sci 57:505–515
8. Harris J et al (2009) Image navigation and registration improvements using GPS. In: Geoscience
and remote sensing symposium, 2009 IEEE international. IGARSS, vol 3, pp 247–250
9. De Luccia FJ et al (2016) Image navigation and registration performance assessment tool set
for the GOES-R advanced baseline imager and geostationary lightning mapper. Accessed 4
April 2016
10. GOES Earth Location User’s Guide (ELUG), DRL 504-11 Revision 1, Appendix C, NOAA,
March 1998
11. Virgilio VN (2015) Geolocation of remotely sensed pixels by introspective landmarking, US
8942421, 27 Jan 2015
12. Sidi MJ (1997) Spacecraft dynamics and control. Cambridge University Press, Cambridge
13. Wertz JR (1978) Spacecraft attitude determination and control. D. Reidel Publishing, Hingham
(1978) (reprinted in 2000 by Kluwer Academic Publisher. Mass, Boston)
14. Final technical report: as part of the deliverables of the contract for technical COMS technical
monitoring and services, Contract No. KARI-13-0007. Accessed 18 April 2014
15. Final technical report: as part of the deliverables of the contract for technical COMS technical
monitoring and services, Contract No. KARI-15-0012. Accessed 24 April 2015
16. Lee BS et al (2010) East-west station-keeping maneuver strategy for COMS satellite using
iterative process. Advances in space research, the official journal of the committee on space
research (COSPAR)
17. Hwang Y et al (2008) Orbit determination accuracy improvement for geostationary single
station antenna tracking. ETRI J 30(6):774–782
18. Ormiston JP et al (2008) GOES advanced baseline imager – ground processing development
system, 5th GOES users’ conference. Accessed 23 Jan 2008
Exoatmospheric DACS Type Missile
Controller Based on Sliding Mode Control
Considering the Seeker’s Field-of-View Limit

Jaeho Lee and Youdan Kim

1 Introduction

The antiballistic missile system aims to defend against a ballistic missile by


intercepting the target at a high altitude. Especially, in exoatmospheric environ-
ment at which the altitude is greater than 100 km, the aerodynamic control using
the missile’s fin is not applicable, and therefore thrust based control devices such as
divert and attitude control system (DACS) should be used. DACS, which is a thruster
system mainly used in a spacecraft system, is composed of a divert control system
(DCS) using thrusters located at the missile’s center of mass and an attitude control
system (ACS) using thrusters located at the missile’s tail [12]. Because the guidance
and control methods of the missile based on the aerodynamics cannot be applied
in exoatmospheric environment, guidance and control approaches [1, 4, 8, 10] and
analysis [3] for the exoatmospheric missile have been studied. Especially, the exoat-
mospheric controller design using the output feedback for the DACS type missile was
introduced [1], and the control algorithm and thruster management function taking
into account the characteristics of the solid propulsion DACS were proposed [4].
During the terminal phase of the missile, target information is obtained by the
seeker for the homing guidance. If the missile has the strapdown seeker, which is
mounted on the missile’s body, it is crucial to maintain the lock-on condition until
intercepting the target. Therefore, there have been lots of research on the guidance
of the missile considering the seeker’s field-of-view limit to maintain the lock-on
condition. Switching approaches, which combine the pure proportional navigation
guidance (PPNG) law and schemes holding [9] or decreasing [6] the look angle,
were proposed. Impact angle [2, 5] and time [13] control guidance laws considering
the seeker’s field-of-view limit were also presented. However, these studies were
developed using a point mass model of the missile in the 2-dimensional pursuit
situation, and consequently the look angle is defined as an angle between the velocity

J. Lee (B) · Y. Kim


Seoul National University, Seoul 08826, Republic of Korea
e-mail: akfksem@snu.ac.kr
Y. Kim
e-mail: ydkim@snu.ac.kr

© Springer International Publishing AG 2018 631


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_34
632 J. Lee and Y. Kim

and line-of-sight (LOS) vectors. Considering that the look angle is actually presented
as the angle between the x-axes of the missile’s body and LOS coordinate systems in
the 3-dimensional pursuit situation, the previous studies may not properly deal with
the seeker’s narrow field-of-view.
In this study, an exoatmospheric DACS type missile controller is designed based
on the sliding mode control scheme considering the strapdown seeker’s narrow field-
of-view in the 3-dimensional pursuit situation. The look angle of the seeker is defined
as the angle between the x-axes of the missile’s body and LOS coordinate system.
It is assumed that the DACS’s configuration consists of four thrusters of DCS and
six thrusters of ACS, and the missile’s 6-degrees-of-freedom (6-DOF) equations of
motions are derived. Based on the property of the exoatmospheric missile that the
translational motion is decoupled from the rotational motion, the design objectives of
the controller are to maintain the lock-on condition until intercepting the target and
to generate the accelerations corresponding to the guidance command. To achieve
the two objectives, the controller is designed as the two-loop structure; the outer-
loop controller generates the pitch and yaw angular rate commands to decrease the
look angle using the information of the seeker. In the inner-loop controller, the ACS
thrust inputs corresponding to the angular rate commands and stabilizing the roll
motion are generated, and the DCS thrust inputs corresponding to the acceleration
commands sent by the guidance loop are generated. The controllers of each loop are
designed based on the first-order sliding mode control scheme. To demonstrate the
performance of the proposed controller, numerical simulation is carried out for the
DACS type missile to intercept the ballistic target in the exoatmospheric environment.
The main features of this paper are as follows. First, the look angle of the seeker is
defined in the 3-dimensional pursuit situation, which is more practical than the other
previous studies. Second, using the characteristics of the exoatmospheric environ-
ment, the DACS type controller maintaining the lock-on condition and generating
the accelerations corresponding to the guidance command is designed based on the
sliding mode control scheme. Finally, guidance and control integrated simulation
using the PPNG law and designed controller is performed for the DACS type missile
to intercept the ballistic target in the 3-dimensional exoatmospheric pursuit situation.
The paper is organized as follows. In Sect. 2, preliminaries including the prob-
lem statement and the 6-DOF equations of motions for the DACS type missile are
presented. The controller design is described in Sect. 3, and numerical simulation
results are provided in Sect. 4. Finally, conclusions are given in Sect. 5.

2 Preliminaries

In this study, five types of coordinate systems are used for the 3-dimensional pursuit
situation as shown in Fig. 1, where the superscripts [I ], [L], [VM ], [VT ], and [B]
mean the reference, LOS, missile’s velocity, target’s velocity, and missile’s body
coordinate systems, respectively, and ψ A,B and θ A,B are the Euler angles from A
coordinate system to B coordinate system represented by the sequence of z and
Exoatmospheric DACS Type Missile Controller … 633

Fig. 1 Pursuit geometry in 3-dimensional space

Fig. 2 Definition of seeker’s Z [I ] X [B]


look angle
 X [ L]
Target
X [VM ]

Missile
Y [I ]
[I ]
X

negative y axes. Specifically, ψ I,B , θ I,B , and φ I,B are the Euler angles from the
reference coordinate system to the missile’s body coordinate system represented by
the sequence of z, negative y, and x axes. The target is considered as the point mass.

2.1 Problem Statement

The main objective of this study is to design a controller for the exoatmospheric
DACS type missile equipped with the strapdown seeker of the narrow field-of-view.
Considering that the translational motion of the missile can be separated from the rota-
tional motion in the exoatmospheric environment, the controller should be designed;
to maintain the lock-on condition of the seeker and to generate the missile acceler-
ations corresponding to the guidance command. The look angle of the seeker σ is
defined as the magnitude of the angle between the x-axes of the missile’s body and
LOS coordinate systems as shown in Fig. 2.
634 J. Lee and Y. Kim

Fig. 3 Thruster Z [B]


configuration of DACS TA6
TDZ ,1 TA5
TDY ,2 TA
1
la
X [B]
TA4
TDY ,1 TDZ ,2 TA2
Y [B]
TA3
lcg

2.2 Equations of Motions

A configuration of the DACS considered in this study is shown in Fig. 3, where TDY,1 ,
TDY,2 , TD Z ,1 , and TD Z ,2 are the four thrusters of the DCS, T A1 , T A2 , T A3 , T A4 , T A5 , and
T A6 are the six thrusters of the ACS, lcg is the length from the ACS to the missile’s
center of mass, and la is the length between the side thrusters of the ACS. The pitch
and yaw accelerations of the missile’s body can be expressed as follows

TD Z − T A3 + T A6
az = (1)
m
T DY + T A1 + T A2 − T A4 − T A5
ay = (2)
m
where az and a y are the pitch and yaw accelerations of the missile’s body, respectively,
m is the mass of the missile, and TD Z and TDY are defined as

TD Z = TD Z ,1 − TD Z ,2 (3)
TDY = TDY,1 − TDY,2 (4)

The rotational motion of the missile can be represented as follows

ω̇[B] = I−1 (M[B] − ω[B] × Iω[B] ) (5)

where ω[B] = [ p q r ]T is the angular rate vector with respect to the missile’s body
coordinate system, I is the moment of inertia matrix about the center of mass, and
M[B] = [L M N ]T is the external moment vector acting on the center of mass with
respect to the missile’s body coordinate system. The external moments are derived as

1
L= T A la (6)
2 L
M = T A M lcg (7)
N = T A N lcg (8)
Exoatmospheric DACS Type Missile Controller … 635

where T A L , T A M , and T A N are defined as

T A L = −T A1 + T A2 − T A4 + T A5 (9)
T A M = −T A3 + T A6 (10)
T A N = −T A1 − T A2 + T A4 + T A5 (11)

Assuming that the missile has the axially symmetric shape, the moment of inertia
matrix can be expressed as
⎡ ⎤
Ix 0 0
I = ⎣ 0 Iy 0 ⎦ (12)
0 0 Iz

where Ix , I y , and Iz are principal moments of inertia about the center of mass.
Substituting Eqs. (6)–(12) into Eq. (5), the rotational dynamics of the missile can be
obtained as follows
T A L la
ṗ = (13)
2Ix
(Iz − Ix ) pr + T A M lcg
q̇ = (14)
Iy
(Ix − I y ) pq + T A N lcg
ṙ = (15)
Iz

The relation between the Euler angles from the reference coordinate system to the
missile’s body coordinate system with the sequence of z, −y, and x axes and the
body angular rates can be formulated as follows

φ̇ I,B = p − q sin φ I,B tan θ I,B − r cos φ I,B tan θ I,B (16)
θ̇ I,B = q cos φ I,B − r sin φ I,B (17)
ψ̇ I,B = q sin φ I,B sec θ I,B + r cos φ I,B sec θ I,B (18)

3 Controller Design

The translational motion of the missile can be separated from the rotational motion,
and therefore, in this study, the controller is designed to achieve the following two
objectives; (i) to maintain the lock-on condition, and (ii) to generate the accelerations
corresponding to the guidance command. For this, the proposed controller has two-
loop structure as shown in Fig. 4, where the outer-loop controller computes the pitch
and yaw angular rate commands decreasing the look angle of the seeker to maintain
the lock-on condition by using the seeker’s information. The inner-loop computes
636 J. Lee and Y. Kim

Fig. 4 Two-loop structure of


the controller

the ACS inputs to track the angular rate commands of the outer-loop and to make the
roll angle zero for the stabilization of the roll motion. The inner-loop also computes
the DCS inputs to generate the missile’s body accelerations corresponding to the
guidance command. The controllers of each loop are designed based on the first-
order sliding mode control scheme, and the guidance command of the pitch and yaw
accelerations with respect to the missile’s velocity coordinate system is generated
by using the PPNG law.

3.1 Inner-Loop Controller

3.1.1 ACS Control Input

The design objective of the inner-loop controller is to track the commands of the pitch
and yaw angular rates and roll angle. The commands of the pitch and yaw angular
rates are generated by the outer-loop controller, and the roll angle command is set
to zero for the stabilization of the roll motion. The error vector of the inner-loop is
defined as
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
eφ φ I,B φc
e I = ⎣ eq ⎦ = ⎣ q ⎦ − ⎣ qc ⎦ (19)
er r rc

where φc , qc , and rc are the commands of the roll angle and pitch and yaw angular
rates, respectively. Let us consider the sliding surfaces of the inner-loop including
the integral terms for regulating the error vector as
 rφ  t
d
sφ = + λφ eφ dτ (20)
dt 0
 rq  t
d
sq = + λq eq dτ (21)
dt 0
 rr  t
d
sr = + λr er dτ (22)
dt 0
Exoatmospheric DACS Type Missile Controller … 637

where λφ , λq , and λr are the design parameters of the positive real values, and rφ , rq ,
and rr are the relative degrees for the sliding mode control scheme. Setting rφ = 2
and rq = rr = 1, Eqs. (20)–(22) can be rewritten as follows
  t  t
d2 d
sφ = + 2λ φ + λ 2
φ eφ dτ = ėφ + 2λ φ e φ + λ 2
φ eφ dτ (23)
dt 2 dt 0 0
  t  t
d
sq = + λq eq dτ = eq + λq eq dτ (24)
dt 0 0
  t  t
d
sr = + λr er dτ = er + λr er dτ (25)
dt 0 0

Differentiating Eq. (23) with respect to time and substituting Eq. (16) and its time
derivative into the resulting equation yields

ṡφ = ṗ − q̇ sin φ I,B tan θ I,B − φ̇ I,B (q cos φ I,B tan θ I,B − r sin φ I,B tan θ I,B )
− ṙ cos θ I,B tan θ I,B − θ̇ I,B (q sin φ I,B sec2 θ I,B + r cos φ I,B sec2 θ I,B ) + λ2φ φ I,B
+ 2λφ ( p − q sin φ I,B tan θ I,B − r cos φ I,B tan θ I,B ) − (φ̈c + 2λφ φ̇c + λ2φ φc ) (26)

Differentiating Eqs. (24) and (25) with respect to time yields

ṡq = q̇ + λq q − (q̇c + λq qc ) (27)


ṡr = ṙ + λr r − (ṙc + λr rc ) (28)

Substituting Eqs. (13)–(17) into Eqs. (26)–(28), the time derivatives of the sliding
surfaces can be obtained as follows

ṡφ = ( p − q sin φ I,B tan θ I,B − r cos φ I,B tan θ I,B )(r sin φ I,B tan θ I,B − q cos φ I,B tan θ I,B )
− (q cos φ I,B − r sin φ I,B )(q sin φ I,B sec2 θ I,B + r cos φ I,B sec2 θ I,B )
+ 2λφ ( p − q sin φ I,B tan θ I,B − r cos φ I,B tan θ I,B ) + λ2φ φ I,B
(Iz − I x pr ) (I x − I y pq)
− sin φ I,B tan θ I,B − cos φ I,B tan θ I,B − (φ̈c + 2λφ φ̇c + λ2φ φc )
Iy Iz
la lcg lcg
+ TA − sin φ I,B tan θ I,B T A M − cos φ I,B tan θ I,B T A N
2I x L Iy Iz
la lcg lcg
= Fφ − X c,φ + TA − sin φ I,B tan θ I,B T A M − cos φ I,B tan θ I,B T A N (29)
2I x L Iy Iz
(Iz − I x ) pr lcg lcg
ṡq = + λq q − (q̇c + λq qc ) + T A = Fq − X c,q + TA (30)
Iy Iy M Iy M
(I x − I y ) pq lcg lcg
ṡr = + λr r − (ṙc + λr rc ) + T A N = Fr − X c,r + TA N (31)
Iz Iz Iz

where Fφ , Fq , and Fr are terms relevant to the states, and X c,φ , X c,q , and X c,r are
terms relevant to the commands with respect to φ, q, and r , respectively. Finally, the
638 J. Lee and Y. Kim

time derivative of the sliding surface vector of the inner-loop can be expressed as

ṡ I = FI − X c,I + G I u I (32)

where
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
sφ TA L Fφ X c,φ
s I = ⎣ sq ⎦ , u I = ⎣ T A M ⎦ , FI = ⎣ Fq ⎦ , X c,I = ⎣ X c,q ⎦ ,
sr TA N Fr X c,r
⎡ la l l ⎤
2I x
− Icgy sin φ I,B tan θ I,B − Icgz cos φ I,B tan θ I,B
⎢ lcg ⎥
GI = ⎣ 0 Iy
0 ⎦
lcg
0 0 Iz

Let us propose a control input of the ACS including the proportional and sign
terms with respect to the sliding surfaces as follows

u I = −G −1
I (FI − X c,I + K p,I s I + K s,I sgn(s I )) (33)

where ⎡ ⎤ ⎡ ⎤
k1, p,I 0 0 k1,s,I 0 0
K p,I = ⎣ 0 k2, p,I 0 ⎦ , K s,I = ⎣ 0 k2,s,I 0 ⎦
0 0 k3, p,I 0 0 k3,s,I

with k1, p,I , k2, p,I , k3, p,I , k1,s,I , k2,s,I , and k3,s,I are the positive real values. Applying
the control input (33) to Eq. (32), the time derivative of the sliding surface vector of
the inner-loop can be expressed as

ṡ I = −K p,I s I − K s,I sgn(s I ) (34)

Let us consider a following Lyapunov candidate function.

1 T
VI = s sI (35)
2 I
Differentiating Eq. (35) with respect to time and substituting Eq. (34) into the result-
ing equation yields

V̇I = s IT ṡ I = −s IT K p,I s I − s IT K s,I sgn(s I ) (36)

Note that V̇I is negative definite, which implies that s I converges to zero in finite
time and is maintained thereafter. If s I = 0 is maintained, the following equalities
can be derived from Eqs. (23)–(25).
Exoatmospheric DACS Type Missile Controller … 639
 t
ėφ = −2λφ eφ − λ2φ eφ dτ (37)
0
ėq = −λq eq (38)
ėr = −λr er (39)

Equations (37)–(39) show that the errors of the roll angle and the pitch and yaw
angular rates converge to zero.

3.1.2 DCS Control Input

In this study, the PPNG law is used to generate a guidance command with respect
to the missile’s velocity coordinate system. Because DCS can generate pitch and
yaw accelerations with respect to the missile’s body coordinate system, the relation
between the missile’s body and velocity coordinate systems should be used to gen-
erate the accelerations corresponding to the guidance command. The missile’s body
accelerations can be expressed in the missile’s velocity coordinate system as follows
⎡ ⎤⎡ ⎤ ⎡ ⎤[B]
cos β sin β 0 cos α 0 sin α 0
a [V
B
M]
= ⎣ − sin β cos β 0 ⎦ ⎣ 0 1 0 ⎦ ⎣ ay ⎦
0 0 1 − sin α 0 cos α az
⎡ ⎤
a y sin β + az sin α cos β
= ⎣ a y cos β − az sin α sin β ⎦ (40)
az cos α

where a [V
B
M]
is the missile’s body acceleration vector with respect to the missile’s
velocity coordinate system, α is the angle of attack, and β is the sideslip angle. To
generate the accelerations corresponding to the guidance commands of the pitch
and yaw accelerations with respect to the missile’s velocity coordinate system, the
following equalities should be satisfied.
[VM ]
az,c = az cos α (41)
a [V
y,c
M]
= a y cos β − az sin α sin β (42)

[VM ] [VM ]
where az,c and a y,c are the guidance commands of the pitch and yaw accelerations
with respect to the missile’s velocity coordinate system. Using Eqs. (41) and (42),
the pitch and yaw accelerations of the missile’s body with respect to the missile’s
body coordinate system, which should be achieved, can be obtained as
640 J. Lee and Y. Kim

[VM ]
[B]
az,c
az,c = (43)
cos α
az,c tan α sin β + a [V
[VM ] M]

a [B]
y,c
y,c = (44)
cos β

Substituting Eqs. (9)–(11) into Eqs. (1) and (2), the pitch and yaw accelerations of the
missile’s body with respect to the missile’s body coordinate system can be obtained
as
TD Z + T A M
az = (45)
m
T DY − T A N
ay = (46)
m
To match the pitch and yaw accelerations of the missile’s body to Eqs. (43) and (44),
the DCS inputs can be derived based on Eqs. (45) and (46) as follows
[VM ]
maz,c
TD Z = − TA M (47)
cos α
m
T DY = (a [VM ] tan α sin β + a [V M]
y,c ) + T A N . (48)
cos β z,c

3.2 Outer-Loop Controller

The design objective of the outer-loop controller is to decrease the look angle of the
seeker for the lock-on condition using the information of the seeker. The errors of
the pitch and yaw angles from the reference coordinate system to the missile’s body
and LOS coordinate systems are defined as follows

eθ θ I,B θ I,L
eO = = − (49)
eψ ψ I,B ψ I,L

Geometrically, it can be stated that the look angle of the seeker σ converges to zero
as eθ and eψ converge to zero. Let us consider the sliding surfaces of the outer-loop
including the integral terms as
 t
sθ = eθ + λθ eθ dτ (50)
0
 t
sψ = eψ + λψ eψ dτ (51)
0

where λθ and λψ are the design parameters which are positive real values. Differ-
entiating Eqs. (50) and (51) with respect to time and substituting Eqs. (17) and (18)
Exoatmospheric DACS Type Missile Controller … 641

into the resulting equations yields

ṡθ = θ̇ I,B − θ̇ I,L + λθ (θ I,B − θ I,L )


= λθ θ I,B − (θ̇ I,L + λθ θ I,L ) + q cos φ I,B − r sin φ I,B (52)
ṡψ = ψ̇ I,B − ψ̇ I,L + λψ (ψ I,B − ψ I,L )
= λψ ψ I,B − (ψ̇ I,L + λψ ψ I,L ) + q sin φ I,B sec θ I,B + r cos φ I,B sec θ I,B (53)

The time derivative of the sliding surface vector of the outer-loop can be described
as
ṡ O = FO − L O + G O u O (54)

where

sθ q λθ θ I,B θ̇ I,L + λθ θ I,L
sO = , uO = , FO = , LO = ,
sψ r λψ ψ I,B ψ̇ I,L + λψ ψ I,L

cos φ I,B − sin φ I,B
GO =
sin φ I,B sec θ I,B cos φ I,B sec θ I,B

Note that L O in Eq. (54) can be obtained using the information from the seeker.
Let us propose a control input of the outer-loop including the proportional and
sign terms with respect to the sliding surfaces as follows

u O = −G −1
O (FO − L O + K p,O s O + K s,O sgn(s O )) (55)

where
k1, p,O 0 k1,s,O 0
K p,O = , K s,O =
0 k2, p,O 0 k2,s,O

with k1, p,O , k2, p,O , k1,s,O , and k2,s,O are the positive real values. Applying the control
input (55) to Eq. (54), the time derivative of the sliding surface vector of the outer-loop
can be obtained as
ṡ O = −K p,O s O − K s,O sgn(s O ) (56)

Let us consider the following Lyapunov candidate function.

1 T
VO = s sO (57)
2 O
Differentiating Eq. (57) with respect to time and substituting Eq. (56) into the result-
ing equation, the time derivative of the Lyapunov candidate function can be obtained
as
V̇O = s OT ṡ O = −s OT K p,O s O − s OT K s,O sgn(s O ) (58)
642 J. Lee and Y. Kim

Note that V̇O is negative definite, which implies that s O converges to zero in finite time
and is maintained thereafter. If s O = 0 is maintained, then the following equalities
can be obtained from Eqs. (50) and (51).

ėθ = −λθ eθ (59)


ėψ = −λψ eψ (60)

Equations (59) and (60) imply that the errors of the pitch and yaw angles from
the reference coordinate system to the missile’s body and LOS coordinate systems
converge to zero. Therefore, the look angle of the seeker σ converges to zero.

4 Numerical Simulation

To demonstrate the performance of the proposed controller, numerical simulation


for the DACS type missile to intercept the ballistic target in the exoatmospheric
environment is performed during the terminal phase. The missile’s data used in the
simulation is summarized in Table 1. The scenario of the simulation is a head-on
engagement of the high speed missile and ballistic target with a little heading angle
error at the exoatmospheric altitude as shown in Fig. 5. In Fig. 5, subscript 0 denotes
the initial value, and the missile’s body coordinate system coincides with the missile’s
velocity coordinate system in the initial time to set the angle of attack and sideslip
angle to zero. The time history of the seeker’s look angle is compared to a magnitude
of an angle between the x-axes of the missile’s velocity and line-of sight coordinate
systems, which is regarded as the seeker’s look angle in the previous studies, for the
same scenario. In the simulation, the gravity effect is ignored, the arctan function
is used to reduce chattering phenomena instead of the sign function [7], and the 3-
dimensional PPNG law is used to generate the guidance commands of the pitch and
yaw accelerations with respect to the missile’s velocity coordinate system as [11]
[VM ]
az,c = −N g V̄M λ̇ y cos ψ L ,VM (61)
a [V
y,c
M]
= −N g V̄M λ̇ y sin θ L ,VM sin ψ L ,VM + N g V̄M λ̇z cos θ L ,VM (62)

where N g is the navigation constant, V̄M is the total velocity of the missile, and λ y
and λz are the y and z components of the LOS vector with respect to the reference

Table 1 Data of the missile


Parameter m [kg] la [m] lcg [m] I x [kg · m2 ] I y [kg · m2 ] Iz [kg · m2 ]
Value 64 0.2 0.6 2.88 11.89 11.89
Exoatmospheric DACS Type Missile Controller … 643

( L ,VT ) 0
Z [I ]
X [ L]
X [ B ]  X [VM ] (L ,V )0
M
Target

( L ,V )0
M

( L ,VT )0
X [VT ]
( I , B ) 0 ( I , L ) 0
Missile

Y [I ]
X [I ] ( I , B )0

( I , L ) 0

Fig. 5 Initial pursuit geometry of the head-on engagement

coordinate system. Considering the thruster’s response time, the thrusters of the ACS
and DCS are modeled as the following first-order system.
T 1
= (63)
Tc τs + 1

where T and Tc denote the actual and command thrust input, respectively, and τ is the
time constant. In this study, τ is chosen as 0.01. The initial values of the simulation
are summarized in Table 2, where [X M Y M Z M ]0T and [X T YT Z T ]0T are the position
vectors of the missile and target with respect to the reference coordinate system,
respectively, [VMx VM y VMz ]T and [u v w]T are the missile’s velocity vectors with
respect to the reference and missile’s body coordinate systems, respectively, and V̄T
is the total velocity of the target. Note that the lock-on condition is initially satisfied,
from the seeker’s field-of-view limit and σ0 in Table 2. The design parameters are
selected as follows

λφ = 2, λq = 1, λr = 1, λθ = 1, λψ = 1, N g = 3
⎡ ⎤ ⎡ ⎤
4 0 0 4 0 0
⎣ ⎦ ⎣ ⎦ 10 10
K p,I = 0 10 0 , K p,O = 0 10 0 , K p,O = , K s,O =
01 01
0 0 10 0 0 10

Figures 6, 7, 8, 9, 10, 11 and 12 show the simulation results. Figure 6 presents the
trajectories of the missile and target; the solid line represents the trajectory of the
missile and the dashed line represents the trajectory of the target. It can be stated that
the missile successfully intercepted the ballistic target in the head-on engagement
644 J. Lee and Y. Kim

Table 2 Initial condition of the simulation


[X M Y M Z M ]0T [km] [0 0 100]T

[X T YT Z T ]0T [km] [0 25 3 125]T

[λx λ y λz ]0T [km] [X T − X M YT − Y M Z T − Z M ]0T = [0 25 3 25]T
  
λ  λ2x +λ2y
(ψ I,L )0 , (θ I,L )0 [deg] arctan λxy 0 = 90, arccos λ2 +λ2 +λ2
= 30
x y z 0
(ψ L ,VM )0 , (θ L ,VM )0 [deg] 0.5, 0.5
(ψ L ,VT )0 , (θ L ,VT )0 [deg] −178.5, −2.5
VM 
(ψ I,B )0 , (θ I,B )0 , (φ I,B )0 [deg] arctan VM y 0 = 90.6,

x
 2 +V 2

VM
= 30.5, 2
x My
arccos V +V +V
2 2 2
Mx My Mz 0

[u v w]0T[km/s] [5 0 0]T
(V̄T )0 [km/s] 3
Seeker’s field-of-view limit [deg] ±1
 
VMx λx +VM y λ y +VMz λz
σ0 [deg] arccos  = 0.71
(VM
2 +V 2 +V 2 )(λ2 +λ2 +λ2 )
x My Mz x y z
0

Fig. 6 Trajectories of the


missile and target
Exoatmospheric DACS Type Missile Controller … 645

-5

-6

-7

M [g]
]
-8

z,c
a [V -9

-10
0 1 2 3 4 5 6

-3

-4
M [g]

-5
]
y,c
a [V

-6

-7

-8
0 1 2 3 4 5 6
Time [second]

Fig. 7 Time histories of the guidance commands

0.1 0
TA [g]

0
L

TD [g]

-5
Z

-0.1
0 1 2 3 4 5 6
0.02
-10
TA [g]

0 1 2 3 4 5 6
0
M

0
-0.02
0 1 2 3 4 5 6
TD [g]

0.02
Y

-5
TA [g]

0
N

-0.02 -10
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Time [second] Time [second]
(a) ACS inputs (b) DCS inputs

Fig. 8 Time histories of the DACS inputs

at the exoatmospheric altitude. Figure 7 shows the time histories of the guidance
commands of the pitch and yaw accelerations with respect to the missile’s veloc-
ity coordinate system generated by the PPNG law; the pitch and yaw acceleration
commands are within ±10g until intercepting the target. Figure 8 presents the time
histories of the DACS inputs as the specific forces. All ACS inputs are within ±0.1g,
and especially T A M and T A N are within ±0.02g; the DCS inputs are within ±10g.
Figure 9 shows the time histories of the look angles, where the solid line represents
the time history of the seeker’s look angle defined in this study and the dashed line
represents the magnitude of the angle between the x-axes of the missile’s velocity
and LOS coordinate systems expressed as σV in the figure, and dotted line denotes
646 J. Lee and Y. Kim

Fig. 9 Time histories of the 3


look angles
2.5 V

Look Angle [deg]


1.5

0.5

-0.5
0 1 2 3 4 5 6
Time [second]

Fig. 10 Time histories of 2


COMMAND
the φ I,B , q, and r
[deg]

1 RESPONSE

0
I,B

-1
0 1 2 3 4 5 6
q [deg/sec]

0
-1
-2
-3
0 1 2 3 4 5 6
r [deg/sec]

0
-1
-2
0 1 2 3 4 5 6
Time [second]

the seeker’s field-of-view limit. From this result, it is found that the proposed con-
troller can maintain the lock-on condition to decrease the look angle of the seeker
to zero, even though σV exceeds the seeker’s field-of-view limit after 3.4 seconds.
Figure 10 shows the time histories of the φ I,B , q, and r ; the solid line represents the
responses of the φ I,B , q, and r , and the dashed line denotes the command signals.
This result shows that the inner-loop controller generating the ACS inputs provides
proper control performance corresponding to the commands of the outer-loop and
zero roll angle. Figure 11 shows the time histories of the α and β; the magnitudes of
the α and β grow up to 6o and 1.5o , respectively. Not regulating the α and β to zero,
the lock-on condition can be maintained by decreasing the look angle while the σV
is beyond the seeker’s field-of-view limit. Figure 12 shows the time history of the
Exoatmospheric DACS Type Missile Controller … 647

Fig. 11 Time histories of 0


the α and β
-2

[deg]
-4

-6

-8
0 1 2 3 4 5 6

0.5

0
[deg]
-0.5

-1

-1.5
0 1 2 3 4 5 6
Time [second]

Fig. 12 Time history of the 5025


total velocity
5020
V M [m/s]

5015

5010

5005

5000
0 1 2 3 4 5 6
Time [second]

missile’s total velocity. If the DCS inputs generate the accelerations coinciding with
the guidance commands of the pitch and yaw accelerations with respect to the mis-
sile’s velocity coordinate system, then the total velocity will be maintained the initial
value. However, because the DCS inputs generate the pitch and yaw accelerations
with respect to the missile’s body coordinate system and there exists a gap between
the missile’s body and velocity coordinate systems, the unnecessary term acceler-
ating or decelerating the missile may be generated, i.e., x component of Eq. (40).
Therefore, in this case, the total velocity of the missile increases about 25 m/s until
intercepting the target. In summary, it can be stated that the proposed controller
shows a satisfactory performance for the exoatmospheric missile with the seeker’s
narrow field-of-view.
648 J. Lee and Y. Kim

5 Conclusion

A sliding mode based controller for the exoatmospheric divert and attitude control
system (DACS) type missile with strapdown seeker was proposed considering the
narrow field-of-view. Concerning that the missile’s body coordinate system is not
always aligned with the missile’s velocity coordinate system, the look angle of the
seeker was defined as the magnitude of the angle between the x-axes of the missile’s
body and line-of-sight (LOS) coordinate systems; previous studies have roughly
considered the look angle of the seeker to a gap between the missile’s velocity and
LOS coordinate systems. The six-degrees-of-freedom equations of motions for the
exoatmospheric DACS type missile were derived, and two design objectives of gen-
erating the accelerations corresponding to the guidance command while maintaining
the lock-on condition were considered to design the controller with two-loop struc-
ture. The outer-loop controller generates the pitch and yaw rate commands, which
decrease the look angle, and sends then to the inner-loop. The inner-loop controller
generates the DACS inputs for tracking the commands of the guidance law, angular
rate and stabilization of the roll motion. Numerical simulation was performed for the
head-on engagement in the exoatmospheric environment using the 3-dimensional
pure proportional navigation guidance law. Numerical simulation results demon-
strate that the proposed controller has a proper performance in terms of maintaining
the lock-on condition and tracking the guidance command.

Acknowledgements This work was conducted at High-Speed Vehicle Research Center of KAIST
with the support of Defense Acquisition Program Administration (DAPA) and Agency for Defense
Development (ADD).

References

1. Andrieu V, Lahanier HP (2006) Exoatmospheric interception problem solved using output


feedback law. Syst Control Lett 55(8):633–639
2. Erer KS, Tekin R, Ozgoren MK (2015) Look angle constrained impact angle control based on
proprotional navigation. In: AIAA guidance, navigation, and control conference, Kissimmee,
FL
3. Hablani HB, Pearson DW (2004) Miss distance error analysis of exoatmospheric interceptors.
J Guidance Control Dyn 27(2):283–289
4. Joner S, Quinquis I (2006) Control of an exoatmospheric kill vehicle with a solid propulsion
attitude control system. In: AIAA guidance, navigation, and control conference, Keystone, CO
5. Kim TH, Park BG, Tahk MJ (2013) Bias-shaping method for biased proportional navigation
with terminal-angle constraint. J Guidance Control Dyn 36(6):1810–1815
6. Lee CH, Hyun C, Lee JG, Choi JY, Sung SK (2013) A hybrid guidance law for a strapdown
seeker to maintain lock-on conditions against high speed targets. J Electr Eng Technol 8(1):190–
196
7. Lee Y, Kim Y, Moon G, Jun BE (2016) Sliding-mode-based missile-integrated attitude control
scheme considering velocity change. J Guidance Control Dyn 39(3):423–436
8. Reisner D, Shima T (2013) Optimal guidance-to-collision law for an accelerating exoat-
mospheric interceptor missile. J Guidance Control Dyn 36(6):1695–1708
Exoatmospheric DACS Type Missile Controller … 649

9. Sang DK, Tahk MJ, Guidance law switching logic considering the seeker’s field-of-view limits.
Proc Inst Mech Eng Part G J Aerosp Eng 223(8):1049–1058
10. Shima T, Golan O (2012) Exo-atmospheric guidance of an accelerating interceptor missile. J
Franklin Inst 349(2):622–637
11. Song SH, Ha IJ (1994) A Lyapunov-like approach to performance analysis of 3-dimensional
pure PNG laws. IEEE Trans Aerosp Electron Syst 30(1):238–248
12. Yingbo H, Yong Q (2003) THAAD-Like high altitude theater missile defense: strategic defense
capability and certain countermeasures analysis. Sci Glob Secur 11(2–3):151–202
13. Zhang Y, Wang X, Wu H (2014) Impact time control guidance law with field of view constraint.
Aerosp Sci Technol 39(1):361–369
Mechanical/Control Integrated Design
of a Flexible Planar Rotatory Spacecraft

J.A. Perez, D. Alazard, T. Loquen and C. Pittet

1 Introduction

Currently Large Space Structures (LSS) are a challenging problem in control


system design because they involve large complex kinematic chains composed of
rigid and flexible bodies, mostly large-sized, maximally lightened, low-damped and
with closed-spaced low natural frequencies. In this case structural modes interfere
the controlled bandwidth, provoking a critical Control-Structure Interaction (CSI).
Therefore, LSS design is increasingly becoming subject to a close coordination
among the different spacecraft sub-systems, demanding methods which tie together
spacecraft structural dynamics, control laws and propulsion design. These methods
are often called as Integrated Control/Structure Design (ICSD), Plant-Controller
Optimization (PCO) or simply co-design (CD).
ICSD methods began being studied in the 80 s as an opposite technique to the cur-
rent method of separated iterative sequences within the structural and control disci-
plines. The first integrated design methodologies were those in [1–3]. These methods
were based on iterative methodologies with optimization algorithms. Lately, other
methods have been proposed such as those solved by LMI (Linear Matrix Inequality)
algorithms or with LQG (Linear Quadratic Gaussian) methods like in [4, 5] respec-
tively. However, these approaches give conservative results and their applicability is
restricted by problem dimension. Recently, a counterpart technique currently under
development in ONERA Toulouse Research Center and ISAE-SUPAERO allows a

J.A. Perez (B) · T. Loquen


ONERA, 2 Avenue Edouard Belin, 31055 Toulouse, France
e-mail: Jose-Alvaro.perez_gonzalez@onera.fr
T. Loquen
e-mail: thomas.loquen@onera.fr
D. Alazard
ISAE, 10 Avenue Edouard Belin, 31055 Toulouse, France
e-mail: daniel.alazard@isae.fr
C. Pittet
CNES, 18 Avenue Edouard Belin, 31400 Toulouse, France
e-mail: christelle.pittet@cnes.fr

© Springer International Publishing AG 2018 651


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_35
652 J.A. Perez et al.

more general approach [6]. Actually, this method is based on structured H∞ syn-
thesis algorithms developed in [7] or [8], granting structured controllers and tunable
parameters optimization. This synthesis, merged with a correct plant modeling, can
reveal important applications of integrated design methodologies.
To be compliant with such an ICSD approach, the plant modeling of LSS must
provide a model where the structural or mechanical sizing parameters can be isolated
under the general Linear Fractional Representation (LFR). That can be performed
using the Two-Input Two-Output Port (TITOP) approach to build the linear dynamical
model of Flexible Multi-body System (FMS) from the model of each body. The
TITOP model approach was first proposed in [9], then generalized to take into account
varying sizing parameters in [10, 11]. For uniform beam, an analytic model was
developed in [12] where a first ICSD was presented. Augmented TITOP models for
flexible body actuated with piezoelectric strip [13] involve an additional channel
between the input voltage and the output piezoelectric charge, allowing any active
substructure to be embedded in the whole structure. Some applications of ICSD using
such a modeling technique are presented in [14, 15].
This work aims at showing the way to apply these modeling and design tools to
perform the ICSD of a flexible planar rotatory spacecraft. Such a system was pre-
sented in [16] to illustrate interactions between control and structure in space engi-
neering. The objective is to maximize the length and the tip mass of one appendage,
in order to increase the spacecraft payload capacity, while minimizing the total mass
of the spacecraft and meeting attitude pointing requirement in spite of external dis-
turbances. This paper is organized as follows. First, the parametric model of the
spacecraft is developed. Second the integrated control design is presented. Finally,
results and discussion on advantages of using this methodology rather than single
control optimization alone are detailed.

2 Flexible Rotatory Spacecraft Modeling

2.1 Spacecraft System Description

The system, considered as an academic example, is composed of a rigid main hub


with four identical cantilevered flexible appendages and tip masses as shown in Fig. 1.
The configuration parameters are provided in Table 1. Under normal operation, the
spacecraft undergoes planar rotational maneuvers around the inertial fixed axis z.
The spacecraft body frame is attached to the center of mass of the rigid hub, and it is
denoted by a right-handed triad x, y and z. The rotation about the axis z is denoted
by the angle θ and the translational deformation of each tip by witi p , with superscript
i denoting the beam number.
The system is actuated by three different torques. The main torque, thub is provided
by the main hub about the axis z. Two additional input torques, tti p,1 and tti p,2 , are
applied at the tip masses 1–3 and 2–4 respectively. These torques can be applied
Mechanical/Control Integrated Design … 653


ttip,3
ttip,2 θhub
i=3
i=2 L thub
r
ȳ v
G x̄ ttip,1
ttip,4 t P 4 P1
h i=1
g Q1
i=4
wtip (t)

Fig. 1 Rotatory flexible spacecraft

Table 1 Spacecraft configuration parameters


Parameters Symbol Value
Hub radius r 0.31 m
Hub mass mh 233.50 kg
Hub inertia Jh 10.85 kg/m2
Beam mass density ρ 1.30 kg/m
Beam elastic modulus E 75.84 GPa
Beam length L 1.22 m
Beam thickness t 3.18 mm
Beam height h 0.15 m
Tip mass mt 2.29 kg
Tip mass inertia Jt 2.44 g/m2
Nodes beam FEM nod 11
Number of AM asm 13
Piezo parameters Symbol Value
Thickness tp 2 mm
Width wp 30 mm
Volumetric density ρp 7600 kg/m3
Elastic modulus Ep 50 GPa
Piezoelectric constant d31 −150×10−12 m/V
Dielectric constant ε33
T 1.59×10−12 F/m

purposely for control reasons or can represent environment disturbances (as it is the
case in this paper). In addition, the appendage # 1 is actuated using a piezoelectric
strip for active damping of vibrations.
654 J.A. Perez et al.

Fig. 2 Model Ai (s) of a    

single appendage q̈Pi App


FAi/h,Pi App
Beam
(i = 2, 3, 4)  
GA
Pi ,Qi (s)
i

RiT   Ri
  q̈Qi App  
q̈Pi
Hub  
FAi /h,Pi Hub
Ftip/beam,Qi
τPi G App
τPTiG

Tip 
−JQtipi
   
q̈G Hub FAi/h,G Hub

2.2 Spacecraft System Modeling

The whole spacecraft is decomposed in various sub-structures: the hub h and the 4
appendages Ai , i = 1, . . . , 4. Each appendage is itself decomposed into a uniform
beam which flexible dynamics is represented by a super-element [11] and a local
mass/inertia at the tip of the beam. The TITOP (Two-Input Two-Output) model
approach is used to described each sub-structure. The block diagram representation
of a single appendage model is depicted in Fig. 2 where:
• GA Pi ,Q i (s) is the planar TITOP model of the flexible uniform beam # i (see [11]
i

for more details): the inputs are the time-derivative of the planar twist q̈ Pi (3
components: 2 linear accelerations and 1 angular acceleration) at point Pi of the
beam and the external planar wrench Fti p/beam,Q i (3 components: 2 forces and 1
torque) applied to the beam at point Q i . The output are the wrench FAi / h,Pi applied
by the appendage to the hub at point Pi and the time-derivative of the twist q̈ Q i at
point Q i ,
ti p
• JQ i (s) is the planar dynamical model of the tip mass and inertia:
⎡ ⎤
mt 0 0
JQi = ⎣ 0 m t 0 ⎦
ti p
(1)
0 0 Jt

• τ Pi G is the kinematic models between points G and Pi . In the planar case:


⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
100 10 0 1 0 −r 10 r
τ P1 G = ⎣0 1 r ⎦ τ P2 G = ⎣0 1 −r ⎦ τ P3 G = ⎣0 1 0 ⎦ τ P4 G = ⎣0 1 0⎦
001 00 1 00 1 00 1
(2)
• Ri is the rotation matrix written as follows:
⎡ ⎤
cos βi − sin βi 0
Ri = ⎣ sin βi cos βi 0⎦ (3)
0 0 1 App→H ub

where βi is the angle of the ith appendage i with x.


Mechanical/Control Integrated Design … 655

Fig. 3 Model A1 (s) of   v  


appendage # 1 i = 1) q̈Pi FAi/h,Pi
App App
Beam
 
GA
Pi ,Qi (s)
i

RiT   Ri
  g q̈Qi App  
q̈Pi
Hub  
FAi /h,Pi Hub
Ftip/beam,Qi
τPi G App
τPTiG

Tip 
−JQtipi
 
Sy  
SyT FAi/h,G
q̈G Hub Hub
fy,tip ẅtip

For the appendage # 1, actuated with a piezoelectric strip, the extension of TITOP
model described in [13] is used. The augmented model A1 (s) involves an additional
channel between v (input voltage) and g (output piezoelectric charge). Furthermore a
radial disturbance force f y,ti p on input and the radial acceleration ẅti p on output are
included to shape the control problem (see Sect. 3.2). For appendage A1 , the model
is then described in Fig. 3 where S y = [0 1 0]T .
The assembly of the various sub-models is described by the block diagram scheme
presented in Fig. 4, where:
⎡ ⎤
mh 0 0
• JGH ub = ⎣ 0 m h 0 ⎦
0 0 Jh
• Sz = [0 0 1]T
The inputs and the outputs of the whole system mechanical model (JGsat )−1 (s)
are:
• a vector w of two exogenous inputs: a disturbance wθ̈out on the hub angular accel-
eration and f y,ti p ,
• a vector u of two control signals: the torque on the hub thub and the piezo input
voltage v,
• a vector z of two controlled outputs: the hub angular rate θ̈hub and the lateral tip
acceleration ẅti p of appendage 1,
• a vector y of 3 measurements: the hub angular rate θ̇hub and attitude θhub and the
lateral tip acceleration ẅti p of appendage 1.

2.3 Spacecraft Model with Varying Parameters

The structured model (JGsat )−1 (s) of the spacecraft is quite convenient to take into
account some sizing mechanical parameters or design parameters. In this application,
656 J.A. Perez et al.

 
FA3 /h,G
Hub

A3
w(1) = wθ̈hub z(1) = θ̈hub
w Sz z
w(2) = fy,tip z(2) = ẅtip
  A1
FA1 /h,G
Hub
g

y(1) = θ̇hub
u(1) = thub 1 y(2) = θhub
(JGHub)−1 1 y
u Sz SzT s s y(3) = ẅtip
u(2) = v

  A2
FA2 /h,G
Hub

 
A4
FA4 /h,G
Hub

Fig. 4 Rotatory flexible spacecraft (JGsat )−1 (s)

the design parameters are the length L i and the tip mass Mi of each appendage. More
precisely:
L i = L(1 + 0.3δ L i ), Mi = m t (1 + 0.3δ Mi ), i = 1, 2, 3, 4.

That is to say: 30% of variations around the nominal value are allowed for each
design parameters L i and Mi in such a way that δ L i and δ Mi are normalized to vary
between −1 and 1. These design can be very easily isolated in the various submodels
(L i in G A
ti p
Pi ,Q i (s) and Mi in J Q i ). Thus, using LFR for each parameters and basic
i

LFR operations, one can easily derived the LFR of the whole spacecraft depicted in
Fig. 5, also written:
(JGsat )−1 (s, δ L 1 , δ L 2 , δ L 3 , δ L 4 , δ M1 , δ M2 , δ M3 , δ M4 ) = Fu ((MGsat )−1 (s), Δ) .

After assembly, the system has a block Δ of 125 × 125 size and reads:
⎡ ⎤
[δ L 1 ]30×30 0 0 0 0 0 0 0
⎢ 0 [δ M1 ]2×2 0 0 0 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 [δ ] 0 0 0 0 0 ⎥
⎢ L 2 29×29 ⎥
⎢ 0 0 0 [δ M2 ]2×2 0 0 0 0 ⎥

[Δ] = ⎢ ⎥
0 0 0 0 [δ ] 0 0 0 ⎥
⎢ L 3 29×29 ⎥
⎢ 0 0 0 0 0 [δ ] 0 0 ⎥
⎢ M3 2×2 ⎥
⎣ 0 0 0 0 0 0 [δ L 4 ]29×29 0 ⎦
0 0 0 0 0 0 0 [δ M4 ]2×2
(4)
Mechanical/Control Integrated Design … 657

Fig. 5 Rotatory flexible w z


spacecraft model with Rotatory Spacecraft
varying design parameters
u y
Nominal Model
uΔ yΔ
(MGsat)−1(s)

That is: 2 parameter occurrences for each tip mass, 29 parameter occurrences for
the non-actuated appendage lengths and 30 parameter occurrences for the actuated
appendage length i = 1. The system results in a state-space system with a Δ block
of size 125×125, 11 inputs, 11 outputs and 50 states.
It should be highlighted that the ICSD of the rotatory spacecraft strongly demands
a modeling technique such as the TITOP modeling technique, since the boundary
conditions of the flexible beams are to be changed when varying the mass located
at their tips. Thus, by using the TITOP modeling technique, the impact of mass
variation in the whole system will be taken into account when ICSD is performed with
structured H∞ synthesis. Indeed, in the symmetric nominal parametric configuration
(Δ = 0), some flexible modes are uncontrollable from u. Then, the damping of these
flexible modes, when excited by a disturbance (on f y,ti p , tti p,1 or tti p,3 ), is not possible.
The asymmetry introduced by the ICSD will restore the controllability and will allow
active damping of all the modes, as it will be seen in Sect. 4.

3 Integrated Control/Structure Design (ICSD)

3.1 General Approach

Figure 6 shows the standard multi-channel H∞ synthesis problem for ICSD of


a generic system G(s). The synthesis scheme is build by establishing the feed-
back of the augmented controller K (s) = diag(C(s), Δ) with the corresponding
inputs/outputs of the nominal system G(s). Additional channels are added in order
to weight the controller’s frequency response and mechanical performance index.
The synthesis scheme has three different channels:

• One multidimensional channel which connects the perturbations of the system, w,


to the performance outputs, z, through the weighting Wz .
• One multidimensional channel which connects the inputs of the control system,
yc , to the outputs, u c , to shape the frequency-domain response of the controller
C(s) (roff-off behavior for instance) through the weighting WC .
658 J.A. Perez et al.

Fig. 6 Block diagram of w z


integrated design Wz
optimization uΔ G(s) yΔ
u y

C(s)

Δ
K(s) = diag(C(s), Δ)
yc uc
C(s) WC
wk zk
fk (δi) Wk

• One multidimensional channel which connects the inputs wk of the mechanical


performance function f k (δi ) block to its outputs z k , through a weighting Wk . This
function f k (δi ) depends directly on the design parameters variations δi (i.e. the
various independent components of the block Δ).

Structured H∞ synthesis computes the sub-optimal tuning of the free parame-


ters of C(s) and Δ embedded in K (s) to enforce closed-loop internal stability,
Fl (G(s), K (s)), such that:

min{max{Wk (s) f k (δi )∞ , WC (s)C(s)∞ }}


K (s)

such that

Wz (s)Tw→z (s)∞ < γ per f

i.e., it minimizes the H∞ norm between the transfer of the perturbation input w and
the performance output z, Tw→z (s), such that it is constrained to be below γ per f > 0
to meet the required performances. The problem is in the form of multi-channel
H∞ synthesis, and it allows the set of desired properties to the augmented controller
such as its internal stability [6], frequency template [17] or maximum gain values,
while minimizing a mechanical performance index. In substance, the structured H∞
integrated design synthesis tunes the free parameters contained in the augmented
controller K (s) = diag(C(s), Δi ) to ensure closed loop internal stability and meet
normalized H∞ requirements through Wz , WC and Wk .
Mechanical/Control Integrated Design … 659

3.2 Application to the Rotatory Spacecraft

The augmented controller is formed by concatenating the block of tunable parameters


Δ with the real controller of the system, C(s). Since the Δ block has been defined
in Sect. 2.3, the structure of C(s) is addressed in this section.
The system needs to reject low frequency disturbances in the rigid body DOF,
the system’s rotation around the hub, and can be helped by inducing active damping
through the piezoelectric laminate installed on appendage 1. Thus, the control system
will consist of two decentralized loops: one for the rigid body rotation of the hub,
θhub , and the other to damp the first appendage’s tip vibrations, ẅti p1 .
The control of the rigid body motion is achieved with a PD (Proportional-
Derivative) controller to compute the control torque provided by the reaction wheel
located at the hub. The active damping controller (Active: AF) will be a simple
rate feedback, integrating the first appendage’s vertical acceleration (acceleration
feedback strategy). Therefore the control law is structured as follows:
⎧ ⎫

⎨ θ̇hub ⎬
t k k 0
{u} = [C(s)]{y} = hub = v p θ (5)
v 0 0 ka /s ⎩ hub ⎭
ÿti p1

The proportional control gain k p , the derivative control gain kv and the damping
gain ka , together with the tunable parameters of the Δ block, are to be optimized with
structured H∞ synthesis. The values of the PD controller gains are initialized using
the standard tuning assuming the spacecraft is rigid: k p = Jt ω2 and kv = 1.4Jt ω
where Jt is the total inertia and ω the wanted attitude servo-loop bandwidth (ω =
1 rad/s leads to: K p = 633.33 Nm and kv = 231.21 Nms).
As previously specified, the control of the hub rotation must be able to reject low
frequency disturbance torque. The desired closed-loop dynamics for perturbation
rejection are ω = 1 rad/s and ξ = 0.7, which leads to the following weighting filter
on the Acceleration Sensitivity Function ASF [6] (i.e. transfer from w(1) = wθ̈hub to
output z(1) = θ̈hub in Fig. 4):

s 2 + 1.4ωs + ω2 s 2 + 1.4s + 1
Wθ̈hub (s) = 2
= (6)
s s2
The damping of the flexible modes is imposed by a template on the transfer
between the hub’s acceleration disturbance w(1) = wθ̈hub and the performance output
z(2) = ẅti p . This template reads: Wq̈ P (s) = L/Wθ̈hub (L is the nominal length of the
beam). A static filter Wd = 1/Mtot (with Mtot the nominal total mass) is added in
the transfer f y,ti p → ẅti p to add additional damping. In Figs. 7 and 8 frequency-
domain responses of the closed-loop transfers Tw(1)→z(1) (called hub’s dynamics)
and Tw(1)→z(2) (called tip’s dynamics) when only the 2 gains k p and kv of the PD
controller are optimized. These responses are compared with the desired frequency
response imposed through the templates and Wθ̈−1 (s) and Wq̈ P (s). It is seen that the
hub
660 J.A. Perez et al.

10

-10

-20

-30

-40

-50

-60

-70

-80

-90 -2 -1 0 1 2 3 4
10 10 10 10 10 10 10

Fig. 7 Constraint (yellow) on the hub’s dynamics (blue)

40

20

-20

-40

-60

-80

-100
-2 -1 0 1 2 3 4
10 10 10 10 10 10 10

Fig. 8 Constraint (yellow) on the tip’s dynamics (blue)


Mechanical/Control Integrated Design … 661

flexible modes are badly damped and the PD controller gains have a larger value than
the needed to respect the template on the ASF of the hub position θhub .
Once the constraints for rigid and flexible motion have been defined, additional
channels can be added to constraint the variation of structural parameters. The con-
straints for the maximization of the length and tip mass of appendage 1, L 1 and M1
respectively, are implemented as follows:
1
f M1 (δ M1 ) = ; W M1 = 0.75 (7)
1 + 0.3δ M1

1
f L 1 (δ L 1 ) = ; W L 1 = 0.75 (8)
1 + 0.3δ L 1

where the Wk values have been fixed to 0.75, a value which can never be reached
with the allowed maximal variation, in order to encourage the maximum possible
value for δ L 1 and δ M1 . The constraint for minimum total mass is:


4 
4
f Mtotal (δ L i , δ Mi ) = L ρ t h (4 + 0.3 δ L i ) + m t (4 + 0.3 δ Mi ); W Mtotal = M0
i=1 i=1
(9)
where M0 = 15.51 kg is the nominal total mass of all the appendages. Equation (9)
is a combination of all the structural parameters that can be varied, weighted by their
impact on the system total mass (total beams mass for the lengths, total tip mass for
the tip masses).
Finally, the ICSD problem can be summarized in the following way (Ti→o denotes
the closed-loop transfer from input i to output o defined in the model of Fig. 4):
Find a stabilizing set of parameters = {kv , k p , ka , δ Mi , δ L i } such that:

min{max{ W M1 f M1 (δ M1 )∞ , W L 1 f L 1 (δ L 1 )∞ ,


W Mtotal f Mtotal (δ L i , δ Mi )∞ , Wq̈−1


P (s)Tw(1)→z(2) (s)∞ ,
Wd Tw(2)→z(2) (s)∞ }}

under the constraint:

Wθ̈hub (s)Tw(1)→z(1) (s)∞ < 1.5.


662 J.A. Perez et al.

4 Results

The optimization of the controller and the structural parameters is performed using
the structured H∞ synthesis tool systune. The results of the ICSD solution are
compared with those of a solution with control optimization alone (COA). Table 2
shows the optimized and nominal structural parameters. It can be seen that the length
and tip mass of appendage 1 have been increased the maximum allowed, 30%. For
appendages 2, 3 and 4 the tip masses have been minimized while the lengths have been
increased almost to the maximum, with the exception of appendage 2. Appendage 3
and its opposite appendage 4 are no longer symmetric since they lengths are slightly
different and the tip masses difference is around 0.15 kg. The structural optimization
meets the specifications: maximization of mass and length of appendage 1 while
minimizing the impact on the total system’s mass.
Figures 9 and 10 show the resulting frequency response for Tw(1)→z(1) and
Tw(1)→z(2) compared with the desired templates Wθ̈−1 and Wq̈ P after optimization.
hub
The gains of the PD controller have been adjusted to fit the frequency template and
flexible modes are shifted and more damped when comparing with the response
given in Figs. 7 and 8. The shift of flexible modes is a consequence of the structural
optimization, since tip masses and lengths have been modified. The damping is pro-
vided by the active damping provided by the piezoelectric material controlled with
an acceleration feedback control law.
The ICSD solution enjoys the same robust performance as the COA solution
for the hub position control. The Nichols diagram of the open loop thub → tcom
response in Fig. 11 shows that the ICSD solution has satisfactory phase and gain
margins (GM = 20.5 dB, PM = 69.1◦ ) which are as good as the COA solution (GM
= 13.5 dB, PM = 69.1◦ ). However, this is achieved by the ICSD solution with longer
appendages which are not symmetric. Indeed, the first flexible mode, located at ω =
4.4 rad/s appears to be uncontrollable in nominal configuration, corresponding to the
symmetric bending of the system’s appendages. However, the ICSD solution has
tuned the system to be completely asymmetric so that the first flexible mode can be
governed with the hub torque as well. This is confirmed in Fig. 12, where the bode
diagram of the open loop response shows that the first flexible mode appears as a

Table 2 Structural data before optimization (COA) and after performing ICSD to the rotatory
flexible spacecraft
Parameters COA ICSD
Controller PD + AF PD + AF
Lengths L 1 & L 2 1.22 m L 1 = 1.59 m & L 2 = 1.36 m
Masses M1 & M2 2.29 kg M1 = 2.98 kg & M2 = 1.60 kg
Lengths L 3 & L 4 1.22 m L 3 = 1.59 m & L 4 = 1.54 m
Masses M3 & M4 2.29 kg M3 = 1.75 kg & M4 = 1.60 kg
Total Appendages Mass 15.51 kg 15.83 kg
Mechanical/Control Integrated Design … 663

20

-20

-40

-60

-80

-100

-120
10-3 10-2 10-1 100 101 102 103 104

Fig. 9 Constraint (yellow) on the hub’s dynamics (blue)

20

-20

-40

-60

-80

-100

-120
10-3 10-2 10-1 100 101 102 103 104

Fig. 10 Constraint (yellow) on the tip’s dynamics (blue)


664 J.A. Perez et al.

From: Uh To: Out(1)

80

60

40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
-12 dB
-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 -100 dB

-270 -225 -180 -135 -90 -45 0 45 90

Fig. 11 Nichols plot

From: Uh To: Out(1)


60

50

40

30

20

10

-10

-20

-30

-40
10 -1 10 0 10 1 10 2

Fig. 12 Bode plot


Mechanical/Control Integrated Design … 665

0.3

0.2

0.1

-0.1

0.04

-0.2 0.03 T = 1.43 s


0.02

-0.3 0.01

-0.01

-0.4 -0.02

40 41 42 43 44 45

-0.5
0 5 10 15 20 25 30 35 40 45 50

Fig. 13 Hub acceleration θ̈hub

resonance frequency in the ICSD solution and as an anti-resonance frequency for the
COA solution.
The uncontrollability of the first symmetric bending mode at ω = 4.4 rad/s is
also verified in the time domain response. Figures 13 and 14 show the closed-loop
response of the hub’s acceleration θ̈hub and the first appendage tip’s acceleration ÿti p1 ,
respectively, to an asymmetric torque disturbance at tips 1 and 3 and for both ICSD
and COA solutions. This input excites the symmetric bending mode of appendages
3 and 4, which cannot be damped by the COA solution. It can be seen as well that
the acceleration of the COA solution has a higher overshoot than the ICSD solution,
even if the ICSD solution has higher tip mass and length. On the other hand, the
ICSD solution needs two times more time for damping the tip vibrations and hub’s
position oscillations.
The results show that ICSD using structured H∞ synthesis can be achieved by
implementing the desired specifications in H∞ form. The structured H∞ synthe-
sis optimizes the controller and the structural parameters to better fit the dynamic
specifications, while respecting the structural constraints imposed to the varying
parameters. The same level of performance can be achieved with a modified struc-
ture, discovering new configurations which can improve control performance. The
optimization process has provided an intuitive fact: the maximization of the mass
of one appendage will decrease the total mass of the others. The optimization has
provided a counter-intuitive fact as well: system’s asymmetry can help to increase
controllability of system’s modes and to improve system’s performance. Therefore,
666 J.A. Perez et al.

20

10

-10
10

0
-20
-10

-20 ID Overshoot: - 21.86 mm/s2


-30
-30 COA Overshoot: - 47.62 mm/s2

-40
-40
0 0.5 1 1.5 2 2.5

-50
0 5 10 15 20 25 30 35 40 45 50

Fig. 14 Tip acceleration ẅti p

integrated design is possible and it takes into account the issues and trade-offs of the
physical system.

5 Conclusions and Perspectives

The implementation of dynamic, structural and controller specifications for the inte-
grated control/structure design (ICSD) has been explained in this paper. The specifi-
cations for the rigid body motion are implemented weighting the Acceleration Sen-
sitivity Function (ASF), while the flexible motion damping is achieved by projecting
the rigid body motion template at different points of the Flexible Multi-body System
(FMS). The structural constraints for structured optimization are implemented with
additional channels which included the cost functions and weighting filters applied
to the varying parameters involved in the constraints. Controller frequency shaping
can be stated through a roll-off filter. The application of ICSD on a flexible planar
rotatory spacecraft provided quite promising results. Further works will use the same
approach to perform the ICSD of a more complex system, a flexible satellite, in the
3D case. The TITOP approach, used to obtain linear parameter varying models of
flexible multi-body systems required for such a ICSD, will be extended to flexible
multi-body systems with closed-loop kinematic mechanisms.
Mechanical/Control Integrated Design … 667

References

1. Onoda J, Haftka R (1987) An approach to structure/control simultaneous optimization for large


flexible spacecraft. AIAA 25:1133–1138
2. Gilbert MG (1988) “Results of an Integrated Structure/Control Law design sensitivity analysis,”
Technical Report NASA TM-101517, NASA, NASA Langley Research Center, Hampton, VA
23665–5225, Dec 1988
3. Messac A, Malek K (1992) Control structure integrated design. AIAA J 30:2124–2131
4. Hiramoto K, Mohammadpour J, Grigoriadis K (2009) Integrated design of system parame-
ters, control and sensor actuator placement for symmetric mechanical systems. In 48th IEEE
conference on decision and control, Shanghai, China, Dec 2009
5. Cimellaro G, Soong T, Reinhorn A (2008) Optimal integrated design of controlled structures.
In: 14th world conference on earthquake engineering, Beijing, China, Oct 2008
6. Alazard D, Loquen T, de Plinval H, Cumer C (2013) Avionics/Control co-design for large flex-
ible space structures. In: AIAA guidance, navigation, and control (GNC) conference. Massa-
chusetts, USA, Boston, Aug 2013
7. Gahinet P, Apkarian P (August 2011) Structured H-infinity synthesis using MATLAB. In: 18th
IFAC world congress. Milano, Italy
8. Burke J, Henrion D, Lewis A, Overton M (2006) HIFOO a Matlab package for fixed-order
controller design and H∞ optimization. In: 5th IFAC symposium on robust control design,
2006
9. Alazard D, Perez JA, Loquen T, Cumer C (2015) Two-input two-output port model for mechan-
ical systems. In: AIAA science and technology forum and exposition, Kissimmee, Florida, Jan
2015
10. Perez JA, Alazard D, Loquen T, Cumer C, Pittet C (2015) Linear dynamic modeling of space-
craft with open-chain assembly of flexible bodies for ACS/structure co-design. In: Advances
in aerospace guidance, navigation and control, pp 659–678, Springer
11. Perez JA, Alazard D, Loquen T, Pittet C, Cumer C (2016) Flexible multibody system linear
modeling for control using component modes synthesis and double-port approach. ASME J
Dyn Syst Meas Control, 138
12. Murali H, Alazard D, Massotti L, Ankersen F, Toglia C (2015) Mechanical-attitude controller
co-design of large flexible space structures. Advances in aerospace guidance, navigation and
control. Springer, Berlin, pp 639–658
13. Perez JA, Alazard D, Loquen T, Pittet C (2016) Linear modeling of a flexible substructure
actuated through piezoelectric components for use in integrated control/structure design. In:
20th IFAC symposium on automatic control in aerospace, 2016
14. Perez JA, Pittet C, Alazard D, Loquen T Integrated control/ structure design of a large space
structure using structured H∞ control. In: 20th IFAC symposium on automatic control in
aerospace
15. Perez J, Pittet C, Alazard D, Loquen T, Cumer C (2015) A flexible appendage model for use
in integrated control/structure spacecraft design. In: IFAC workshop on advanced control and
navigation for autonomous aerospace vehicles. Seville, Spain
16. Junkins JL, Kim Y (1993) Introduction to dynamics and control of flexible structures. AIAA
17. Loquen T, de Plinval H, Cumer C, Alazard D (2012) Attitude control of satellite with flexible
appendages: structured H-infinity approach. In: AIAA guidance, navigation, and control (GNC)
conference, Mineapolis (Minesota), Aug 2012
SPARTAN: A Novel Pseudospectral
Algorithm for Entry, Descent,
and Landing Analysis

Marco Sagliano, Stephan Theil, Vincenzo D’Onofrio


and Michiel Bergsma

1 Introduction

In the last decades the theoretical development of more refined direct methods,
together with a new generation of CPUs, led to a significant improvement of numer-
ical approaches for solving optimal-control problems. One of the most promising
class of methods is based on Pseudospectral (PS) Optimal Control, originally formu-
lated by Ross et al. [13]. These methods transform the original infinite-dimensional
problem, that is, the continuous Bolza problem, into a finite-dimensional, discrete
Nonlinear Programming (NLP) problem, which can be solved with one of the well-
known off-the-shelf solvers, like Snopt [7] and Ipopt [17]. The discrete solution can
be later converted into a continuous form by using Lagrange polynomials. Several
tools implementing PS methods, have been developed, among others DIDO [4].
However, even if performing excellent, this tool requires ad-hoc manual scaling for
the problems analyzed, which turns into a large time-consuming process when done
by hand, and to the risk of numerical issues if ignored. Alternatively, Rao et al. [12]
proposed a self-scaling method, based on the so-called Jacobian Rows Normaliza-
tion (JRN) scheme. However, one can see that this scaling method, although properly
working, is not optimal, as requires multiple computations of the Jacobian matrix
associated with the problem, and at the same time does not offer the largest reduc-
tion of the condition number, here taken as measure of the numerical conditioning
of the problem to be solved. In SPARTAN (Simple Pseudospectral Algorithm for
Rapid Trajectory ANalysis) a second self-scaling method, based on the so-called
Projected-Jacobian Rows Normalization (PJRN) [14] is implemented.
Another important aspect, related with the solution of the finite NLP problem,
is the computation of the Jacobian. In fact, one can see that the exploitation of the
Jacobian structure leads to a sum of three contributions, which can be computed

M. Sagliano (B) · S. Theil · V. D’Onofrio · M. Bergsma


German Aerospace Center, Robert Hooke Str. 7, Bremen, Germany
e-mail: marco.sagliano@dlr.de

© Springer International Publishing AG 2018 669


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_36
670 M. Sagliano et al.

exactly, and provides computational advantages. The overall result is a state-of-


the-art pseudospectral method, which is a valid choice for performing preliminary
analyses of entry, descent, and landing scenarios, and that can be easily used to
rapidly prototype a solution for complex, nonlinear problems, as it will be shown
in this paper. This work is structured as follows: in Sect. 2 the general optimal-
control problem we deal with is briefly introduced, while pseudspectral methods,
and specifically the flipped-radau PS method, are described in Sect. 3. The proposed
improvements on PS methods are fully described in Sects. 4 and 5. Specifically, in
Sect. 4 the projected jacobian rows normalization (PJRN) is introduced, while the
systematic hybrid Jacobian computation, together with the dual number theory, is
explained in Sect. 5. Numerical results obtained for the Space Shuttle entry guidance
problem, and the JAXA’s Trojan mission-based asteroid descent and landing are
shown in Sect. 6. Finally, in Sect. 7 some conclusions are drawn.

2 Optimal Control Problem

There are several approaches for the generation of reference trajectories. Some meth-
ods exploit the structure of the specific problems we deal with. Often, they require
simplifications to make the problem mathematically tractable, and therefore generate
solutions valid under given hypotheses. A different approach, which is gaining popu-
larity, and is helped by the development of the computational capabilities of modern
CPUs is the representation of the trajectory generation problem as an optimal-control
problem. This means we are looking for solutions minimizing (or maximizing) a
given criterion, and satisfying at the same time several constraints, which can be
differential (e.g., the equations of motion of a spacecraft) and/or algebraic (e.g., the
maximum heat-flux that a vehicle can tolerate). The standard form for represent-
ing optimal-control problems is the so-called Bolza problem. Given a state vector
x(t) ∈ Rn s , a control vector u(t) ∈ Rn c , the scalar functions Φ(t, x, u) and Ψ (x, u),
and the vector g(t, x, u) ∈ Rn p we can formulate the problem as follows.
Minimize (maximize) the cost function J

     tf
J = Φ tf,x tf ,u tf + Ψ [x(t), u(t)] dt (1)
t0

subject to the differential equations

ẋ = f (t, x, u) (2)

and to the path constraints


g L ≤ g (x, u) ≤ gU (3)

The first term in the cost function (1) takes the name of Mayer term, and repre-
sents punctual constraints (e.g., the minimization of a distance according to a given
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 671

metric), while the argument of the integral is called the Lagrange term and is used to
maximize or minimize variables over the entire mission (e.g., the heat load obtained
by integrating the heat-flux over time). Moreover, since we deal with physical sys-
tems, the problem has usually bounded states and controls, that is, x(t) and u(t) are
compact in Rn s and Rn c , respectively.

x L ≤ x(t) ≤ xU (4)

u L ≤ u(t) ≤ uU (5)

Equations (1)–(5) represent a generic continuous optimal control problem. In the next
section we will see how this type of OCP can be transcribed by using Pseudospectral
methods.

3 Pseudospectral Methods

Numerical methods for solving OCPs are divided in two major classes, namely,
indirect methods and direct methods. Indirect methods are based on the Pontryagin
Maximum Principle, which leads to a multiple-point boundary-value problem. Direct
methods, instead, consist in the proper discretization of the OCP, (or transcription),
having as a result a finite-dimensional, nonlinear programming (NLP) problem. PS
Methods represent a particular area of interest in the frame of the wider class of
direct methods. In detail, SPARTAN, an optimal-control package developed by the
German Aerospace Center [3, 9, 14, 16] uses the global flipped Radau Pseudospectral
Method (fRPM), based on the flipped Legendre-Radau polynomials [6, 15]. This
choice allows for a straightforward definition of the initial conditions of the problem.
Moreover, the following properties are valid:
• “Spectral” (i.e., quasi-exponential) convergence in the case of a smooth problem
• Runge phenomenon is avoided
• Straightforward implementation
• Sparse structure of the associated NLP problem
• Mapping between the discrete costates of the associated NLP and the continu-
ous costates of the Optimal Control Problem (except for LPM) in virtue of the
Pseudospectral Covector Mapping Theorem [8].
In addition, the fRPM shows a smooth convergence of the costates. This is not
always the case when other PS methods are employed [6]. Therefore, it is useful to
have a look at the fRPM and how it can be conveniently employed to solve OCPs,
focusing on the transcription process which defines the corresponding NLP. This does
not only involve the choice of the discrete nodes, but also determines the discrete
differential and integral operators needed to solve the differential and integral parts
of the associated OCP. Therefore, the transcription is a more general process than the
discretization. The minimum fundamental steps of a transcription are the following:
672 M. Sagliano et al.

• domain discretization
• discrete to continuous conversion of states and/or controls
• characterization of differential and integral operators
The first step is the domain discretization. In the frame of the fRPM, the time domain
discretization in n nodes uses the roots of the flipped Legendre-Radau polynomial,
defined as the combination of the Legendre polynomial of order n and n − 1 with
coefficient equal to 1 and −1 respectively.

Rn (τ ) = L n (τ ) − L n−1 (τ ), τ ∈ [−1, 1] (6)

An example of roots associated with the Legendre-Radau polynomial of order 10


is depicted in Fig. 1a, together with the corresponding polynomial.1 This discrete
representation of the domain is useful to reconstruct continuous representations of
the functions x(t) as:


n 
n
x(t) ∼
= X i Pi (t), Pi (t) = t−tk
ti −tk (7)
i=0 k=0
k=i

An example of this approximation is depicted in Fig. 1b, where the function 1/(1 +
25τ 2 ) is reconstructed by using 25 fRPM nodes.2
Once that the domain has been discretized, and the discrete-to-continuous conver-
sion of states has been defined, the corresponding differential operator needs to be
derived. This is required for the proper representation of the left-hand side of Eq. (2).
The differential operator will be in the form

Ẋi ∼
= D · Xi , , i = 1, . . . , n (8)

and the dynamics defined in Eq. (2) will be replaced by

t f − t0
D·X= f(t, X, U) (9)
2
t −t
where t0 and t f are the initial and final time, and the term f 2 0 is a scale factor related
to the transformation between the physical time domain t, and the pseudospectral
time domain τ ∈ (−1, 1], given by the following affine transformations.
t f −t0 t f +t0 t f +t0
t= 2
τ + 2
, τ= 2
t f −t0
t − t f −t0 (10)

1 Note that the R (−1) is not a root of the underlying polynomial, therefore it is not a collocation
n
point, although it is required for the evaluation of the polynomial. This choice is motivated by the
fact that over the left-open, right-closed interval (−1, +1] these polynomials are orthogonal.
2 Note that the approximation becomes more accurate when the number of nodes is increased.

This is the opposite behavior observed when uniform distributions of nodes, which suffer from the
aforementioned Runge Phenomenon, are employed.
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 673

Fig. 1 Transcription steps: domain discretization (a), continuous reconstruction of functions (b),
definition of differential (c) and integral (d) operators

In the case of the fRPM the matrix D has dimensions [n × (n + 1)]. Again, this is
due to the fact that the states are defined for n + 1 discrete points, while the controls
U and the derivatives of the states f(t, X, U) are defined in the n collocation points.
This means that the initial state X0 is an input and not an output of the optimization,
and it is thus assumed to be known. If we look at Eq. (7), and taking the derivative
w.r.t. time, we get

d
n n
d
ẋ(t) ∼
= Xi Pi (t) = Xi Pi (t) (11)
dt i=0 i=0
dt

as the nodal points are time-independent. The derivatives in Eq. (11) can be effi-
ciently computed with the Barycentric Lagrange Interpolation [10]. An example of
the differential operator is depicted in Fig. 1c, where D is used to approximate the
derivative of a continuous function F(τ ) = Ae−τ sin(ωτ ) sampled in 25 collocation
nodes. It can be seen that the polynomial approximation fits the analytical derivative
very well. In addition to the differential operator, we need an integral operator. This
operator is required as the cost function in Eq. (1) may contain the Lagrange term,
which needs a proper discretization. In that case the Gauss quadrature formula is used
[1]. This approach consists of replacing the continuous integral with the discrete sum
given by:
674 M. Sagliano et al.


t f − t0
tf n
Ψ [t, x(t), u(t)] dt = wi Ψ [Xi , Ui ] (12)
t0 2 i=1

It can be shown that Eq. (12) yields exact results for polynomials of order at most
t −t
equal to 2n − 2. Once again, the presence of the term f 2 0 is a consequence of
the mapping between pseudospectral and physical time domains described in the
relationships (10). For the fRPM the weights w j can be computed as

w = flip(w̃) (13)

⎪ 2

⎨ 2, j =1
n
w̃ j = (1 − τ j ) (14)


⎩ 2 , j = [2, . . . , n]
n L n (τ j )2

where the operator flip simply multiplies the input by a factor equal to −1, and
sorts the results in increasing order. To give a practical example the integral of the
test function F(τ ) = 2τ + 2 − τ 2 has been computed. Results are then compared
with the analytical integral, and with the trapezoidal rule (Fig. 1d). Numerically,
we get exactly the analytical result, that is 3.3333, while the application of the
trapezoidal rule by using the same number of nodes gives 3.3298. Once that a good
approximation of the differential and integral operators have been described, we
are ready to formulate the NLP problem which approximates the original OCP as
follows:
Minimize (maximize) the cost function J , for n nodes, i = 1, . . . , n:

  t f − t0 n
J = Φ tf,Xf,Uf + wi Ψ [Xi , Ui ] (15)
2 i=1

subject to the nonlinear algebraic constraints

t f − t0
F=D·X− f(t, X, U) = 0 (16)
2
and to the path constraints
g L ≤ G (Xi , Ui ) ≤ gU (17)

The discrete states and the controls are bounded, as in the continuous formulation.

x L ≤ Xi ≤ xU (18)

u L ≤ Ui ≤ uU (19)
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 675

This is the formal definition of the Nonlinear Programming Problem to solve. How-
ever, even if theoretically the problem could be solved, in practice further issues
arise. In particular, the numerical conditioning of the problem, the exploitation of
the Jacobian Matrix, and its computation play a major role in the quality of the results
and the speed of the computation.

4 Hybridization of Jacobian Matrix

Let us now consider the general structure of the Jacobian matrix associated with the
NLP problem deriving from the application of fRPM, defined as follows.
⎧ ⎫
⎨∇J ⎬
Jac = ∇F (20)
⎩ ⎭
∇G

The operator ∇ represents the vector of derivative w.r.t. the discrete state vector
X N L P , that needs to be defined. An inspection of the NLP problem represented by
Eqs. (15)–(19) suggests that this Jacobian matrix has a structure that can be exploited
by looking at its parts. This is the subject of this section. In the most general case,
considering n s states, n c controls, n g constraints, n collocation points and unknown
final time t f , the Jacobian Jac associated with the transcription of an autonomous
system of equations will be expressed as a matrix having the following dimensions
 
dim(Jac) = n · (n s + n g ) + 1 × [(n + 1) · n s + n · n c + 1] . (21)

To maintain a consistency between the states and the controls associated with each
node, the following discrete state vector X N L P is proposed.3
 T
X N L P = X0 X1 U1 X2 U2 .. .. Xn Un t f (22)

We can observe how the initial control U0 does not appear in Eq. (22). This is due to
the choice of the fRPM as transcription method instead of the traditional RPM. The
initial control indeed can be extrapolated once the NLP is solved. The Jacobian is by
definition the matrix representing the partial derivatives of a given set of functions
C(X N L P ) (i.e., our NLP constraints), which include the cost function J , the dynamics
F = {f1 , f2 , . . . , fn }, and, when defined, the constraints G = {g1 , g2 , . . . , gn }, so we
can write  T
C(X N L P ) = J f1 f2 . . . fn g1 g2 . . . gn (23)

3 Remark 3: Note that the final element is represented by t


f , in case the problem has open final time.
If not this variable is removed from the vector X N L P .
676 M. Sagliano et al.

and the corresponding Jacobian matrix is


⎡ ∂J ∂J ∂J ∂J ∂J ∂J ∂J ∂J ⎤
∂X0 ∂X1 ∂U1 ∂X2 ∂U2
.. .. ∂Xn ∂Un ∂t f
⎢ ∂f1 ∂f1 ∂f1 ∂f1 ∂f1
.. .. ∂f1 ∂f1⎥ ∂f1
⎢ ∂X0 ∂X1 ∂U1 ∂X2 ∂U2 ∂Xn ∂Un⎥ ∂t f
⎢ ⎥
⎢ ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ⎥
⎢ ∂X ∂X ∂U ∂X ∂U .. .. ∂X ⎥
⎢ 0 1 1 2 2 n ∂Un ∂t f ⎥
⎢ ⎥
  ⎢⎢ .. .. .. .. .. .. .. .. .. .. ⎥ ⎥
∂C ⎢ ⎥
J= = ⎢ ∂fn ∂fn ∂fn ∂fn ∂fn .. .. ∂fn ∂fn ∂fn ⎥ (24)
∂X N L P ⎢ ∂X0 ∂X1 ∂U1 ∂X2 ∂U2 ∂Xn ∂Un ∂t f ⎥
⎢ ⎥
⎢ ∂g1 ∂g1 ∂g1 ∂g1 ∂g1 ∂g ∂g ∂g ⎥
⎢ ∂X0 ∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂X1n ∂U1n ∂t f1 ⎥
⎢ ⎥
⎢ ⎥
⎢ .. .. .. .. .. .. .. .. .. .. ⎥
⎢ ⎥
⎣ ∂gn ∂gn ∂gn ∂gn ∂gn ∂gn ∂gn ∂gn ⎦
∂X0 ∂X1 ∂U1 ∂X2 ∂U2
.. .. ∂Xn ∂Un ∂t f

This matrix can be computed numerically in different ways (e.g., analytically or with
the classical finite-differences schemes). However, these are not the best approaches
since they do not consider the theoretical knowledge contained in the definition of the
discrete operator D, nor do they take full advantage of the intrinsic sparsity associated
with the use of PSMs. Instead, we propose to express the Jacobian matrix as sum of
three different contributions.

Jac = Jac Ps + Jac Du + Jac T h (25)

We can now analyze each of these terms and describe how to compute them.

4.1 Pseudospectral Jacobian

This part of the Jacobian matrix is intrinsically related to the use of the fRPM. More
specifically, it can be seen as the contribution to the Jacobian and to the constraints
represented in Eq. (24) given by the use of the discrete differential matrix D. In the
frame of the discretization of the dynamics, it represents the term

D·X (26)

From a pure algebraic point of view, the differential operator can be seen as a set
of linear combinations of the nodal values of each of the states. The Pseudospectral
Jacobian is entirely defined once the matrix D is computed and expanded. More
explicitly, it can be defined as follows
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 677
⎡ ⎤
O1×[(n+1)·n s +n·n c +1]
⎢ D1,0 .. .. D1,n ⎥
⎢ ⎥
Jac Ps ⎢
= ⎢ .. .. .. .. O[n·(n s +n g )+1×1] ⎥ (27)

⎣ Dn,0 .. .. Dn,n ⎦
On·n g ×[(n+1)·n s + n·n c +1]

where
Di, j = Di, j · In s , i ∈ [1, n], j ∈ [0, n] (28)

and In s is the identity matrix of dimension n s . The elements Di, j are the time deriv-
ative of the polynomials defined in Eq. (7), evaluated in the collocation nodes. The
Pseudospectral Jacobian can then be entirely computed just once, before the begin-
ning of the real optimization process. Moreover, the accuracy of its computation is a
consequence of how good the estimate of the roots of the Legendre-Radau Polyno-
mials is, and not of the errors given by the approximation due to the use of numerical
differentiation techniques.

4.2 Dual Jacobian

The Dual Jacobian refers to the cost function of Eq. (15), the right-hand side of the
differential equations of Eq. (16), and the path constraints of Eq. (17). This contribu-
tion is computed by using the dual number theory, which will be briefly described in
the next section.

4.2.1 Dual Numbers

In linear algebra, the dual numbers extend the real numbers by adjoining one new
element ε with the property ε2 = 0 (ε is nilpotent). The collection of dual numbers
forms a particular two-dimensional commutative associative algebra over the real
numbers [5]. Every dual number has the form

z = a + bε (29)

with a and b uniquely determined real numbers and, in particular,

a = r eal(z), Real Part


b = dual(z), Dual Part

Dual numbers extend the real numbers in a similar way to the complex numbers.
Indeed, as the dual numbers, the complex numbers adjoin a new element i, for which
i 2 = −1, and every complex number has the form z = a + bi where a and b are real
numbers. The definition given in Eq. (29) relies on the idea that ε2 = 0 with ε = 0.
678 M. Sagliano et al.

To implement the dual numbers, algebraic operations on these numbers should be


properly defined. It is important to underline that the dual number algebra is a non-
division algebra; given two dual numbers, division is possible only if the real part of
the divisor is different from zero. The dual numbers have been implemented in MAT-
LAB as a new class of numbers [3], using operator overloading. The class includes
definitions for standard algebraic operations, logical comparison operations, and
other more general functions such as the exponential or the trigonometric functions.
This class definition file allows a real-valued analysis code to be easily converted to
operate on dual numbers by just changing the variable type declarations, while the
structure of the code remains unchanged. The use of the dual numbers allows us to
compute exact first derivatives, as it will be explained in the next section.

4.2.2 Dual-Step Differentiation Method

The dual-step differentiation method uses the dual numbers to provide exact first
order derivatives. Consider the Taylor series of a function f (x) for x ∈ R for a given
perturbation value a.

1 2  a 3 f  (x)
f (x + a) = f (x) + a f  (x) + a f (x) + + .... (30)
2! 3!
If we assume that the perturbation a is the dual number

a = a1 ε with ε2 = 0 and ε = 0 (31)

we can expand in Taylor series around the center x the function f (x) by using a dual
step, so that a 2 = 0, a 3 = 0, . . ., and the Taylor series in Eq. (30) truncates exactly
at the first-derivative term, yielding the properties of the approximation that we are
seeking:
f (x + a) = f (x) + a1 f  (x)ε. (32)

So, to get f  (x) it is necessary to simply read off the ε component and divide by a1 ,
yielding the dual-step first derivative formula.4

Dual[ f (x + a)]
f  (x) = . (33)
a1

4 From the inspection of Eq. (32) it is possible to observe that each function extended in the dual plane

hides its derivative in its dual part. Indeed, the dual-number algebra is such that, when operations
are carried out on the real part of the number, derivative information for those operations is formed
and stored in the non-real part of the number. The disadvantage is a larger computational cost and,
in addition, the need of working with analytical functions.
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 679

10 0

|f'(x) num-f'(x) true |


CD3
CD5
10 -10
CD7
CS
DS

10 -20

10 0 10 -5 10 -10 10 -15
Stepsize

Fig. 2 Comparison of numerical methods for first-derivative computation of the function


2e−t sin(t)
4

This formula clearly shows the advantages of the use of the dual-step differentiation
method over the central difference and the complex-step approximations. Indeed,
since the dual-step derivative approximation does not involve a difference operation
and no terms of the Taylor series are ignored, this formula is subject neither to trun-
cation error, nor to round-off error. There is no need to make the step size small
and the simplest choice is a1 = 1, which eliminates the need to divide by the step
size. Therefore, using the dual-step method, the error between numerical and ana-
lytical derivative (η = | f  − fre f |/| fre f |) is machine zero regardless of the selected
step size, as illustrated in Fig. 2, where the derivative of the function 2e−t sin(t) is
4

computed by using central difference schemes with 3, 5 and 7 points (CD3, CD5,
CD7), complex-step (CS), and dual-step (DS). It is clear that the dual-step approach
provides exact results, even in presence of highly nonlinear functions. Indeed, con-
sidering the central difference (CD) and the complex-step approximations, instead,
Fig. 2 shows that, as the stepsize decreases, the error decreases according to the order
of the truncation error of the method. However, after a certain value the error for the
central difference approximations tends to grow, while the error for the complex-
step approximation continuously decreases. This shows the effect of the round-off
error, which affects the central differences but not the first derivative complex-step
approximation. While central differences and complex-step provide approximated
derivatives for these terms, the use of Dual Number Theory permits the computa-
tion of zero-epsilon derivatives. The only limit for the use of this technique is the
same associated with the use of the complex-step, that is, the need to have analytical
functions, i.e., no look-up tables are allowed.
680 M. Sagliano et al.

4.2.3 Dual-Number Based Jacobian

In case we are dealing with analytical functions, it is possible to compute their con-
tribution to the Jacobian matrix (i.e., considering the matrix D equal to 0), excluding
the last column,

⎡ ∂J ∂J ∂J ∂J ∂J ∂J ⎤
∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un
⎢ ∂f1 ∂f1 ∂f1 ∂f1 ∂f1 ∂f1 ⎥
⎢ ⎥

⎢ ∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un ⎥

⎢ ⎥
⎢ ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ∂f2 ⎥
⎢ ⎥

⎢ ∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un ⎥

⎢ ⎥
⎢O .. .. .. .. .. .. .. .. O[n·(n s +n g )+1×1] ⎥
⎢ [n·(n s +n g )+1×n s ] ⎥
  ⎢ ⎥
∂C ⎢ ⎥
Jac Du = = −kt ⎢
⎢ ∂fn ∂fn ∂fn ∂fn ∂fn ∂fn ⎥

∂X N L P D=0 ⎢
⎢ ∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un ⎥

⎢ ⎥
⎢ ∂g1 ∂g1 ∂g1 ∂g1 ∂g1 ∂g1 ⎥
⎢ ⎥

⎢ ∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un ⎥

⎢ ⎥
⎢ .. .. .. .. .. .. .. .. .. ⎥
⎢ ⎥
⎢ ⎥
⎢ ∂gn ∂gn ∂gn ∂gn ∂gn ∂gn ⎥
⎣ ⎦
∂X1 ∂U1 ∂X2 ∂U2 .. .. ∂Xn ∂Un

(34)
t −t
where kt is equal to the time scale factor defined as f 2 0 for the elements related to
the functions f, and equal to 1 for all the other terms of Jac Du . Each of the elements
of Jac Du can be rewritten in dual form. We can therefore write

Jac Du = −kt Dual [C(X N L P + ε)]D=0 (35)

The differentiation operation becomes then an evaluation of the single elements of


C(X N L P ) in dual sense, and the extraction of the dual part.

4.3 Theoretical Jacobian

Finally, a third contribution, the Theoretical Jacobian, arises in case we deal with
problems having an open final time. In this case the NLP state vector X N L P will
have a further variable, that is t f . The Jacobian associated with this term is simply
t −t
proportional to the output of the continuous functions by a factor f 2 0 introduced in
virtue of the mapping between physical and pseudospectral time of Eq. (10).
⎡ ⎤
0
⎢ f1 ⎥
⎢ ⎥
1⎢ f2 ⎥
Jac T h = − ⎢ ⎥ (36)
2⎢⎢ O[n·(n s +n g )+1]×[(n+1)·n s +n·n c ] .. ⎥ ⎥
⎣ fn ⎦
On·n g ×1
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 681

The hybridization of the Jacobian matrix makes the computation of the NLP solution
more accurate, as no approximations are taken, except those associated with the
transcription process. Hence, significant CPU time is saved when solving the NLP
problem, as we will see.

5 Automatic Scaling: Projected Jacobian Rows


Normalization

Let us reformulate the NLP of Eqs. (15)–(19). If we group the differential constraints
fi , and the algebraic constraints gi , i = 1, . . . , n as
 T  T
F = f1 f2 . . . fn , G = g1 g2 . . . gn (37)

the core of the NLP can be rewritten in the following compact form as function of
the vector X.5
min J (X),
s.t. F(X) = 0
(38)
g L ≤ G(X) ≤ gU
X L ≤ X ≤ XU

A measure of the quality of a scaling method is the condition number (C.N.) of the
Jacobian of the NLP (38), which in the general case is a rectangular matrix given
by Eq. (20). Since the Jacobian matrix is involved in the KKT conditions required
to solve the NLP, a well-conditioned Jacobian is essential for solving the problem
defined in Eq. (38) without excessive rounding errors. This implies that the scaling
is not a secondary aspect in the transcription of the optimal control problems. Note
that the effective scaling involves two steps: the scaling of the states X, which will
be transformed into scaled states X̃, and the scaling of the constraints F, transformed
into the corresponding F̃. Their combination will result in the scaling of the Jacobian
matrix.

5.1 Scaling of NLP States

The states X of the NLP problem are scaled using the standard linear transformation
given in [2], regardless of the NLP scaling method that we use. Specifically, the
scaled state X̃ is given by
X̃ = Kx · X + bx (39)

5 Here X is meant to be the one defined in Eq. (22), with the subscript dropped to avoid heavy
notation.
682 M. Sagliano et al.

where Kx is a diagonal matrix, and bx is a vector having the same dimensions as X.


Since we always deal with bounded states and control, the diagonal elements of the
matrices Kx and bx are defined as:

Kxi,i = 1
XU i −XLi
, bxi = − XUXi −X
Li
Li
(40)

Note that the transformation (40) yields scaled states X̃ which always lie in the
interval [0, 1]. In case of unbounded states, artificial upper and lower boundaries are
usually introduced [2].

5.2 Constraints Scaling - State of the Art

Linear scaling techniques use a scaling of the form (41).

F̃ = Kf · F, G̃ = Kg · G (41)

Kf and Kg are diagonal matrices. The isoscaling (IS) method is one such technique
whereby the constraints F are scaled exactly like the states, that is,

Kf = Kx ,

where Kx is given by Eq. (40), see [2–11]. Note that isoscaling does not help in
scaling the constraints G. A possible refinement of this approach has been suggested
by Rao [12], who uses randomly sampled points around the vector X, and computes
the mean of the norms of the Jacobian rows of F and G instead of the norm of
the Jacobian rows. Unfortunately, this technique increases the CPU time needed to
compute the scaling coefficients, since the Jacobian matrix must be evaluated many
more times. Next, we introduce a simple linear scaling technique which does not
require additional Jacobian matrix evaluations, and hence is less computationally
expensive.

5.3 Projected Jacobian Rows Normalization

Isoscaling bases the scaling of the constraints solely on the scaling of the states.
In other words, it does not take into account the relationship between the states
and the constraints, which is represented in linearized form by the Jacobian matrix.
Conversely, Jacobian rows normalization (JRN) only considers this relationship,
without involving the states’ normalization in the process. Specifically, in the JRN
technique, the diagonal elements of Kf and Kg are given by
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 683

1 1
Kfi,i = mean , Kgi,i = mean (42)
k |∇F|i k |∇G|i

where k represents the number of random samples generated to compute the scaling
factors. The projected Jacobian rows normalization (PJRN) technique which we
propose considers both the states and the constraints’ magnitude. Specifically, in the
PJRN, the diagonal elements of Kf and Kg are given by

1 1
Kf i,i =   , Kg i,i =   (43)
∇F · Kx−1  ∇G · Kx−1 
i i

and this scaling generally leads to a better-conditioned Jacobian matrix, and to more
uniformly distributed singular values. The Jacobian of the PJRN-scaled NLP can be
therefore computed as
⎧ ⎫ ⎧ ⎫
⎨ ∇˜ J˜ ⎬ ⎨ K J · ∇ J · Kx−1 ⎬
˜ = ∇˜ F̃ = Kf · ∇F · Kx−1
Jac (44)
⎩˜ ⎭ ⎩ ⎭
∇ G̃ Kg · ∇G · Kx−1

where K J is a parameter which normalizes the cost function J . Kx is given by using


Eq. (40), while Kf and Kg are computed by using Eq. (42). Note that K J can be
either manually selected, or automatically computed by means of the PJRN, which
is the choice adopted in this work. This completes the self-scaling procedure. We can
observe the effects of the hybridization of the Jacobian matrix, and the self-scaling
procedure in two significant examples, illustrated in the next section.

6 Numerical Examples

Two examples are proposed to show the application of the proposed improved
pseudospectral method for EDL applications, specifically. In the first example the
optimal Space Shuttle entry guidance problem is solved. In the second example the
asteroid descent and landing problem for a soft touchdown on an asteroid is shown.6

6.1 Entry: Space Shuttle Guidance

This problem deals with the maximization of the crossrange (corresponding in this
case to the latitude) of the Space Shuttle during the atmospheric entry phase, while
satisfying the maximum heat-rate limit, and final conditions on altitude, velocity and

6 The tests are repeated three times for a better characterization of the CPU times.
684 M. Sagliano et al.

Fig. 3 Space Shuttle entry guidance example

flight-path angle. A full description of the problem can be found in [2]. Results are
depicted in Fig. 3a–c.
It can be observed that the results are fully consistent with the ones generated
by Betts. The combined use of the hybrid jacobian and scaling techniques leads to
accurate and faster results with respect to the standard methods. Indeed, the solution is
generated in 8.81 and 9.72 s when JRN and PJRN techniques are used in comparison
to 51 and 54 s respectively, when the non-hybrid Jacobian is employed.
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 685

The differences becomes larger when IPOPT is used (73 and 155 s when the
JRN and PJRN with the hybrid jacobian are used, respectively), versus 817 and 570 s
when no knowledge of the Jacobian matrix is exploited. The use of scaling techniques
improves the initial conditioning of the problem by several orders of magnitude (the
C.N. goes from 7.468 · 109 to 418 for the PJRN and 24813 when the JRN is adopted).

6.2 Descent and Landing: JAXA-DLR Trojan Mission

This problem deals with the descent and landing of a small lander, in the frame
of a JAXA-DLR joint-study for the design of a mission targeting Jupiter’s Trojan
asteroids. The objective is the maximization of the final mass, while having a syn-
chronized, soft touchdown of the lander on the asteroid surface’s nadir point at the
beginning of the descent phase. To guarantee the synchronization, together with
radial position r , radial and tangential components of velocity Vr and Vt , the motion
is described by using the relative angle θast w.r.t. the landing point, fixed on the
surface of the asteroid. The in-plane dynamics is therefore described as

ṙ = Vr
Vt
θ̇ast = − ωast
r
V2 μast Tr
V̇r = t − 2 + (45)
r r m
Vr Vt Tt
V̇t = − +
r m
Tr  + Tt 
ṁ =
Isp g0

with the asteroid having a gravitational parameter μast equal to 3.774 106 m3 /s2 ,
and a radius of 15 km. The initial altitude w.r.t. the surface is 1 km. The final desired
altitude is 5 m, without side-velocity w.r.t. the landing point. The lander initial mass
is 100 kg with a specific impulse of 68 s. Limits equal to 3 N for the radial component
of the thrust and 1.5 for the tangential one are also taken into account.

|Tr | ≤ 3 N
(46)
|Tt | ≤ 1.5 N

Results are depicted in Fig. 4a–c, where states, controls, and the trajectory are
shown.
One can see that the solution follows a bang-bang structure, as expected. At the
end of the mission the relative angle θast is equal to 0, and the tangential velocity Vt
becomes exactly equal to the one of the landing point on the asteroid surface. Radially,
the gravity is initially exploited to accelerate the lander towards the asteroid. The
686 M. Sagliano et al.

4
1.6 0 0

-1

Δ (deg)

Vr (m/s)
r (m)

1.55 -0.5 -2

-3

1.5 -1 -4
0 500 0 500 0 500
Time (s) Time (s) Time (s)

4 100

3 99.5
Vt (m/s)

[kg]

2 99

1 98.5

0 98
0 500 0 500
Time (s) Time (s)
(a) States.

4 2500
Trajectory
Tr (N)

2000 Asteroid Surface


2
1500
0
x (m)

0 100 200 300 400 500 600 1000


Time (s)
2 500
Tt (N)

0
0
-500
-2 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65
0 100 200 300 400 500 600 4
y (m) 10
Time (s)
(c) Trajectory.
(b) Controls.

Fig. 4 Trojan asteroid descent and landing example

thrusters are only used to decelerate the lander during the second-half of the descent,
to guarantee a soft touchdown. This solution maximizes the remaining propellant at
the cost of relatively large time, equal to 521 s. The trajectory confirms that the lander
smoothly reaches the prescribed final point. In terms of numerical performance, if
we look at the solution having 50 nodes the use of the PJRN permits to reduce
the condition number to 170.5 (while the unscaled condition number is equal to
SPARTAN: A Novel Pseudospectral Algorithm for Entry … 687

19400.1 and the JRN generates a condition number equal to 2564.1. Therefore, the
condition number is improved by more than one order of magnitude with respect
to standard literature methods. The CPU time required to compute a valid solution
by using the hybrid Jacobian structure is equal to 43.3 s (PJRN) and 34.7 s (JRN).
If we do not exploit the Jacobian structure the required time to compute an optimal
solution is equal to 331.4 s (PJRN) and 179.1 s (JRN), respectively. In this case the
PJRN does not make so much difference with respect to the JRN, while the hybrid
Jacobian computation is highly effective in reducing the required CPU time. Note
that when the Jacobian structure is exploited the time is dramatically reduced even
if the dual-number class, involving more operations, is invoked.

7 Conclusions

In this paper we have given an overview on pseudospectral methods, together with


some key-improvements with respect to the standard transcription described in litera-
ture, which include an exploitation of the Jacobian matrix, exactly computed by using
the dual-number theory, and a self-scaling approach, which ensures a better numer-
ical conditioning of the problem we want to solve. The proposed techniques have
been implemented in SPARTAN, the first European tool implementing the flipped-
Radau pseudospectral method. The method, and the tool can be used for preliminary
analysis of complex, nonlinear problems involving entry, descent, and landing appli-
cations. As examples an entry mission, based on the Space Shuttle entry guidance,
and a descent and landing mission for a soft-touchdown on a Trojan asteroid, have
been implemented.
Results show the validity of SPARTAN as state-of-the-art tool for entry, descent,
and landing guidance analysis, leading to reduced CPU time with respect to stan-
dard methods, and a significant improvement of the numerical conditioning of the
problems, here measured by the condition number. Its generic structure encourages
the use for further scenarios and problems involving complex dynamics and multiple
constraints, where no analytical solutions are available, e.g., lunar landing or mars
descent missions. Future work will include the extension of the method to deal with
uncertainties to compute stochastic optimal trajectories, and the implementation of
new cases (e.g., low-thrust interplanetary maneuvers) to explore the use of the tool
in different scenarios.

References

1. Abramovitz M, Stegun IA (1695) Handbook of mathematical functions. Dover Publications,


New York
2. Betts JT (2010) Practical methods for optimal control and estimation using nonlinear program-
ming, 2nd edn. SIAM, Philadelphia
688 M. Sagliano et al.

3. D’Onofrio V (2015) Implementation of advanced differentiation methods for optimal trajectory


computation. Master’s thesis, University of Naples Federico II, Naples
4. Elissar (2015) Description of dido optimal control software. http://www.elissarglobal.com/
5. Fike J, Alonso J (2011) The development of hyper-dual numbers for exact second-derivative
calculations. In: 49th AIAA aerospace sciences meeting including the new horizons forum and
aerospace exposition, Orlando, USA, number AIAA, p 886
6. Garg D (2011) Advances in global pseudospectral methods for optimal control. PhD thesis,
University of Florida, Gainesville
7. Gill PE, Murray W, Saunders MA (2008) User’s guide for SNOPT version 7: software for
large-scale nonlinear programming. University of California, San Diego
8. Gong Q, Ross IM, Kang W, Fahroo F (2008) Connections between the covector mapping
theorem and convergence of pseudospectral methods for optimal control. Comput Optim Appl.
https://doi.org/10.1007/s10589-007-9102-4
9. Huneker L, Sagliano M, Arslantas YE (2015) Spartan: an improved global pseudospectral
algorithm for high-fidelity entry-descent-landing guidance analysis. In: 30th international sym-
posium on space technology and science, Japan, Kobe, 2015
10. Martins JRR, Sturdza P, Alonso JJ (2003) The complex-step derivative approximation. ACM
Trans Math Softw 29(3):245–262. https://doi.org/10.1145/838250.838251
11. Nocedal J, Wright SJ (1999) Numerical optimization. Springer, New York
12. Rao AV (2009) A survey of numerical methods for optimal control. In: AAS/AIAA astrody-
namics specialist conference, aaS paper 09–334, Pittsburgh, PA, August 10–13, 2009
13. Ross IM, Sekhavat P, Fleming A, Gong Q (2006) Pseudospectral feedback control: foundations,
examples and experimental results. In: AIAA guidance, navigation, and control conference,
Keystone, USA. https://doi.org/10.2514/6.2006-6354
14. Sagliano M (2014) Performance analysis of linear and nonlinear techniques for automatic
scaling of discretized control problems. Oper Res Lett 42(3):213–216. https://doi.org/10.1016/
j.orl.2014.03.003
15. Sagliano, M (2016) Development of a novel algorithm for high performance reentry guidance.
PhD thesis. http://elib.suub.uni-bremen.de/edocs/00105082-1.pdf
16. Sagliano M, Theil S (2013) Hybrid jacobian computation for fast optimal trajectories gener-
ation. In: AIAA guidance, navigation, and control conference, Boston, USA. https://doi.org/
10.2514/6.2013-4554
17. Wächter A, Biegler LT (2006) On the implementation of an interior-point filter linesearch
algorithm for large-scale nonlinear programming. Math Program 106(1):25–57; Springer, New
York
Maximum Null Motion Algorithm for Single
Gimbal Control Moment Gyroscopes

S.A.V. Schallig, Q.P. Chu, S.W. Rhee and E. van Kampen

1 Introduction

Future space platforms, such as next-generation Earth imaging and missile-tracking


satellites, require rapid rotational maneuverability [16, 19]. Currently, most Euro-
pean satellites use Reaction Wheels (RWs) as momentum exchange device for their
Attitude Control Systems (ACS) [12]. However, RWs do not produce enough torque
to meet the high slew rate requirement of agile satellites. An alternative is to use
Control Moment Gyroscopes (CMGs), because of their torque amplifying proper-
ties [16].
One type of CMG is the Single Gimbal Control Moment Gyroscope (SGCMG).
SGCMGs are momentum exchange devices which contain a spinning rotor with an
angular momentum. The spinning rotor is mounted on a gimbal, which allows for
rotation of the angular momentum vector of the rotor with respect to the spacecraft.
Gimbaling of the spinning rotor produces a precessional gyroscopic reaction torque
orthogonal to both the rotor spin and gimbal axis. A small gimbal torque input
produces a large gyroscopic torque output on the spacecraft, which is why CMGs
are torque amplification devices [16]. Usually a cluster of multiple CMGs is used
to obtain the desired torque, where the total torque vector is the summation of the
individual CMG outputs torque vectors [6].

S.A.V. Schallig (B) · Q.P. Chu · E. van Kampen


Delft University of Technology, Delft, The Netherlands
e-mail: S.A.V.Schallig@student.tudelft.nl
Q.P. Chu
e-mail: Q.P.Chu@TUDelft.nl
E. van Kampen
e-mail: E.vanKampen@TUDelft.nl
S.W. Rhee
Korea Aerospace Research Institute, Yuseong, Korea
e-mail: srhee@kari.re.kr

© Springer International Publishing AG 2018 689


B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_37
690 S.A.V. Schallig et al.

Historically, CMGs were only used for space stations and military satellites. Space
stations have a high inertia which requires high torques from the ACS. This high
torque requirement together with a moving crew inside the space station, make CMGs
ideal for the attitude and stability control. CMGs have been used successfully in
Skylab, MIR and the International Space Station [2, 12, 13, 17]. Military satellites
often require rapid multitarget acquisition, pointing, and tracking capabilities in order
to maximize the number of pictures/day and to be able to quickly target areas of
interest or following moving objects on the ground [12, 19].
Although there are several advantages for using CMGs, there have not been many
implementations of CMG systems due to the complexity of the mechanical- and
control system. Recent advances in digital design tools and micro electronics make
SGCMGs a feasible alternative to RWs even for small satellites [3]. However, the
inherent singularity problem of SGCMGs is still a major issue.
The structure of this paper is as follows. In Sect. 2, the basics of CMGs will be
introduced together with the four CMG pyramid configuration. This is followed by
the spacecraft model used during simulation in Sect. 3. The model consists of the
kinematic and dynamics equations of motion together with the state estimation and
attitude controller used. Section 4 will give two steering laws which generate torque
error to pass singularities as well as two null motion algorithms. The metrics used to
evaluate the performance of the steering laws and null motion algorithms are given
in Sect. 5. Finally, numerical simulations of the steering laws and null motion algo-
rithms are given in Sect. 6.

2 Single Gimbal Control Moment Gyroscopes

A schematic overview of a SGCMG is shown in Fig. 1a. This figure defines the fixed
unit vector along gimbal axis g, angular momentum vector h, torque vector c and
gimbal angle θ . The relation between these quantities is given by Eq. 1.

dh i dh i
ci ≡ = = gi × h i (1)
dt dθi

It is assumed that each CMG has the same moment of inertia and angular rate,
hence the magnitude of the angular momentum is the same for each CMG. Usually
a system of several CMGs is used for the attitude control. A common configura-
tion is the four CMG pyramid configuration shown in Fig. 1b. This configuration
will also be used throughout this paper because it is a minimum redundant system
with full three dimensional control and has a compact size which makes it ideal for
satellite applications. When the gimbal accelerations are neglected, the total angular
momentum h ∈ R 3×1 of this configuration in de body reference frame is given by
Maximum Null Motion Algorithm for Single … 691

(a) Schematic Overview[6] (b) Four CMG Pyramid Configuration[6]

Fig. 1 Single gimbal control moment gyroscope

⎡ ⎤ ⎡ ⎤

4 −cα sin θ1 − cos θ2
h (θ) = Ci h i (θi ) = ⎣ cos θ1 ⎦ + ⎣−cα sin θ2 ⎦
i=1 sα sin θ1 sα sin θ2
⎡ ⎤ ⎡ ⎤
cα sin θ3 cos θ4
+ ⎣ − cos θ3 ⎦ + ⎣cα sin θ4 ⎦ (2)
sα sin θ3 sα sin θ4

The output torque of the CMGs equals to the change in angular momentum

dh ∂ h dθ
ḣ = = · = C θ̇ (3)
dt ∂θ dt
where C is the Jacobian matrix of Eq. 2. From Eqs. 1 and 2 it follows that the columns
of C equal to the torque vectors of the CMGs

∂h
C≡ = [c1 c2 c3 c4 ]
∂θ
⎡ ⎤
−cα cos θ1 sin θ2 cα cos θ3 − sin θ4
= ⎣ − sin θ1 −cα cos θ2 sin θ3 cα cos θ4 ⎦ (4)
sα cos θ1 sα cos θ2 sα cos θ3 sα cos θ4

The CMG model includes gimbal dynamics and is simulated as a second order
system
ωn2
θ̇ = 2 θ̇ c (5)
s + 2ζ ωn s + ωn2

where θ̇ is the gimbal rate and θ̇ c is the commanded gimbal rate. A CMG steering
law can be constructed where an attitude controller is used to calculate the required
torque hr eq . By using the pseudo-inverse of Eq. 3, the desired gimbal rates can be
calculated using
692 S.A.V. Schallig et al.

 −1
θ̇ c = C T CC T ḣr eq (6)

This method is called the Pseudo Inverse (PI) steering law and fails when the
inverse of CC T does not exist, which happens when det(CC T ) = 0. This is the case if
rank(CC T ) < 3, or equivalently, if rank(C) < 3. In this situation the system of CMGs
is in a singular state which occurs when the individual CMG momentum vectors h i
are aligned to the commanded torque direction i.e., the individual CMG momentum
vectors h i have extremal projections onto to the commanded torque direction [16].

3 Spacecraft Model

This chapter will give an overview of the spacecraft model used. First, the rotational
kinematics and dynamic equations of motion will be given in Sects. 3.1 and 3.2,
respectively. The state estimation used for spacecraft attitude estimation is given in
Sect. 3.3. Finally, the attitude controller used is discussed in Sect. 3.4.

3.1 Rotational Kinematics

The attitude of the spacecraft is represented using a quaternion which is defined as


[4]

q
q̄ = (7)
q4

where q = [q1 q2 q3 ]T and

q = ê sin (φ/2) q4 = cos (φ/2) (8)

Eulers eigenaxis and its angle of rotation are denoted by ê and φ, respectively.
The quaternion kinematic differential equation is given by Eq. 9.

⎡ ⎤ ⎡ ⎤⎡ ⎤
q˙1 0 ω3 −ω2 ω1 q1
⎢q˙2 ⎥ 1 ⎢−ω3 0 ω1 ω2 ⎥ ⎢q2 ⎥
⎢ ⎥= ⎢ ⎥⎢ ⎥
⎣q˙3 ⎦ 2 ⎣ ω2 −ω1 0 ω3 ⎦ ⎣q3 ⎦
q˙4 −ω1 −ω2 −ω3 0 q4
1
= Ω (ω) q̄ (9)
2
Maximum Null Motion Algorithm for Single … 693

3.2 Rigid-Body Dynamics

In Chap. 2, the gimbal accelerations were neglected in the calculation of the CMG
angular momentum and torque. For the full equations of motion these terms will
be included. The spacecraft itself is assumed to be rigid body with only CMGs as
attitude control actuators. The total angular momentum of the spacecraft including
CMGs H ∈ R 3×1 , about the center of mass expressed in the body-fixed reference
frame is given by [11]


4
H = Iω + CiT h̄ i
i=1
4
 
= Iω + CiT JCi ω + CiT J θ̇¯i + CiT h i (10)
i=1

The angular momentum of each CMG is caused by the rotation of the spacecraft,
the gimbaling of the CMG and the spinning of the rotor. The time derivative of Eq. 10
w.r.t. the inertial reference frame N equals the external torque T ext

d
T ext = (H) N
dt
4
d  T 
= I ω̇ + ω × Iω + C h̄ i N (11)
i=1
dt i
 
where dtd CiT h̄ i N is the torque generated by the ith CMG. This torque can be written
in the body reference frame as

d  T 
C h̄ i N = CiT JCi ω̇ + CiT θ̇¯i × JCi ω
dt i
+ ω × Ci JCi ω + CiT J θ̈¯i + ω × CiT J θ̇¯i
+ C T θ̇¯ × h + ω × C T h
i i i i i (12)

Substituting Eq. 12 in Eq. 11 gives



ω̇ = − I ∗ −1 ω × Iω − T ext + B θ̈


4

+ (D1 + D2 + D3 ) θ̇ + ω × CiT ( JCi ω + h i ) (13)


i=1

where
694 S.A.V. Schallig et al.


4
I∗ ≡ I + CiT JCi
i=1


4
D3 θ̇ ≡ CiT θ̇¯i × JCi ω
i=1


4
D2 θ̇ ≡ ω × CiT J θ̇¯i (14)
i=1


4
D1 θ̇ ≡ CiT θ̇¯i × h i
i=1


4
B θ̈ ≡ CiT J θ̈¯i
i=1

When the inertia of the CMGs are neglected and by defining the internal control
torque τ ∈ R 3×1 , Eq. 13 reduces to

I ω̇ + ω × Iω = τ + T ext (15a)

ḣ + ω × h = −τ (15b)

Most researches neglect the CMG inertia, because the acceleration torque of the
CMG is usually much smaller than the precessional gyroscopic torque of the CMG.
Furthermore, it has little influence on the singularity avoidance problem [7].

3.3 State Estimation

It is assumed that the spacecraft has three types of sensors: gyros, line-of-sight attitude
sensor and gimbal angle measurement sensors. The gimbal angles are measured by
a rotary sensor. Equation 5 is a linear equation so a linear Kalman filter is used to
filter the noisy measurements.
The remainder of the section describes the Kalman filtering algorithm used for
spacecraft attitude estimation, which consists of five parts [4, 8, 9, 14]. First, the
gyro noise model will be given in Sect. 3.3.1 and the attitude sensor will be described
in Sect. 3.3.2. The state equation will be given in Sect. 3.3.3. Finally, the prediction
and filtering will be described in Sects. 3.3.4 and 3.3.5, respectively.

3.3.1 Gyro Noise Model

The angular rate of the spacecraft is measured using a rate-integrating gyro for which
the following continuous time model is used
Maximum Null Motion Algorithm for Single … 695

ω m = ω + β + ηv (16a)

d
β = ηu (16b)
dt
with noise statistics  
E ηv (t) ηvT (τ ) = σv2 δ (t − τ ) I (17a)
 
E ηu (t) ηuT (τ ) = σu2 δ (t − τ ) I (17b)

It is assumed that ηv and ηu are independent zero mean Gaussian white noise
processes. The continuous time noise covariance matrix is given by
2

σv · I 0 Nv 0
Qc = = (18)
0 σu2 · I 0 Nu

During simulation, the following discrete time gyro model is used to generate the
measurement data [4, 9]

1 
ωm,k+1 = ωk+1 + β k+1 + β k
2
2
1/2
σv 1
+ + σu2 Δt Nv (19a)
Δt 12

β k+1 = β k + σu Δt 1/2 Nu (19b)

3.3.2 Attitude Sensor

It is assumed that a line-of-sight attitude sensor is available which directly provides


quaternion out measurements. These measurements are corrupted by white noise
with statistical information known [9]. The measured quaternion q̄ m is simulated
using
q̄ m = q̄ n ⊗ q̄ (20)

where q̄ n is a noisy quaternion with


 
E q n (t) = 0
  
E q n (t) q nT t  = R (21)

and qn,4 such that the quaternion norm is satisfied.


696 S.A.V. Schallig et al.

3.3.3 State Equation

A seven element state vector is defined as



x= (22)
β

The derivatives of the states are computed using

1
q̄˙ (t) = Ω (ωm − β − η1 ) q̄ (t) (23a)
2

β̇ = η2 (23b)

Taking the expectation gives

1  
q̄˙ˆ (t) = Ω ω̂ q̄ (t) (24a)
2

β̂˙ = 0 (24b)

with
ω̂ = ωm − β̂ (25)

Due to the unity constraint on the quaternion, it is not possible to express the error
quaternion as the arithmetic difference between the true and estimated quaternion.
Therefore, a multiplicative extended Kalman filter is used where the error quaternion
is defined as
−1
δ q̄ = q̄ ⊗ q̄ˆ (26)

Since the error quaternion corresponds to a small rotation, the small angle approx-
imation can be used


1

δq ê sin (δφ/2) δφ
δ q̄ = = ≈ 2 (27)
δq4 cos (δφ/2) 1

The bias error is defined as


Δβ = β − β̂ (28)

and the six dimensional error vector is now given by


δφ
x̃ = (29)
Δβ
Maximum Null Motion Algorithm for Single … 697

3.3.4 Prediction

The derivative of error vector is calculated using

x̃˙ = F c · x̃ + G c · η (30)

where  

− ω̂× −I −I 0
Fc = , Gc = (31)
0 0 0 I

and η = [η1 η2 ]T . By assuming that the continuous time system matrix F c is constant
during the integration interval, the state transition matrix Φ can be calculated using

Φ (t + Δt, t) = exp (F c Δt)


1 2 2
= I + F c Δt + F Δt + . . . (32)
2! c
and the discrete time noise covariance matrix Q d can be calculated using
 tk+1
Qd = Φ (tk+1 , τ ) G c (τ ) Q c G cT (τ ) Φ T (tk+1 , τ ) dτ (33)
tk

The state covariance matrix is now calculated using

P k+1|k = Φ P k|k Φ T + Q d (34)

3.3.5 Filtering

The Kalman gain can be calculated using


 −1
K = PHT H PHT + R (35)

The error state vector correction is calculated using


 

2 · δ q̂ (+) 
δ φ̂ (+) −1
Δ x̂ (+) = = = K z ⊗ q̂ (36)
Δβ̂ (+) Δβ̂ (+)

Using this correction, the states can be updated

q̄ˆ (+) = δ q̄ˆ (+) ⊗ q̄ˆ (−) (37a)

β̂ (+) = β̂ (−) + Δβ̂ (+) (37b)


698 S.A.V. Schallig et al.

Finally, the covariance matrix can be updated

P k+1|k+1 = (I − K H) P k+1|k (I − K H)T + K R K T (38)

3.4 Attitude Control

The attitude error quaternions can be calculated using Eq. 39. This equation relates
the current attitude quaternions to the demanded attitude quaternions. The quater-
nion error vector e ∈ R 3×1 contains the first three attitude error quaternions, e =
(e1 , e2 , e3 ), and is the attitude error from target to the current attitude. This attitude
error quaternion is used by the attitude controller and is calculated using
⎡ ⎤ ⎡ ⎤⎡ ⎤
e1 q4c q3c −q2c −q1c q̂1
⎢e2 ⎥ ⎢−q3c q4c q1c −q2c ⎥ ⎢q̂2 ⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ (39)
⎣e3 ⎦ ⎣ q2c −q1c q4c −q3c ⎦ ⎣q̂3 ⎦
e4 q1c q2c q3c q4c q̂4

where qic is the commanded quaternion and q̂i is the estimated attitude quaternion.
As an attitude controller a PID-controller with slew rate limit is chosen. The control
torque input τ is calculated using Eq. 40 [19].
    
1
τ = −I 2k sat e + e + cω (40)
Li T

where k is the proportional controller gain. The integral controller gain is given by
k/T , where T is the time constant of the integral controller and c is the derivative
controller gain. The controller gains can be set using

k = ωn2 + 2ζ ωn /T (41a)

c = 2ζ ωn + 1/T (41b)

where ωn , ζ and T have to be properly selected. In order to achieve the slew rate
limit, a saturation limit is calculated using Eq. 42.
 
L i = (c/2k) min 4ai |ei |, |ωi |max (42)

where |ωi |max is the maximum angular rate about each axis and ai is the maximum
control acceleration about the ith axis.
Maximum Null Motion Algorithm for Single … 699

4 Steering Law

The steering law is responsible for the control allocation of the CMGs. It uses the
commanded torque calculated by the attitude controller to determine the commanded
gimbal angles or rates of each CMG.
This chapter will first give the Inverse controller used in the simulations in
Sect. 4.1. This is followed by an old and an improved Null Motion algorithm in
Sect. 4.2.

4.1 Steering Law Allowing Torque Error

The steering law is derived by solving the following minimization problem [1]

1 T
min P = E KE (43)
θ̇ 2

where

ḣ − C θ̇
E= (44)
θ̇

K1 0
K= (45)
0 K2

and K 1 > 0, K 2 > 0 are weighting matrices. Substituting Eqs. 44 and 45 in Eq. 43
taking the partial derivative and equating it to zero gives

∂P
T
= K 2 θ̇ − C T K 1 ḣ + C T K 1 C θ̇ = 0 (46)
∂ θ̇

Solving this equation for θ̇ and setting ḣ as the required torque gives
 −1 T
θ̇ = C T K 1 C + K 2 C K 1 ḣr eq
 −1
= K 2 C C K 2 C + K −1
−1 T −1 T
1 ḣr eq (47)

When the weighting matrices K 1 and K 2 are chosen as the identity matrix the
Pseudo Inverse steering law given by Eq. 6 is obtained. As discussed in Chap. 2, this
method fails if rank(C) < 3 and the CMGs are in a singular state. By choosing K 1
and K 2 such that the inverse of C T K 1 C + K 2 exists, it is sometimes possible to
escape the singularity. Several methods have been suggested in literature [1, 5, 15,
18], of which two will be given below.
700 S.A.V. Schallig et al.

4.1.1 Singularity Robust

The Singularity Robust (SR) steering law is given by


 −1
θ̇ = C T CC T + λI ḣr eq (48)

where λ is a scalar which has to be properly selected [1]. This method adds a torque
error based on the value of λ. This λ is a trade-off between the exact solution given
by Eq. 47 and the bound on the gimbal rates. However, this method fails when the
system is singular and a torque is requested along the singular direction. A different
steering law which overcomes this problem is given in the next section.

4.1.2 Generalized Singularity Robust

The Generalized SR Inverse steering law given by


 −1
θ̇ = C T CC T + λE ḣr eq (49)

where ⎡ ⎤
1 ε3 ε2
E = ⎣ε3 1 ε1 ⎦ > 0 (50)
ε2 ε1 1

and εi = 0.01 sin (0.5π t + φi ) with φ1 = 0, φ2 = π/2 and φ3 = π [18]. This steer-
ing law always gives a non-zero gimbal rate command for a non-zero ḣr eq . Therefore,
any internal singularity can be escaped using the Generalized SR Inverse steering
law.
Both methods use the scalar λ to add the torque error. There are several methods
which can be used to select this value [1, 10, 18], this paper uses Algorithm 1

Algorithm 1 Calculation of scalar λ


if m < m cr then
λ=0
else
if λm0 < λmax then
λ = λm0
else
λ = λmax
end if
end if

where m cr is the critical value of m, λ0 is a constant and λmax is the maximum value
of the weighting factor [1]. The method does not include any torque error when the
system is away from a singularity and the maximum value is limited by λmax . This
Maximum Null Motion Algorithm for Single … 701

means the SR inverse steering law does not avoid singularities but steers away from
it when it approaches one.

4.2 Null Motion

Null motion is a motion of the CMGs which produces no net output torque on the
spacecraft. This can be used to, in some cases, avoid/escape internal singularities.
Internal singularities can be categorized in two groups depending if they can be
escaped through null motion. Hyperbolic singularities are escapable by means of
null motion, whereas elliptic singularities are not.
The null vector n lies in the null space of the Jacobian matrix C. It can be obtained
using different methods. This report will use the nondirectional null motion algorithm
given in Sect. 4.2.1. A new maximum null motion algorithm will be introduced in
Sect. 4.2.2.

4.2.1 Nondirectional Null Motion

In order to avoid local optimum solutions of gradient based Null motion algorithms,
a nondirectional Null Motion algorithm [1] was introduced as

θ̇ = C + ḣr eq + ρ (θ) n (51)

where C + is the steering law and



m 6 if m ≥ 1
ρ (θ ) = (52)
m −6 if m < 1

and the singularity measure m is given by


  
m= det CC T (53)

The null vector of the Jacobian matrix C is calculated using n = [C1 , C2 , C3 , C4 ],


where Ci = (−1)i+1 Mi is the order 3 Jacobian cofactor. Mi = det (Ji ) is the order
3 Jacobian minor and Ji = J with the ith column removed.
This nondirectional Null Motion algorithm always adds substantial null motion
with the goal to avoid locally optimal configurations. However, this algorithm does
not take into account the gimbal rate limits of the CMGs. When a CMG reaches its
gimbal rate limit, a torque error is obtained because the achieved gimbal rates are no
longer a null vector of the Jacobian matrix C.
702 S.A.V. Schallig et al.

4.2.2 Maximum Null Motion

To prevent Null motion from violating the gimbal rate limit, a new algorithm was
developed which limits the amount of Null motion. This Maximum Null motion
algorithm is shown in Algorithm 2.

Algorithm 2 Maximum Null Motion


θ̇ nn = C + ḣr eq
n = [C1 , C2 , C3 , C4 ]
if m < 1 then
ρ = m −6
else
ρ = m6
end if
for i=1,4 do 
ρlim = θ̇max − θ̇ nn (i) /n (i)
if ρ > ρlim then
ρ = ρlim
end if
end for

where θ̇ nn is the commanded gimbal rate with no Null Motion caused by the Inverse
Steering law. The null vector is calculated the same way as with the nondirectional
Null Motion and the commanded gimbal angles are calculated using Eq. 51. The
innovation of this new method is that the amount of Null Motion is limited by the
available gimbal rate.
The amount of Null Motion is based on the singularity measure given by Eq. 53.
This value is always positive, which means that Null Motion is always applied towards
one direction. Switching this direction, and using e.g. the direction which can achieve
the most amount of Null Motion, can cause high frequency change in gimbal rates
around the equilibrium point. Therefore, switching the direction of Null Motion
is only applied when θ̇ c > θ̇max and only when the negative direction produces a
smaller gimbal rate command than the positive direction. This can only happen
when the gimbal rate command by the steering law without Null Motion produces a
higher gimbal rate command than the gimbal rate limit. An overview of this method
is shown in Algorithm 3.

5 Performance Metrics

In order to evaluate the different steering laws and null motions algorithms, several
performance metrics will be used. The first criterion which will be evaluated is
whether the singularity is avoided or not. For this, the singularity measure given by
Eq. 53 will be used. This value will become zero when the system is singular.
Maximum Null Motion Algorithm for Single … 703

Algorithm 3 Null Motion Direction


θ̇ = C + ḣr eq + ρ (θ) n 
θ̇c,max = max abs θ̇
ρnew = −ρ
for j=1,4 do 
if abs θ̇ ( j) > θ̇max then
for i=1,4 do 
ρlim = −θ̇max − n (i) /n (i)
if ρnew < ρlim then
ρnew = −ρlim
end if
end for
break
end if
end for 
if max abs C + ḣr eq + ρnew n < θ̇c,max then
ρ = ρnew
end if

Secondly, the pointing error will be used as a performance metric. This value is
calculated as the cumulative absolute error. For a constant torque command, this will
be the sum of the absolute error between generated and commanded torque in the
three principle directions. For the pointing task, this will be the sum of the first three
elements of the absolute difference between the true and commanded quaternion.
Finally, the cumulative absolute gimbal- angles and rates are added for all gimbals,
respectively. This gives a measure of how much the gimbals are moved and how fast
they are accelerated. Since a major problem with CMGs is their reliability, it is
assumed that large CMG movements and accelerations are bad and that the steering
algorithms which produce low scores on these metrics are preferred.

6 Simulation and Discussion

The different steering laws discussed in Sect. 4 are evaluated using the performance
metrics discussed in Sect. 5. The simulations uses the four CMG pyramid configura-
tion with α = 53.13 deg. The gimbal dynamics are included with ωn = 50 rad/s and
ζ = 0.7 and a gimbal rate limit of θ̇max = 2 rad/s is applied.

6.1 Station Keeping

The majority of time a spacecraft will be in station keeping mode during which a
given attitude has to be maintained. Figures 2 and 3 show a station keeping task during
704 S.A.V. Schallig et al.

0 10-3
3
-0.005 Reference
2 No Null Motion
-0.01 Nondirectional
Reference 1 Maximum Null
-0.015
q1

q2
No Null Motion
Nondirectional 0
-0.02 Maximum Null
-0.025 -1
-0.03 -2
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Time - sec Time - sec
5
10-3
1

0 0.9999
Reference
Reference 0.9998 No Null Motion
q3

q4
-5 No Null Motion
Nondirectional
Nondirectional 0.9997 Maximum Null
Maximum Null
-10
0.9996
-15 0.9995
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Time - sec Time - sec
(a) Attitude Quaternions

3 1

2 0
θ1 − rad

θ2 − rad

1 -1
No Null Motion
No Null Motion
0 Nondirectional
-2 Nondirectional
Maximum Null
Maximum Null
-1 -3
0 2 4 6 8 0 2 4 6 8
Time - sec Time - sec
1 4
No Null Motion
0 3
θ3 − rad

Nondirectional
θ4 − rad

Maximum Null
2
-1
1 No Null Motion
-2 Nondirectional
0 Maximum Null

-3 -1
0 2 4 6 8 0 2 4 6 8
Time - sec Time - sec
(b) Gimbal angles

Fig. 2 Quaternions and gimbal angles of the Generalized SR steering law with different null motion
algorithms for a station keeping task of q̄ = [0 0 0 1] under a constant disturbance torque

which the spacecraft has to maintain an attitude of q̄ = [0 0 0 1] under a constant


disturbance torque of T ext = [−0.5 0 0]T . The torque command is generated using
the attitude controller given in Sect. 3.3.4.
Figure 2a shows the attitude quaternions during the station keeping task. This
figure shows that when no null motion is included the Generalized SR steering law
introduces a torque error to pass the internal singularity at three seconds. The two null
motion algorithms pass this singularity with less torque error. This results in a lower
pointing error as shown in Fig. 3b. The maximum null motion algorithm performs
Maximum Null Motion Algorithm for Single … 705

4 No Null Motion
3 No Null Motion
Nondirectional Nondirectional
2 Maximum Null
2 Maximum Null
θ̇1 − rad

θ̇2 − rad
1
0
0
-2 -1
-4 -2
0 2 4 6 8 0 2 4 6 8
Time - sec Time - sec
No Null Motion
4 3
Nondirectional No Null Motion
Maximum Null Nondirectional
2 2
Maximum Null
θ̇3 − rad

θ̇4 − rad
1
0
0
-2 -1
-4 -2
0 2 4 6 8 0 2 4 6 8
Time - sec Time - sec
(a) Gimbal rates

Singularity Measure Pointing Error


1.5 No Null Motion
0.15
Nondirectional No Null Motion
Maximum Null Nondirectional
1 0.1 Maximum Null
m

0.5 0.05

0 0
0 2 4 6 8 0 2 4 6 8
Time - sec Time - s

Gimbal Distance Gimbal Rate


30 150
No Null Motion No Null Motion
Nondirectional Nondirectional
20 Maximum Null 100 Maximum Null
rad/s
rad

10 50

0 0
0 2 4 6 8 0 2 4 6 8
Time - s Time - s
(b) Performance metrics
Fig. 3 Gimbal rates and performance metrics of the Generalized SR steering law with different null
motion algorithms for a station keeping task of q̄ = [0 0 0 1] under a constant disturbance torque

better than the nondirectional one. After approximately 7.5 s the pointing error will
keep increasing with a constant rate, because the system of CMGs is saturated and
cannot generate torque to counter the disturbance.
706 S.A.V. Schallig et al.

The reduced pointing error of the maximum null motion algorithm does come at
the cost of an higher change in gimbal rates, as shown in Fig. 3. There are higher
fluctuations in the gimbal rates for the maximum null motion algorithm which results
in a higher gimbal rate performance metric.

7 Conclusions and Recommendations

A spacecraft containing SGCMGs was simulated using the complete equations of


motion, gimbal dynamics, gimbal rate limit and including system and sensor noise.
A new maximum null motion algorithm was developed which performs better than
the nondirectional algorithm for a constant torque request using both the SR and
Generalized SR Inverse steering law. This is especially relevant for station keeping
tasks of the spacecraft under the influence of a constant disturbance torque.
The maximum null algorithm has better performance than the traditional method,
but this comes at the cost of higher changes in gimbal angles and rates. Therefore,
in practical applications a trade-off is required between the pointing error and the
work done by the CMGs. This paper showed that, even including system and sensor
noise, the inherent singularity problem of single gimbal control moment gyroscopes
remains a serious issue.
This paper described how CMGs can be used for a station keeping task. How-
ever, some spacecraft also require precision tracking capabilities. In some cases the
required trajectory is known in advanced, so nonlinear optimization algorithms can
be used to determine the optimal path in advance. However, in other cases the required
trajectory might not be known for which new methods should be developed.

References

1. Bedrossian NS, Paradiso J, Stark C, Rowell D (1990) Steering law design for redundant single-
gimbal control moment gyroscopes. J Guid Control Dyn 13(6):1083–1089
2. Chubb W, Seltzer S (1971) Skylab attitude and pointing control system. NASA TN D-6068
(February). http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19710007043.pdf
3. Clark C, Worrall K, Yavuzoglu E (2010) A control moment gyro for dynamic attitude control
of small satellites conference on small satellites. In: AIAA/USU conference on small satellites.
http://digitalcommons.usu.edu/smallsat/2010/all2010/68/
4. Crassidis JL, Markley FL, Cheng Y (2007) Survey of nonlinear attitude estimation methods. J
Guid Control Dyn 30(1):12–28. https://doi.org/10.2514/1.22452
5. Ford KA, Hall CD (2000) Singular direction avoidance steering for control-moment gyros. J
Guid Control Dyn 23(4):648–656. https://doi.org/10.2514/2.4610
6. Kurokawa H (1998) A geometric study of single gimbal control moment gyros. Technical
report 175, Report of Mechanical Engineering
7. Kurokawa H (2007) Survey of theory and steering laws of single-gimbal control moment gyros.
J Guid Control Dyn 30(5):1331–1340. https://doi.org/10.2514/1.27316
8. Lefferts EJ, Markley EL, Shuster MD (1982) A I AA-8 2-0070 Estimation. In: AIAA 20th
aerospace sciences meeting
Maximum Null Motion Algorithm for Single … 707

9. Markley FL, Crassidis JL (2014) Fundamentals of spacecraft attitude determination and control.
Springer, Berlin
10. Nakamura Y, Hanafusa H (1986) Inverse kinematic solutions with singularity robustness for
robot manipulator control. J Dyn Syst Meas Control 108(3):163–171. http://dynamicsystems.
asmedigitalcollection.asme.org/article.aspx?articleid=1403812
11. Oh H, Vadali S (1989) Feedback control and steering laws for spacecraft using single gimbal
control moment gyros
12. Roser X, Sghedoni M (1997) Control Moment Gyroscopes (CMG’S) and their application in
future scientific missions. In: Proceedings third international conference on spacecraft guid-
ance, navigation and control systems, pp 523–528
13. Ross CH, Worley E (1971) Optimized Momentum and Attitude Control System (MACS) for
skylab. In: AIAA guidance, control and flight mechanics conference, vol 71-938
14. Trawny N, Roumeliotis SI (2005) Indirect Kalman filter for 3D attitude estimation, Department
of Computer Science & Engineering (2005-002), pp 1–25. https://doi.org/10.2514/6.2005-
6052. http://www-users.cs.umn.edu/~trawny/Publications/Quaternions_3D.pdf
15. Wie B (2005) Singularity escape/avoidance steering logic for control moment gyro systems. J
Guid Control Dyn 28(5): 948–956. https://doi.org/10.2514/1.10136
16. Wie B (2008) Space vehicle dynamics and control. In: AIAA educational series
17. Wie B, Byun KW, Warren VW (1988) A new momentum management controller for the space
station. Technical report. https://doi.org/10.2514/6.1988-4132
18. Wie B, Bailey D, Heiberg C (2001) Singularity robust steering logic for redundant single-
gimbal control moment gyros. J Guid Control Dyn 24(5):865–872. https://doi.org/10.2514/2.
4799
19. Wie B, Bailey D, Heiberg C (2002) Rapid multitarget acquisition and pointing control of agile
spacecraft. J Guid Control Dyn 25(1):96–104. https://doi.org/10.2514/2.4854
Immersion and Invariance Adaptive
Backstepping Spacecraft Attitude Control
with Modified Rodrigues Parameters

Guilherme F. Trigo and Qi-Ping Chu

1 Introduction

The ever-wider span of satellite applications brought a generalized demand for


smaller and cheaper spacecraft. Smaller scale, however, carries higher vulnerabil-
ity to disturbances and lower power capacity, reinforcing the need for increasingly
robust and efficient Attitude Control Systems (ACSs). In 2007, Delft University of
Technology and Beijing’s Tsinghua University joined efforts and started the For-
mation for Atmospheric Science and Technology demonstration (FAST) [5, 6, 17].
The mission consists of the formation flying of two micro-satellites that will collect
high atmospheric data. Due to its academic nature, and adding to the limitations and
vulnerabilities of small size/weight, the ACS of FAST-D, the Dutch element of the
swarm, faces several challenges such as high pointing accuracy and stability require-
ments, limited precision of moment of inertia information, and possible moving parts
among carried instruments.
The most used solution for such attitude control problem involves the application
of linear robust laws in a scheduled manner, resulting in a limited operation envelope
in which the system has conservative and uneven performance [13]. Alternatively,
nonlinear control laws provide (in most cases) full-envelope control with consistent
performance. However, for relying deeply on the correct modelling of the system,
the most used nonlinear laws are particularly vulnerable to disturbances or unmod-
elled dynamics. Adaptive schemes are a common remedy in this case. Due to their
strong stability basis, Lyapunov-based control laws (e.g. Backstepping [14]) lend
themselves particularly well to adaptive feedback feature.

G.F. Trigo (B)


GNC Systems Department, German Aerospace Center (DLR),
Institute of Space Systems, Bremen, Germany
e-mail: guilherme.trigo@dlr.de
Q.-P. Chu
Faculty of Aerospace Engineering, Control and Simulation Department,
Delft University of Technology, Delft, The Netherlands
© Springer International Publishing AG 2018 709
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_38
710 G.F. Trigo and Q.-P. Chu

Adaptive Backstepping by Tuning Functions is a well-known technique in which


control and adaptation are derived together following Lyapunov stability conditions
[9]. Despite their stability properties, these laws are hard to tune as faster adaptation
does not necessarily yield better transient performance. Li et al. [16] applied this
method to control the attitude of a spacecraft with uncertain inertia.
A different approach combines, in a modular adaptive scheme, the Backstepping
control law with the estimates given by a non-Lyapunov identifier such as the recur-
sive least-squares identifier [25] or the high-gain observer [2]. Since the certainty
equivalence principle does not usually hold for nonlinear systems, this configuration
requires the addition of nonlinear damping terms for robustness against estimation
error growth [15]. This emend, however, can yield undesirably high gain control.
A more recently developed Lyapunov-based adaptive control method employs the
Immersion and Invariance (I&I) theory [1, 10–12]. In this framework the estimation
error can be assigned a stable dynamics, making it easier to tune than the Tuning
Function in the traditional adaptive Backstepping. The estimation law obtained with
this method can be combined with a Backstepping controller as done by Sonneveldt
et al. [22] to adaptively control a fighter aircraft model.
In this contribution we show that the I&I adaptive Backstepping approach is input-
to-state stable for a class of strict-feedback systems with time-varying parametric
uncertainties. This new stability result allows for a rather general description of the
spacecraft uncertainties in the design, as a sum of potentially time-variant disturbance
torques. The proposed I&I adaptive attitude controller for this model is derived using
command filters which not only simplifies the concept but also provides means of
limiting the control signals [3, 28]. Use of a three-element parametrization as the
Modified Rodrigues Parameters further simplifies the design in comparison to a
quaternion-based one.
We start by introducing the spacecraft model used for the control design. Then, the
concept of Immersion and Invariance and its application to adaptive Backstepping
are briefly explained. The stability proof of such a control law for a class of systems
with varying uncertainties is then shown. Coming to the attitude control design, first
a baseline Standard Backstepping attitude controller is constructed, which then is
used to draw the I&I adaptive Backstepping attitude control law. A Tuning Functions
adaptive Backstepping law is also derived. Finally, comparative testing of the three
controllers is carried out for nominal and disturbed scenarios.

2 Spacecraft Model

2.1 Modified Rodrigues Parameters

The Modified Rodrigues Parameters (MRP) are a three-element attitude representa-


tion obtained by stereographical projection of the sphere of quaternion parameters
[20, 21]. In its positive form, with (0, 0, 0, −1) as point of infinity, the MRP vector
σ is given by
Immersion and Invariance Adaptive Backstepping … 711

q1:3
σ= , (1)
1 + q4

where q1:3 is the quaternion vector part and q4 is the scalar part. This transformation
makes the MRP representation the most near-linearly behaving three-component
attitude parametrization [8]. The Direction Cosine Matrix (DCM) corresponding to
the rotation represented by σ is given by

1 − |σ|2 8
C(σ) = I − 4  2 [σ×] +  2 [σ×] ,
2
(2)
1 + |σ| 2 1 + |σ| 2

where [σ×] is a skew-symmetric matrix of σ and I is a 3 × 3 identity matrix. The


MRP kinematics is written
σ̇ = B(σ)ω , (3)

with
1 1  1 T
B(σ) = [σ×] + 1 − |σ|2 I + σσ , (4)
2 4 2
where ω is the angular velocity between the reference frames selected for the defin-
ition of the attitude.
The following identities will be useful when defining the control laws later on

B(σ)C(σ) = B(−σ) (5)


C(σ)σ = σ . (6)

Local Vertical Frame and Attitude Kinematics


Given the Earth observation mission of the spacecraft under study, it is convenient
to consider its attitude with respect to an orbital nadir-pointing frame. The Local-
Vertical Local-Horizontal (LVLH) or Orbital frame, denoted O, is centered on the
spacecraft CoM, has the z-axis pointing to the center of the Earth, the y-axis pointing
in the negative direction of the orbital angular momentum, and the x-axis completing
the right-handed frame.
The attitude of the spacecraft Body-fixed reference frame B with respect to this
Orbital frame, given by σ OB , follows a kinematics law of the form of (3), i.e.

σ̇ OB = B(σ OB )ω BB O , (7)

where the body angular velocity with respect to the Orbital frame can be split as

ω BB O = ω BB I − C OB n OO I . (8)

ω BB I is the absolute angular velocity of the spacecraft written in Body coordinates


and n OO I the angular velocity vector of the Orbital frame. The latter is given in terms
712 G.F. Trigo and Q.-P. Chu

 T
of the orbital rate value, n o , as n OO I = 0 −n o 0 . The direction cosine matrix C OB
from Orbital to Body frame is computed from σ OB using Expression (2) as

C OB  C(σ OB ) . (9)

Attitude Error Kinematics


The attitude error parameter δσ is here defined as representing the rotation from the
desired attitude σ O,r
B
to the actual one σ OB , i.e.

σ OB = δσ ⊗ σ O,r
B
, (10)

where ⊗ denotes MRP composition.1


Inverting (10) yields
 
  (1 − |σ r |2 )σ − 1 − |σ|2 σ r + 2σ × σ r
δσ = σ OB ⊗ −σ O,r =
B
, (11)
1 + |σ|2 |σ r |2 + 2σ T σ r

where the reference frame super/subscripts were omitted for simplicity.


The MRP error kinematics follows

δ σ̇ = B (δσ) δω , (12)

with angular velocity error given as


 
δω = ω BB I − C σ OB n OO I − C(δσ)ω BB O,r , (13)

where ω BB O,r is the reference angular velocity.


As it will become evident later on, the error kinematics given in the standard
kinematics form by (12) will ease the controller derivation when compared to a
partial derivative differential equation form.

2.2 Attitude Dynamics

Considering the spacecraft a rigid-body, the body attitude dynamics with respect to
an inertial frame I is given by [26]

J B ω̇ BB I = − BB I h BB I + m B , (14)

1 The rotation represented by σ a ⊗ σ b is equivalent to that given by left DCM multiplication


C (σ a ) C (σ b ).
Immersion and Invariance Adaptive Backstepping … 713

where  BB I is the skew symmetric matrix of ω BB I , h BB I = J B ω BB I is the total angular


momentum, J B is the inertia tensor and m B is the sum of all external torques applied
to the spacecraft. This latter term is considered to include a gravity gradient induced
torque mgB , a control input torque mcB and an unknown (potentially time-variant)
disturbance torque mdB ,
m B = mgB + mcB + mdB . (15)

The gravity gradient induced torque is modelled as [27]


 
mgB = 3n 2o c3 (σ OB )× J B c3 (σ OB ) , (16)

where c3 (σ OB ) is the third column of the direction cosine matrix (9).

3 Immersion and Invariance Adaptive Control

This section presents the Immersion and Invariance (I&I) framework, first proposed
by Astolfi et al. [1], and its combination with Backstepping control methodology.
After a brief introduction to the concept of I&I, the general design logic of an I&I-
based adaptive Backstepping controller is explained. For a more detailed version of
the text presented in this section please refer to [23].
The name of the I&I framework comes from the fact that the design method uses
an immersion of the system into the desired dynamics together with the definition of
an invariant manifold. It can be used to adaptively stabilize systems with uncertain
parameters. To illustrate how, consider the scalar system

ẋ = f (x) + g(x)u , (17)

where x ∈ R, u ∈ R and the function f (x) depends linearly on the unknown para-
meter θ ∈ R as
f (x) = f 0 (x) + f θ (x)θ , (18)

for some known functions f 0 (x) : R → R and f θ (x) : R → R. Assume, in a cer-


tainty equivalence manner, that there exists a full-information control law u = v(x, θ)
such that the closed-loop system

ẋ = f ∗ (x) = f (x) + g(x)v(x, θ) (19)

has a globally asymptotically stable equilibrium at x = x∗ .


The problem is solved by finding β(x) and w(x, θ̂) such that all trajectories of the
extended system
714 G.F. Trigo and Q.-P. Chu

ẋ = f (x) + g(x)v(x, θ̂ + β(x))
(20)
˙
θ̂ = w(x, θ̂)

are bounded and satisfy


 
lim g(x)v(x, θ̂ + β(x)) − g(x)v(x, θ) = 0 . (21)
t→∞

If such task is possible, system (17) is said to be Adaptively I&I Stabilizable.


Condition (21) is satisfied for all trajectories converging to the manifold

M = (x, θ̂) ∈ R2 | θ̂ − θ + β(x) = 0 , (22)

i.e. if M is attractive.
Note that, despite departing from a certainty equivalence philosophy, the con-
troller developed by I&I method does not follow the certainty equivalence principle,
in the sense that the parameter estimate is not applied directly to the full-information
feedback law. Instead, the true parameter θ is replaced by θ̂ + β(x), where the func-
tion β(x) adds a “proportional” action to the “integral” action of the estimate update
law. For so, this kind of adaptive scheme is also known as nonlinear PI adaptation.

3.1 I&I-Based Adaptive Backstepping Control

The Immersion and Invariance control design principles introduced can be syn-
thesized for the adaptive controller design for nth order parametric strict-feedback
systems. Consider a system of the form

ẋ1 = f 1 (x1 ) + g1 (x1 )x2 + ϕ1 (x1 )θ1


ẋ2 = f 2 (x1 , x2 ) + g2 (x1 , x2 )x3 + ϕ2 (x2 )θ2
.. (23)
.
ẋn = f n (x1 , x2 , . . . , xn ) + gn (x1 , x2 , . . . , xn )u + ϕn (xn )θn

where u ∈ R, the functions gi (x1 , . . . , xi ) = 0 ∀ (x1 , . . . , xn ) ∈ Rn , ϕi (xi ) : R →


R are known smooth nonlinear functions and θi ∈ R are constant unknown para-
meters. The goal is to make x1 asymptotically track a sufficiently smooth reference yr .
Estimator Design
The first step is the design of an observer for the constant uncertainties θi . To this
end, define the off-the-manifold (error) coordinates

ηi = θ̂i − θi + βi (xi ) , i ∈ {1, 2, . . . , n} (24)


Immersion and Invariance Adaptive Backstepping … 715

where the estimates θ̂i are the observer states and βi (xi ) : R → R are smooth func-
tions that will be defined later on. The error dynamics is given by

˙ ∂βi
η̇i = θ̂i + ( f i + gi xi+1 + ϕi θi )
∂xi
˙ ∂βi
= θ̂i + f i + gi xi+1 + ϕi θ̂i + βi − ηi (25)
∂xi

˙
where xn+1  u. The update law θ̂i can be define in such a way that it cancels the
known parts of (25). This can be done by writing

∂βi
˙
θ̂i = − f i + gi xi+1 + ϕi θ̂i + βi (26)
∂xi

which yields
∂βi
η̇i = − ϕi ηi (27)
∂xi

The error system (27) for i = 1, 2, . . . , n can be seen as linear time-varying,


requiring for stability that the diagonal blocks in the dynamic matrix are rendered
negative semi-definite. A choice of βi that results in such is
xi
βi = γi ϕi (χ)dχ , γi > 0 (28)
0

Lemma 1 The error system (27), with functions βi given as in (28) has a uniformly
globally stable equilibrium at the origin. Furthermore, ηi ∈ L∞ and ϕi ηi ∈ L2 ,
∀i ∈ {1, 2, . . . , n} and ∀xi (t). Additionally, if the regressor functions ϕi and their
time-derivatives are bounded, then ϕi ηi → 0.
n
Proof Consider the Lyapunov function W = i=1 ηi2 . Its time-derivative along (27)
satisfies

n  xi 

Ẇ = −2 γi ϕi (χ)dχ ϕi ηi2
i=1
∂xi 0


n
= −2 γi (ϕi ηi )2 < 0 , ∀ ϕi ηi = 0
i=1

Noted that, by Lemma 1 and definition of (24), an estimate is obtained for each
ϕi θi of the system (23) instead of θi . These estimates are given by ϕi (θ̂i + βi ).
716 G.F. Trigo and Q.-P. Chu

Control Law Design


Done the general design of the estimator the backstepping control law for I&I design
can now be defined. The design here presented includes command filters. This feature,
not only reduces the derivation burden by avoiding the analytic computation of
the time-derivatives of the virtual input signals, but also allows constraining of the
magnitude and rate of the filtered signals [4].
The controller design starts by defining the tracking error coordinates

z i = xi − xi,c , i ∈ {1, 2, . . . , n} , (29)

with xi,c  yr . The signals xi,c are commanded states that are still to be defined. The
inclusion of command filters requires the use of compensated error coordinates

z̄ i = z i − χi , (30)

where χi accounts for the effect of the command filters and will be defined further
in the design. The dynamics of the compensated errors is given by

z̄˙ i = ż i − χ̇i = f i + gi xi+1 + ϕi θi − ẋi,c − χ̇i , (31)

where xn+1  u. Let the raw control signals be defined as



0
xi+1,c = gi−1 − f i − ki z i − gi−1 z̄ i−1 − ϕi (θ̂i + βi ) + ẋi,c − χi+1 , i ∈ {1, 2, . . . , n − 1}

u 0 = gn−1 − f n − kn z n − gn−1 z̄ n−1 − ϕn (θ̂n + βn ) + ẋn,c , (32)

with ki > 0, kn > 0, ẋ1,c  ẏr , z̄ 0 = 0 and g0 = 0. These signals are low-pass filtered
to produce xi+1,c and u and their derivatives ẋi+1,c and u̇ [3]. The effect of the filter
on the error coordinates is estimated by

χ̇i = −ki χi + gi (xi+1,c − xi+1,c


0
) , i ∈ {1, 2, . . . , n − 1}
(33)
χ̇n = −kn χn + gn (u − u 0 ) .

Applying (32) and (33) to (31) yields


 
z̄˙ i = f i + gi z i+1 + gi xi+1,c − xi+1,c
0
+ gi xi+1,c
0
+ ϕi θi − ẋi,c − χ̇i
= −ki z̄ i − ϕi ηi + gi z̄ i+1 − gi−1 z̄ i−1 , i ∈ {1, 2, . . . , n − 1} (34)
 
˙z̄ n = f n + gn u − u 0 + gn u 0 + ϕn θn − ẋn,c − χ̇n
= −kn z̄ n − ϕn ηn − gn−1 z̄ n−1 . (35)

The stability
n of 2the closed-loop system is evaluated defining the Lyapunov function
V = W + i=1 z̄ i , whose time-derivative along the trajectories of z̄˙ i is
Immersion and Invariance Adaptive Backstepping … 717


n−1
V̇ = Ẇ + 2 z̄ i (−ki z̄ i − ϕi ηi + gi z̄ i+1 − gi−1 z̄ i−1 ) + 2z̄ n (−kn z̄ n − ϕn ηn − gn−1 z̄ n−1 )
i=1

n 
n 
n−1 
n−1
= Ẇ − 2 ki z̄ i2 − 2 z̄ i ϕi ηi + 2 z̄ i gi z̄ i+1 − 2 z̄ i gi−1 z̄ i−1 − 2z̄ n gn−1 z̄ n−1
i=1 i=1 i=1 i=1
n n
= Ẇ − 2 ki z̄ i2 − 2 z̄ i ϕi ηi , (36)
i=1 i=1

to which the result of Lemma 1 can be applied yielding


n 
n 
n
V̇ = −2 ki z̄ i2 − 2 z̄ i ϕi ηi − 2 γi (ϕi ηi )2
i=1 i=1 i=1
   2
1  z̄ i2
n n n
1 z̄ i
= −2 ki z̄ i2 − 2 + γi ϕi ηi +
i=1 i=1 i
γ 2 2 i=1 γi
n  
1
≤ −2 ki − z̄ i2 . (37)
i=1
4γ i

For
1
k̄i = ki − >0 (38)
4γi

(37) becomes

n
V̇ ≤ −2 k̄i z̄ i2 < 0 , ∀z̄ i = 0 , (39)
i=1

proving the global stability of the origin of the compensated tracking errors of system
(23) adaptively I&I controlled by (32) together with the estimator designed in the
previous section. By Barbalat’s Lemma it is possible to further prove limt→∞ z̄ i =
0 and limt→∞ ϕi ηi = 0. If the command filters are designed with a high enough
bandwidth the compensation signals χi will be small, having a negligible effect on
the closed-loop system. Hence, the stability properties of z̄ i can, in that case, be
extended to the real tracking errors z i , rendering global tracking of the reference
signal. The formal proof of this statement is achieved using Singular Perturbation
Theory by Farrell et al. [3].

3.2 Stability-Proof for Time-Varying Uncertainties

The algorithm described thus far has unique stability properties in the case of constant
uncertain parameters. In this section, the stability properties of this law will be shown
for time-varying uncertainties in systems of the form of (23). The result of this novel
718 G.F. Trigo and Q.-P. Chu

proof greatly widens the application span of I&I-based adaptive control, by extending
its properties to systems with time-varying uncertainties.
Consider that, in system (23), θi = θi (t), i ∈ {1, 2, . . . , n}, are now scalar smooth
functions. The dynamics of the off-the-manifold coordinate is then given by

˙ ∂βi
η̇i = θ̂i − θ̇i + ẋi , (40)
∂xi

which, maintaining the same update law (26), yields

∂βi
η̇i = −θ̇i − ϕi ηi . (41)
∂xi

If βi is chosen as according to(28), by the result of Lemma 1, the time-derivative


n
of the Lyapunov function W = i=1 ηi2 along the trajectories of (41) is


n 
n
Ẇ = −2 γi (ϕi ηi )2 − 2 ηi θ̇i . (42)
i=1 i=1

Assume the following condition holds

|ϕi (xi )|−1 < ρi , ∀xi ∈ R , ∀i ∈ {1, . . . , n} , (43)

where ρi is a finite positive constant. Maintaining the control law designed in the
previous
n section, the time-derivative of a control Lyapunov function defined as V =
W + i=1 z̄ i2 , recalling (36), is now given by


n 
n 
n 
n
V̇ = −2 ki z̄ i2 − 2 z̄ i ϕi ηi − 2 γi (ϕi ηi )2 − 2 ηi θ̇i
i=1 i=1 i=1 i=1
n    2
 1 
n
1 
n
1 θ̇i 
n
θ̇i2
= −2 ki − z̄ i2 − (z̄ i + γi ϕi ηi )2 − + γi ϕi ηi +
2γi γi γi ϕi γi ϕi2
i=1 i=1 i=1 i=1
n 
n
ρi2
≤ −2 k̄i z̄ i2 +
θ̇i
2∞ , (44)
γi
i=1 i=1

where
1
k̄i = ki − > 0. (45)
2γi

Inequality (44) proves the input-to-state stability of the compensated error coor-
dinates, z̄ i , with respect to the time-derivative of the uncertainty, θ̇i . Hence, the
trajectories of the closed-loop system converge to a compact set around the origin
of the error coordinates that depends on ρi , γi and
θ̇i
∞ . Assuming (43) holds, and
knowing that all θi have bounded first time-derivative, then such set can be made
arbitrarily small by increasing the estimation gain γi .
Immersion and Invariance Adaptive Backstepping … 719

4 Attitude Controller Design

In this section the control theory described in the preceding one is applied to the
spacecraft model earlier derived. Such model can be represented simply as

σ̇ OB = f σ (σ OB ) + B(σ OB )ω BB I
(46)
J B ω̇ BB I = f ω (σ OB , ω BB I ) + mc + md

where f σ (σ OB ) holds the orbital angular velocity contribution to the MRP kinematics
(7), and f ω (σ OB , ω BB I ) contains the Coriolis and gravity gradient induced torques in
(14). mc is the control torque and md is a time-varying unknown disturbance torque.
Starting by neglecting the action of disturbances, a baseline Backstepping con-
troller using command filters is designed. Then, such controller is used as the full-
information law in the Immersion and Invariance adaptive design. Finally, to serve as
performance simulation comparison, an integrated adaptive Backstepping controller
with tuning functions estimation is designed based on the same baseline law. For
more details on the command filters used by these laws please refer to [23].

4.1 Non-adaptive Backstepping Controller

Assuming an undisturbed model (md = 0), a static Backstepping controller using


command filters can be designed defining the error coordinates

z1 = δσ and z2 = ω BB I − x2,c , (47)

which, for the use of such command filters, should be corrected as

z̄1 = z1 ⊗ (−χ1 ) and z̄2 = z2 − χ2 . (48)

where χ1 and χ2 will be defined later on.


The control law
 
0
x2,c = −K1 z̄1 + χ1 − B−1 (σ OB ) f σ (σ OB ) + C(χ1 )ω BB O,r − χ2 , K1 > 0
(49)
mc0 = −f ω (σ OB , ω BB I ) − K2 z2 + J ẋ2,c − z̄1 ,
B
K2 > 0
(50)

globally asymptotically stabilizes the origin of (z̄1 , z̄2 ) of the undisturbed system
(46). To prove this start by considering a command filter effect on the error coordi-
nates given by the stable systems
720 G.F. Trigo and Q.-P. Chu
 
χ̇1 = B(χ1 ) −K1 χ1 + x2,c − x2,c
0
(51)
J B χ̇2 = −K2 χ2 + mc − mc0 ,

0
where the raw control signals x2,c and mc0 are filtered to obtain x2,c and mc and their
time-derivatives. As done in [23], such command filtering also imposes limits on
value and rate of these signals.
Based on the result described by Tsiotras [24] the following Lemma will be used
to prove the stability properties of the problem at hand.
Lemma  2 The time-derivative of a control Lyapunov function defined as V =
2 log 1 + |σ|2 taken along the trajectories of the MRP kinematics σ̇ = B(σ)ω
is given by
T
V̇ = σ ω

Proof This result is obtained simply by taking the time-derivative of V and replacing
T
the MRP kinematics expression, noting that σ [σ×] = 0. 

The compensated error dynamics are written


   
z̄˙ 1 = B(z̄1 ) δω − C(z̄1 )B−1 χ1 χ̇1 (52)
z̄˙ 2 = (J B )−1 f ω (σ OB , ω BB I ) + mc − ẋ2,c − χ̇2 . (53)

Using the result of Lemma 2, the control Lyapunov function


  T
V = 2 log 1 + |z̄1 |2 + 1
2
z̄2 J B z̄2 (54)

has the time-derivative along (52) and (53) given by


T     T  
V̇ = z̄1 δω − C(z̄1 )B−1 χ1 χ̇1 + z̄2 f ω (σ OB , ω BB I ) + mc − J B ẋ2,c − J B χ̇2
T  
= z̄1 z2 + B−1 (σ OB ) f σ (σ OB ) − C(z̄1 )C(χ1 )ω OO I,r + K1 χ1 + x2,c
0

T  
+ z̄2 f ω (σ OB , ω BB I ) − J B ẋ2,c + K2 χ2 + mc0 , (55)

which, plugging in the control laws (49) and (50), yields


T     T  
V̇ = z̄1 z2 + K1 χ1 − K1 z̄1 + χ1 − χ2 + z̄2 K2 χ2 − K2 z2 − z̄1
T T
= − z̄1 K1 z̄1 − z̄2 K2 z̄2 < 0 , ∀(z̄1 , z̄2 ) = 0 , (56)

which, in turn, proves the global asymptotic stability of the error origin equilibrium.
Immersion and Invariance Adaptive Backstepping … 721

4.2 Immersion and Invariance Adaptive Backstepping


Controller

Considering now the presence of a time-variant smooth disturbance torque md in


system (46), the static controller derived in the previous section can be made adaptive
through the Immersion and Invariance design method, presented in Sect. 3.1, by using
the feedback law
mc0 = mc,BS
0
− m̂d − β(h BB I ) , (57)

0
where mc,BS is the non-adaptive Backstepping law (50) and β(h BB I ) is a function yet
to be defined. Notice that, since the uncertainty is matched in the dynamics loop, the
kinematics feedback law is kept the same.
As earlier described, the I&I procedure starts by defining an off-the-manifold
coordinate
η = m̂d − md + β(h BB I ) , (58)

which, in this case, has the dynamics

˙ d − ṁd +∂β(h BB I )  
η̇ = m̂ f ω (σ OB , ω BB I ) + mc + md
∂h B I
B

 
˙ d − ṁd + ∂β(h B I ) f (σ B , ω B ) + (mc − m0 ) + m0 + m̂d + β(h B ) − η
B
= m̂ ω O BI c c BI
∂h B I
B

∂β(h BI )
B  
˙ d − ṁd +
= m̂ −K2 z̄2 + J B χ̇2 + J B ẋ2,c − z̄1 − η . (59)
∂h B I
B

Defining the estimate update law as

 
˙ d = ∂β(h B I ) K2 z̄2 − J B χ̇ − J B ẋ2,c + z̄1 .
B
m̂ 2 (60)
∂h B I
B

renders (59)
∂β(h BB I )
η̇ = −ṁd − η. (61)
∂h BB I

Selecting a control Lyapunov function as


  T T
V = 2 log 1 + |z̄1 |2 + 1
2
z̄2 J B z̄2 + 1
2
η η (62)

and choosing
T
β(h BB I ) = Γ h BB I , Γ = Γ > 0, (63)

yields
722 G.F. Trigo and Q.-P. Chu

T T T T T
V̇ = −z̄1 K1 z̄1 − z̄2 K2 z̄2 − z̄2 η − 2η ṁd − η Γ η
T  
= −z̄1 K1 z̄1 − z̄2 K2 − 21 Γ −1 z̄2 − 21 (z̄2 + Γ η) Γ −1 (z̄2 + Γ η)
T T

 T  
− 21 η + Γ −1 ṁd Γ η + Γ −1 ṁd + 21 ṁd Γ −1 ṁd
T

ṁd Γ −1 ṁd .
T T T
≤ −z̄1 K1 z̄1 − z̄2 K̄2 z̄2 + 1
2
(64)

For
1
K̄2 = K2 − Γ −1 > 0 , (65)
2
condition (64) proves the input-to-state stability of (z̄1 , z̄2 ), and by proper filter design
also of (z1 , z2 ), with respect to ṁd , for the feedback (49) and (50) with estimate update
law (60) and β(h BB I ) function (63). Hence, for bounded ṁd , the compact set around
the origin to which the pair of tracking error coordinates converge to can be made
arbitrarily small by increasing the entries of the gain matrix Γ .

4.3 Adaptive Backstepping Controller with Tuning Functions

In order to compare the performance of the I&I adaptive design a “traditional” adap-
tive Backstepping controller with tuning function estimation is here developed. This
type of control law compensates for the presence of the disturbance term using the
feedback law
mc0 = mc,BS
0
− m̂d . (66)

0
where mc,BS is the non-adaptive Backstepping control law (50).
In the definition of the control Lyapunov function the estimation error δmd =
md − m̂d is accounted for as
 
δmd Λ−1 δmd ,
T T T
V = 2 log 1 + |z̄1 |2 + 1
2
z̄2 z̄2 + 1
2
Λ = Λ > 0. (67)

The time-derivative of such Lyapunov function is


T T T T
˙d
V̇ = −z̄1 K1 z̄1 − z̄2 K2 z̄2 + z̄2 δmd + δmd Λ−1 ṁd − δmd Λ−1 m̂
T


T T
˙ d − 1 (ṁd − δmd )T Λ−1 (ṁd − δmd )
= −z̄1 K1 z̄1 − z̄2 K2 z̄2 + δmdT z̄2 − Λ−1 m̂ 2

+ 21 ṁd Λ−1 ṁd + 21 δmd Λ−1 δmd


T T

≤ −z̄1 K1 z̄1 − z̄2 K2 z̄2 + 21 ṁd Λ−1 ṁd + 21 δmd Λ−1 δmd ,
T T T T
(68)

where inequality (68) is achieved through the choice of the estimate update law

˙ d = Proj (Λz̄2 ) .
m̂ (69)
Immersion and Invariance Adaptive Backstepping … 723

Notice that, in contrast to the I&I design case, here the pair of tracking errors is
input-to-state stable with respect to both ṁd and δmd , meaning that, in addition to the
smoothness condition of the disturbance torque, the estimation error has to remain
bounded. This is achieved by using the Projection operator (Proj) on the estimate
update law (69), which is here defined as done by [18]. Also in contrast with the I&I
framework is the fact that the estimate m̂d is not guaranteed to converge to actual
md , rather providing an integrative action to the rate control.

5 Simulation and Performance Analysis

In this section the designed controllers are tested and compared in the presence of
two different disturbance torques, separately applied, one produced by a saturated
uncontrolled reaction wheel and one originated by an oscillating payload part. The
disturbance dynamics model for each of this cases can be found in [23].
For fairness of comparison, the controller gains K1 and K2 were defined equally
for the three laws, as K1 = 0.4I and K2 = 5I. The adaptive gains were matched,
as Γ = 20I and Λ = 20I. The laws are here referred to as: S-BS, the (static) non-
adaptive Backstepping controller of Sect. 4.1; I&I-BS, the Immersion and Invariance
controller in Sect. 4.2; and TF-BS, the Tuning Functions adaptive Backstepping law
of Sect. 4.3. The attitude reference signal used includes a slew, a steady-pointing
period and a sweeping (or scanning) motion, as shows Fig. 1. The performance is
assessed through the evaluation of two error quantities: the absolute pointing error,
θe = 4 arctan (
δσ
), and the norm of the angular velocity tracking error, ωe =

ω BB I − x2,c
. The project requirements for the attitude controller’s performance are
θe ≤ 30 arcsec and ωe ≤ 1 arcsec/s. The spacecraft has the coarse inertia matrix J B =
diag ([3.083, 3.083, 2.083]) kg m2 , and flies in an approximately circular orbit of
650 km altitude, with orbital rate n o of 1.073 m rad/s. The control laws run at a rate
of 10 Hz.
Nominal Performance
In a disturbance-free scenario all three controllers succeed in maintaining the track-
ing errors bellow the required levels (Fig. 2). Table 1 shows the Root-Mean-Square
(RMS) pointing error. The non-adaptive and the I&I laws achieve a similar pointing

0.1
0.05
1

0
O,r ,

2
B

−0.05 3

−0.1
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 1 MRP attitude reference trajectory


724 G.F. Trigo and Q.-P. Chu

30
arcsec

20
10
e,

0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s
1
e , arcsec/s

S-BS
0.5 TF-BS
I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 2 Pointing and Rate tracking errors in nominal case

Table 1 Nominal case pointing error RMS


S-BS TF-BS I & I-BS
θe,RMS , arcsec 8.161 11.899 8.154

Table 2 Nominal case estimation error RMS


TF-BS I&I-BS

δmd
RMS , µNm 43.203 10.137

·10 −4

6 S-BS
Torque, Nm

4 TF-BS
2 I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 3 Actuation torque in nominal case

performance while the tuning functions one lags slightly behind. This is explained
by the integrative action of the adaptation law which promotes rate-tracking, com-
promising pointing accuracy. This is also reflected on the high RMS of the estimated
perturbation error in comparison to the I&I (Table 2). The actuation history is very
similar among the three controllers (Fig. 3), being differences only perceived when
computing the total workload (Table 3). This reveals a marginally higher effort by
the TF-BS law, certainly explained by the close tracking of the rate command.
Immersion and Invariance Adaptive Backstepping … 725

Table 3 Total workload in nominal case


S-BS TF-BS I&I-BS
Workload, mJ 1.5103 1.5104 1.5103

600
arcsec

400
200
e,

0
30
S-BS
arcsec

20
TF-BS
10
I&I-BS
e,

0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 4 Pointing error in the uncontrolled reaction-wheel case


arcsec/s

60
40
20
e,

0
e , arcsec/s

1 S-BS
TF-BS
0.5
I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 5 Rate tracking error in the uncontrolled reaction-wheel case

Uncontrolled Reaction Wheel


Wheel anomalies are one of the most common GNC-related failures. The Iridium 42
mission, for instance, failed due to a faulty tachometer in one of the wheels, which
lead to unknown real actuation [19]. In this test, the effect of an uncontrolled saturated
(redundant) reaction wheel is modelled. A 1 kg wheel is assumed stuck at 4200 rpm
producing a strong gyroscopic moment unknown to the control system. Figures 4
and 5 show that the non-adaptive control cannot cope with such a strong disturbance.
The adaptive laws, on the other hand, are quite successful in this case. While the TF-
BS controller sees a 54% pointing degradation (Table 4), the I&I-BS law is seemingly
undisturbed, maintaining virtually the same performance as in the nominal scenario.
This is explained by the extremely low disturbance estimation error by this controller
(Table 5), which is roughly one order of magnitude better than that of the TF law. The
726 G.F. Trigo and Q.-P. Chu

Table 4 Pointing error RMS in the uncontrolled reaction-wheel case


θe,RMS S-BS TF-BS I&I-BS
Value, arcsec 384.370 18.271 8.210
Ratio to nominal 47.099 1.536 1.007

Table 5 Estimation error RMS in the uncontrolled reaction-wheel case



δmd
RMS TF-BS I&I-BS
Value, µNm 148.957 15.915
Ratio to
md
RMS 0.044 0.005

10−3  d
Torque, Nm

 d :
10−7 TF-BS
I&I-BS
10−11
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 6 Total disturbance and estimation error norms in the uncontrolled reaction-wheel case

·10−3
6
S-BS
Torque, Nm

4
TF-BS
2 I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 7 Actuation torque in an uncontrolled reaction-wheel case

same can be seen in Fig. 6, where the estimation errors of the adaptive laws are plot
against the total disturbance (in norm). Note that, in this case, the TF-BS controller
does not manage to properly track the rate signal, violating the requirement. As
Fig. 7 shows, again, the laws’ control actions are nearly indistinguishable. The total
workload (Table 6) reveals that the adaptive schemes require slightly less effort. The
I&I-BS law is the least demanding here.

Table 6 Total workload in the uncontrolled reaction-wheel case


S-BS TF-BS I&I-BS
Workload, mJ 18.7416 18.7251 18.7237
Immersion and Invariance Adaptive Backstepping … 727

e , arcsec 30
20
10
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

4
e , arcsec/s

S-BS
2 TF-BS
I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 8 Pointing and Rate tracking errors in a moving payload case

Moving Payload
Many spacecraft instruments/payloads have moving parts. An example is the moving
mirror of NASA’s Geostationary Imaging Fourier Transform Spectrometer [7].
In the present case, a smaller spectrometer mirror is considered and assumed to
be unaccounted for in the control design. The piece, a 0.5 cm × 5 cm × 5 cm cuboid
of 30 g, oscillates about its own center of mass. Its angular orientation is modelled
as a sinusoidal function with 15 s of period and peak-to-peak amplitude of 90 deg.
While the required pointing is achieved by the three controllers (Fig. 8), although
with obvious oscillations on the part of S-BS and TF-BS, rate tracking proves to be
the main difficulty. Only the adaptive schemes comply with the rate requirement.
Among these the I&I is clearly the least disturbed, again, roughly maintaining its
nominal performance (Table 7). As Table 8 shows, the estimation deteriorated for
both adaptive laws with respect to the previous scenario. As before, the I&I observer
yielded about one order of magnitude lower estimation error than the TF law (Fig. 9).

Table 7 Pointing error RMS in a moving payload case


θe,RMS S-BS TF-BS I&I-BS
Value, arcsec 10.280 12.210 8.161
Ratio to nominal 1.260 1.026 1.001

Table 8 Estimation error RMS in a moving payload case



δmd
RMS TF-BS I&I-BS
Value, µNm 83.858 12.990
Ratio to
md
RMS 0.535 0.083
728 G.F. Trigo and Q.-P. Chu

10−4 md 
Torque, Nm

Error,  md :
10−5
TF-BS
10−6 I&I-BS
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 9 Total disturbance and estimation error norms in a moving payload case

·10−4
8
Torque, Nm

6 S-BS
4 TF-BS
2 I&I-BS
0
0 100 200 300 400 500 600 700 800 900 1000 1100
Time, s

Fig. 10 Actuation torque in a moving payload case

Table 9 Total workload in a moving payload case


S-BS TF-BS I&I-BS
Workload, mJ 1.6411 1.6394 1.6357

Figure 10 shows that, as in the two previous cases, control action is very similar
among the three controllers. The total workload, displayed on Table 9, reveals that
once again the I&I-BS demanded a notch less control action.

6 Conclusion

The I&I adaptive control framework, combined with nonlinear Backstepping, has
been used to develop an attitude controller for a micro-satellite. A novel input-to-
state stability result for a class of I&I controlled strict-feedback systems with time-
varying uncertainties has been introduced. This allowed a rather general modelling
of the rotational dynamics uncertainty. Results for two different severely disturbed
cases clearly revealed superior robustness of the I&I controller in comparison to a
baseline standard Backstepping law and to a “traditional” Tuning Functions adaptive
scheme. In fact, the I&I control law managed to virtually keep its nominal perfor-
mance in all scenarios, having in the disturbance-free case matched the baseline
(full-information) law. The tight tracking of the disturbance torque by the I&I esti-
mator greatly contributed to this result. Although the differences in control torque
were marginal in all cases, the proposed I&I law demanded the least control effort.
Immersion and Invariance Adaptive Backstepping … 729

References

1. Astolfi A, Ortega R (2001) Immersion and invariance: a new tool for stabilization and adaptive
control of nonlinear systems. In: IFAC symposium on nonlinear control system design
2. Atassi AN, Khalil HK (1999) A separation principle for the stabilizationof a class of nonlinear
systems. IEEE Trans Autom Control 44(9):1672–1687
3. Farrell JA, Polycarpou M, Sharma M (2003) Adaptive backstepping with magnitude, rate,
and bandwidth constraints: aircraft longitude control. In: Proceedings of the annual American
control conference
4. Farrell JA et al (2009) Command filtered backstepping. IEEE Trans Autom Control 54:1391–
1395
5. Gill E et al (2010) Atmospheric aerosol characterization with the Dutch-Chinese fast formation
flying mission. Acta Astronautica 66:1044–1051
6. Guo J et al (2009) Status of the FAST mission: micro-satellite formation flying for technology,
science and education. In: 60th international astronautical congress
7. Juang J (2004) Instrument attitude precision control. Technical report. Langley Research Center,
NASA, Virginia
8. Junkins JL, Singla P (2004) How nonlinear is it? a tutorial on nonlinearity of orbit and attitude
dynamics. J Astronaut Sci 52:7–60
9. Kanellakopoulos I, Kokotović P, Morse AS (1991) Systematic design of adaptive controllers
for feedback linearizable systems. IEEE Trans Autom Control 36(11):1241–1253
10. Karagiannis D, Astolfi A (2008) Nonlinear adaptive control of systems in feedback form: an
alternative to adaptive backstepping. Syst Control Lett 57:733–739
11. Karagiannis D, Astolfi A (2005) Nonlinear observer design using invariant manifolds and
applications. In: 44th IEEE conference on decision and control
12. Karagiannis D, Carnevale D, Astolfi A (2008) Invariant manifold based reduced-order observer
design for nonlinear systems. IEEE Trans Autom Control 53(11):2602–2614
13. Khalil HK (2002) Nonlinear systems, 3rd edn. Prentice Hall, Englewood Cliffs
14. Kokotović P, Arcak M (2001) Constructive nonlinear control: a historical perspective. Auti-
matica 37:637–662
15. Krstić M, Kanellakopoulos I, Kokotović V (1995) Nonlinear and adaptive control design.
Wiley-Interscience, New Jersey
16. Li C, Ma G (2007) Adaptive backstepping control for attitude tracking of a spacecraft. In: IEEE
international symposium on industrial electronics
17. Maessen D et al (2009) Mission design of the Dutch-Chinese FAST micro-satellite mission.
In: 7th IAA symposium on small satellites for earth observation
18. Pomet J, Praly L (1992) Adaptive nonlinear regulation: estimation from the Lyapunov equation.
IEEE Trans Autom Control 37:729–740
19. Robertson B, Stoneking E (2003) Satellite GN&C anomaly trends. In: 26th annual AAS guid-
ance and control conference
20. Schaub H, Junkins JL (1996) Stereographic orientation parameters for attitude dynamics: a
generalization of the Rodrigues parameters. J Astronaut Sci 44:1–19
21. Shuster MD (1993) A survey of attitude representations. J Astronaut Sci 41(4):439–517
22. Sonneveldt L et al (2010) Immersion and invariance based nonlinear adaptive flight control.
In: AIAA guidance, navigation and control conference and exhibit
23. Trigo GF (2011) Robust and adaptive nonlinear attitude control of a spacecraft: a comparison
of backstepping-based designs. MA thesis. Delft University of Technology
24. Tsiotras P (1994) New control laws for the attitude stabilization of rigid bodies. In: IFAC
symposium on automatic control in aerospace
25. van Oort ER et al (2010) Full envelope modular adaptive control of a fighter aircraft using
orthogonal least-squares. J Guid Navig Dyn 33(5):1461–1472
26. Wie B (2008) In: Schetz JA (ed) Space vehicle dynamics and control, 2nd edn. AIAA
27. Wiesel WE (1997) Spaceflight dynamics, 2nd edn. Irwin/McGraw-Hill
28. Yip PP, Hedrick JK (1998) Adaptive dynamic surface control: a simplified algorithm for adap-
tive backstepping control of nonlinear systems. Inter J Control 71:959–979
Terrain Relative Navigation for Planetary
Landing Using Stereo Vision Measurements
Obtained from Hazard Mapping

Svenja Woicke and Erwin Mooij

1 Introduction

The task of precision landings on other planets, moons, and asteroids has been
receiving an increasing amount of attention in recent years. For instance, NASA’s
Mars2020 lander, scheduled to land on Mars in 2020, is supposed to fly with a terrain-
relative navigation (TRN) capability, as it was found that 9 out of 10 potential landing
sites would require TRN for a safe landing [3]. This need is, of course, driven by the
desire to land in regions, which are more complex and contain more hazards than
those considered for its predecessor, the Mars Science Laboratory lander.
Desiring the capabilities to land in regions, which contain hazards, thus requiring
hazard avoidance, will always lead to the necessity of using TRN. This being said,
it can be concluded that if a TRN system is used, a hazard detection and avoidance
(HDA) system will likely also be in place. HDA can have various different appear-
ances, for this research we assume a set-up where hazard detection is done on-board,
in real-time and autonomously. Such a system will generate surface digital elevation
models (DEMs), as these are needed to compute slope and roughness of the local
terrain in the landing region. The same kind of data is used as input in some TRN
systems for their localisation efforts.
In this research we are trying to make use of the HDA DEMs as an input to the
TRN system. This is an effort to partially combine these two systems and decrease
the computational burden by reusing data, which is already generated. Since HDA
data is only available at a very late stage of the lander’s descent towards the surface,
it is attempted to increase the localisation relative to the image, and therefore a
landing site selected in the images. This means that our algorithm is not capable of
performing a pin-point landing with respect to an inertially defined landing site. But
it can perform an accurate landing with respect to a landing site selected in the HDA

S. Woicke (B) · E. Mooij


Faculty of Aerospace Engineering, Delft University of Technology,
Klyverweg 1, 2629 HS Delft, The Netherlands
e-mail: s.woicke@tudelft.nl
© Springer International Publishing AG 2018 731
B. Dołe˛ga et al. (eds.), Advances in Aerospace Guidance,
Navigation and Control, https://doi.org/10.1007/978-3-319-65283-2_39
732 S. Woicke and E. Mooij

DEMs. This is a capability that would be necessary for a descent system with active
hazard avoidance. This is sometimes also refereed to as hazard-relative navigation.
Most terrain-relative navigation developments so far focused on methods that
can locate the vehicle absolute to known surface features, for example, as presented
in Ref. [15]. This results in accurate inertial localisation of the lander and enables
precise landing relative to an inertially defined landing site. However, this kind of
navigation can only be performed at higher altitudes as a-priori maps are not available
at sufficient resolution to use this algorithm at lower altitudes. Therefore, it does not
enable hazard relative navigation at lower altitudes when hazards become visible.
However, there are also a few of studies that did investigate TRN at lower alti-
tudes in the absence of mapped surface features. In Ref. [12] such an approach is
introduced, which uses measurements of both a-priori known and unknown features,
depending on the current altitude. Monocular vision (a single camera) is used to select
these features. A sounding-rocket test of this algorithm was performed and delivered
promising results. Still, this method does not render the camera pose observable at
lower altitudes, but only rotation and velocity can be retrieved from the successive
images. The results show that position and velocity error increase when switching to
the tracking of only unknown features. Therefore, it can be concluded that a different
approach should be used at lower altitudes.
An approach comparable to this method is presented in Ref. [6]. Filter-wise the
methods are the same, but two different techniques to identify the landmarks are used
and compared in this work. In this case, only absolute localisation is performed with
respect to landmarks identified in an a priori map. However, it is assumed that the
filter can run down to altitudes of 10 m, which would require a-priori surface maps
of very high resolution.
A more simultaneous localisation and mapping (SLAM)-like approach for TRN
is presented in Ref. [7], however, the paper presents the algorithm only at a con-
ceptual level and does not provide any results, neither from simulations nor from
experiments. This method still used known features in combination with line-of-
sight measurements towards these features. SLAM is employed in this approach,
as this makes the velocity measurable using this method. A sparse-weight Kalman
filter was chosen to handle the feature positions in a more effective manner inside
the filter.
Reference [5] introduces a hazard-detection method, which only focuses on boul-
ders, and does thus not reconstruct full DEMs. Still, it is an interesting reference, as
it does include the locations of these boulders in an Extended Kalman Filter (EKF)
for estimation of updates hazard maps during later stages of a descent. However, the
main focus is hazard-map prediction and improvement by using the boulder measure-
ments in combination with the EKF, rather than using this information for navigation
purposes. Therefore, the influence of this approach on the localisation performance
is not presented, even though a positive effect is to be expected.
In the robotics community plenty of solutions to the SLAM problem exist. How-
ever, these systems have different constraints and requirements. Often their motion
is considerably slower than that of a landing vehicle. Moreover, in robotics the
modelling of the system’s dynamics is usually highly simplified and not as well
Terrain Relative Navigation … 733

modelled as for landing applications, since they are usually also less predictable.
Also the utilization of revisiting points, which were already imaged at a later stage,
so-called loop closure, is something that is frequently studied for robotic systems.
However, loop closers do not and also cannot occur during a landing. Moreover, the
robotics community turned away from the Kalman-filter approaches for localisation,
but rather uses different methods for localisation and trajectory estimation. Yet, for
space-flight applications Kalman filters are still the most common choice with a lot
of flight heritage. For example, Ref. [13] presents a stereo-based SLAM algorithm.
However, the presented algorithm does not use a Kalman-filter based approach, but
bundle adjustment. Reference [9] uses yet another method for trajectory estimation,
namely splines.
We will follow a SLAM-like approach, which means that the selected and tracked
surface features are not only used for measurement purposes, but are also added to
the navigation state. This does not only improve the navigation performance, but
also improves the localisation accuracy of these surface features. This information
might be interesting for other purposes, such as map building or hazard detection.
However, at the current stage of our research this data is not exploited yet.
The input DEMs are computed using a stereo-vision (SV) based hazard-detection
algorithm, based on previous work [16]. Stereo vision was chosen over other camera-
based methods as in [17] we were able to show that stereo vision is the most suitable
approach for detecting hazards during the final phase before touch-down. In that
work it was shown that at low altitudes both stereo-from-motion and shape-from-
shading based algorithms are outperformed by stereo vision, therefore we choose
this method in this work. However, DEMs from any other hazard-detection method
could be used as an input for this method as well, here it would also be possible to
use DEMs from active sensors such as a lidar.
The paper is set-up as follows, first, in Sect. 2 we will give a short background on
the stereo-vision based hazard-detection algorithm used for creation of the DEMs.
After this the TRN algorithm is discussed in Sect. 3. Results of the algorithm in
combination with a performance analysis are presented in Sect. 4. The paper closes
with conclusions and recommendations in Sect. 5.

2 Stereo Vision Surface Mapping

As mentioned above, the stereo-based mapping algorithm used in this work is the
same as used for hazard-map construction [16]. For completeness, a quick summary
of the stereo-vision algorithm is cited. For a more detailed discussion the reader is
referred to the reference.
To generate pictures of a planet’s surface using the principle of stereo vision,
two cameras need to be attached to the lander with a known baseline (Fig. 1). This
baseline is constrained by the lander’s dimensions and is assumed to be limited to 2–
3 m, based on current lander designs. In this paper, a 2 m baseline is assumed, as this
represents a more challenging condition, while still being realistic. The two cameras
734 S. Woicke and E. Mooij

will generate two input images for the SV algorithm. Stereo vision makes use of
the fact that when taking two pictures of the same scene from different viewpoints
the projections of the same ground points will appear at different image positions.
Finding the change in image position for a given ground point can be used to compute
the distance towards this point from triangulation. Linking a pixel in the left image
to the pixel representing the same ground point in the right image is called image
matching. Comparing the two different locations results in a value for the shift of
that pixel. This shift is the so-called disparity, d. In image matching a cost function is
used to determine which two pixels are the “perfect” match. The proposed algorithm
is using the sum of squared difference (SSD) as cost function:

SSD = (I1 (u, v) − I2 (u + d, v))2 (1)
u,v

where I1 (u, v) and I2 (u, v) are the pixel intensities at the pixel positions u, v for the
left and the right image, respectively. The algorithm computes non-integer disparities,
d̂min , using a parabolic fit through the point of minimum disparity, dmin :

C(dmin − 1) − C(dmin + 1)
d̂min = dmin − (2)
4C(dmin ) − 2C(dmin − 1) − 2C(dmin + 1)

where C is a cost function; as described above the cost function used is the SSD.
Knowing the disparity, the distance from the cameras to the surface can be computed
using
fb
z(d) = (3)
d
where both the focal length f and the baseline b are fixed by the design, and the
disparity d was found from image matching.
Finding the match for each pixel in the left image and computing the distances
from the camera to the surface for each of them will lead to a dense DEM. To remove

Fig. 1 Stereo vision Baseline


Terrain Relative Navigation … 735

Left Image Right image

DEM
low

high
Fig. 2 Stereo DEM and stereo input

noise and outliers from the DEMs the resulting maps are filtered using a median filter
before they are made available for further processing of either the hazard detection
or the TRN function.
Figure 2 gives an example of an input data set and the resulting stereo DEM. It can
be seen that the craters and boulders are well reconstructed and are thus clearly visible
in the DEM. Furthermore, one can see that the terrain cannot be reconstructed in the
shaded regions of the craters, which is always the case for camera-based methods and
can only be overcome by using an active sensor. All in all, the shown DEM supports
the conclusions drawn in [16]: stereo vision can construct the scene sufficiently well
to perform successful hazard detection.

3 TRN Algorithm

For the task of state estimation an error-state Kalman filter (ESKF), also called indi-
rect Kalman filter, was chosen. This filter estimates the error in the state rather than
the full state. This turns the non-linear problem of a common Extended Kalman Filter
736 S. Woicke and E. Mooij

Vision system Navigation filter

Right Previous
Left image IMU
image left image

Stereo Matching Propagation


Sec. 2 Sec. 3.2 Sec. 3.1

Features Append
Sec. 3.2 Sec. 3.3

Update
Sec. 3.4

Fig. 3 System set-up

(EKF) into a linear problem, provided that the error is small. Therefore, no lineari-
sation are necessary in the ESKF opposed to an EKF. The ESKF avoids the problem
of the over-parametrisation of a quaternion for attitude representation as well, as
the attitude is represented by an error descriptor, which is a minimal representation.
Reference [11] compares the EKF to an ESKF for attitude estimation. It was found
that the ESKF is in general more robust than the EKF. Since both Refs. [6, 12] make
use of a similar approach for state estimation, we also selected the ESKF. In Ref. [11]
a more detailed discussion of the benefits of an ESKF over a standard EKF is given.
Figure 3 shows the set-up of the full TRN system. The vision system and the
navigation filter are indicated as distinct sub-groups. The former uses two stereo
images as well as one image taken at the last measurement step as an input. The stereo
pair is used for depth estimation (Block Stereo), while the image from the previous
measurement step and left image of the current stereo pair are used for feature
matching and tracking (Block Matching and Features). In the navigation loop an
IMU is used for state propagation (Block Propagation). The IMU is modelled using
a bias and an additive white noise for both the accelerometers and the gyroscopes.
Misalignment, scale and other error sources are not considered yet, but could easily be
added to the system. The measured acceleration and angular rate are thus described by

a(t)m = a(t) + ba (t) + na (t) (4)


ω(t)m = ω(t) + bg (t) + ng (t) (5)

where n are the white noises and b are the biases. The bias is described by a random
walk process:
Terrain Relative Navigation … 737

ḃa (t) = nba (6)


ḃg (t) = nbg (7)

The bias in discrete time can be found by integrating these equations.


Once a measurement is recorded new features are added to the state (Block
Append). Re-observed features are used in the update step to update the state (Block
Update). The navigation loop is executed until touchdown or the filter is stopped. In
this section, each of the blocks will be discussed in more detail.

3.1 Propagation

The true state consists of 16 elements

x = [r T vT q T bgT baT ] (8)

with:
r the position of the lander in the global reference frame, G, which is a non-rotating
frame fixed to the main body’s center. The dimension is [3 × 1]
v the velocity of the lander in the global reference frame. The dimension is [3 × 1]
q the quaternion representing the rotation from the global to the body reference
frame, (q GB ). The dimension is [4 × 1]
bg the IMU gyroscope measurement bias, also called drift. The dimension is [3 × 1]
a g the IMU accelerometer measurement bias. The dimension is [3 × 1]
The error state is defined as

δx = [δr T δvT δθ T δbgT δbaT ] (9)

To avoid the non-minimal representation of the full quaternion the ESKF uses the
three-dimensional error δθ in place of the error quaternion δq. The error quaternion
is defined as:

δq = [δq T δq] (10)

from the conversion of the axis-angle representation to quaternions we know

δq = [k sin δθ /2; cos δθ /2] (11)

By assumption the error δθ is small, thus small-angle approximations can be used


and Eq. (11) can be simplified to:
738 S. Woicke and E. Mooij

δq  [δθ/2; 1] (12)

The attitude is thus represented by 3 parameters in the error state, therefore the error
state has one element less than the true state and is now a minimal representation
opposed to the over-parametrized quaternion. It should be noted that other methods
exist to avoid the over-parametrization of the quaternion, however, this is the approach
commonly used for ESKFs.
To retrieve the full state from the error state, the errors are simply added to the
state estimate, x̂, which is obtained from state propagation, and is explained in more
detail later in this section.

x = x̂ + δx (13)

However, the true quaternion and its relation the the error quaternion and the estimate
is not additive, but has to be computed by a quaternion multiplication:

q = δq ⊗ q̂ (14)

The state estimate uses q, while the update (see Sect. 3.4) is using θ , this has to be
taken into account when merging the predicted state with the error retrieved from
the update (see Sect. 3.4). Here, Eq. (12) can be used.
The following equations describe the evolving state in continuous time:

ṙ(t) = v(t) (15)


v̇(t) = a(t) (16)
1
q̇(t) = Ω(ω(t))q(t) (17)
2
ḃg (t) = nbg (t) (18)
ḃa (t) = nba (t) (19)

where a(t) is the acceleration, nbg and nba are the noises of the gyroscope and the
accelerometer respectively, ω is the angular rate and Ω is defined as:
 
−[ω×] ω
Ωω = (20)
−ω T 0
⎡ ⎤
0 −ωz ω y
[ω×] = ⎣ ωz 0 −ωx ⎦ (21)
−ω y ωx 0

State propagation is done based on the measurements of an IMU, namely the


gyroscope and the accelerometer. The gyroscope measurement is given by

ωm = ω + R(q)ω G + bg + ng (22)
Terrain Relative Navigation … 739

where R(q) is the rotation matrix equivalent to the rotation described by q, ng is a zero
mean white Gaussian process noise and ω G is the planets rotation. The accelerometer
measurement is given by

am = R(q)(a − g + 2[ω×]v + [ω×]2 r]) + ba + na (23)

where g is the gravitational acceleration in the local frame. Note that a is the full
acceleration of the body and does therefore includes g. Thus, it is necessary to
subtract g!
The state estimate can be described using the equations below, note that these
equations are in continuous time, however, for readability the argument (t) is omitted
for in the following

r̂˙ = v̂ (24)
v̂˙ = R(q̂)(am − b̂a ) − 2[ωm ×]v̂ − [ωm ×]2 r̂ + g (25)
1
q̂˙ = Ω(ωm − b̂g − R(ω G ))q̂ (26)
2
b̂˙ = 0
g (27)
b̂˙ a = 0 (28)

The linearised system model for the error state is given by

δ ẋ = Fδx + GnIMU (29)

where the system matrix F and the system noise matrix G are computed based on
Eqs. (24)–(28). nIMU is a vector composed of all IMU noises present, na , nba , ng
and nbg . Note, that the ESKF update is performed using the error state and not the
full state as in a normal EKF. Therefore, the Jacobian elements F and G have to be
calculated with respect to the error state δx and not the full state.
⎡ ⎤
0 I3 0 0 0
⎢−[ωm ×]2 −2[ωm ×] −R(q̂)(am − b̂a ) 0 −R(q̂)⎥
⎢ ⎥
F=⎢
⎢ 0 0 −[ω G ×] −I 3 0 ⎥ ⎥ (30)
⎣ 0 0 0 0 0 ⎦
0 0 0 0 0

The G matrix is
⎡ ⎤
0 0 0 0
⎢ 0 0 −R(q̂) 0⎥
⎢ ⎥
G=⎢
⎢−I 3 0 0 0⎥ ⎥ (31)
⎣ 0 I3 0 0⎦
0 0 0 I3
740 S. Woicke and E. Mooij

Until now, all equations are given in continuous time. However, the IMU measure-
ments are only available at discrete time steps δt. Thus, as for every normal EKF, the
state propagation in discrete time (of the full state, the error state is not propagated, as
the expected value is zero) is done by numerical integration of Eqs. (24)–(28). In our
work we use a Euler integrator for this task. Moreover, the covariance matrix has to
be propagated. Note, that this propagation is linked to the error state and not the full
state. The propagation of the discrete time P k|k−1 is done by numerical integration of
the continuous time equation Ṗ(t) using the previous covariance P k−1|k−1 as initial
conditions.

Ṗ(t) = F(t) P(t) + P(t)F T (t) + G(t) Q(t)G T (t) (32)

The state is propagated with these equations until a measurement is recorded.

3.2 Measurement

To update the predictions based on the IMU, to estimate the biases and to get a more
precise estimate of the full state, a measurement has to be recorded.
The measurement is performed by combining the stereo maps as presented in
Sect. 2 with a feature matching and tracking algorithm. These features are tracked
over time during the descent and are included in the state, as will be explained in
Sect. 3.3. From the stereo DEMs measurements from the camera to the selected
features are available. To ensure re-observation of features over time, a rather large
number of features is extracted, the total number is not limited by the algorithm. The
stereo measurements can be translated to the 3-D location of the features in the global
reference frame. Matching and extracting the features over multiple images is done
using the SURF feature descriptor [2]. Observed features are then added to the state
in a SLAM fashion. Namely, they are added to the state and are also propagated in
the propagation step. Therefore, positions of re-observed features can be compared
to their previously measured position in the update step. It is expected that this will
further improve state estimation. Figure 4 shows two consecutive images, taken at
different altitudes and the features matched in it.
The discrete time measurement model, as a function of the true state, is described
by

z k = h(x k ) + vk (33)

The expected measurement can be described by the following equation.


Terrain Relative Navigation … 741

First image Second image Matched features

Fig. 4 Matched features over two consecutive images. The first image is taken at 107 m altitude
while the second, lower, image is taken at 100 m altitude. The camera is facing directly downwards

⎡ ⎤
1/r es
ẑ k = ⎣ ˆ )(r̂
1/r es ⎦ R(q BC )R(qG,k g,Feature,k − r̂ g,Body,k )
B
(34)
1

Real2Mes

where R(q BC ) and R(qG,k


B
) describe the rotation from the body to the camera frame
and from the global to the body frame, respectively. The matrix Real2Mes maps a
point from the 3D world on the 2D image plane. The resolution, r es, is given by

tan FOV
(x3,k − radius)
r es = 2
(35)
2 · image size

The resolution is thus linked to the camera’s position above the ground, which can
be derived from the third element of the state, the vehicle’s z-position. Figure 5
depicts the measurements and the different frames involved. It can be seen that the
measurement is recorded in the camera frame, while the camera (and thus the camera
frame) is fixed in with respect to the body frame of the spacecraft. The location of the
spacecraft (and thus the body frame) is expressed with respect to the global frame.
Ultimately, the goal is to express the feature locations measured in the camera frame
in the global frame. In this research it is further assumed that the surface of the planet
is flat and that the rotation of the body can be neglected. Since only the very last part
of a descent is simulated, which only lasts a couple of seconds, this assumption is
valid - if the rotational rate of the body is sufficiently small.
Since the update, as discussed in Sect. 3.4, is done using the error state, also the
measurement matrix H needs to be computed based on the error state, rather than
the nominal state. This means that also the Jacobian, of the measurement function
h, has to be computed with respect to error state:

∂h ∂h ∂x
H = = H x X δx (36)
∂δx ∂ x ∂δx
742 S. Woicke and E. Mooij

Fig. 5 Frame definitions


Body frame, B

Camera frame, C

zc
rgs/c

rg Feature

Global frame, G

Here, the first part H x is the “normal” Jacobian with respect to the full state, as also
used in a standard EKF formulation. And X δx is the Jacobian of the state with respect
to the error state. As discussed previously, all elements of the error state, apart from
the term for the angles, are defined as sums. For example, the position (the first three
elements of the state) is defined as r + δr. Therefore, the Jacobian element of the
position with respect to the error in position becomes

∂(r + δr)
X δx,δr = =1 (37)
∂δr
The same holds true for all these derivatives, but X δx,δθ , since the error link to the
attitude is not described by a sum, but a quaternion multiplication. The Jacobian X δx
is
⎡ ⎤
I 6×6
X δx = ⎣ X δx,δθ ⎦ (38)
I 6+3n×6+3n

where n is the number of features in the state and X δx,δθ is given by:
⎡ ⎤
q4 −q3 q2
1⎢
⎢ q q4 −q1 ⎥

X δx,δθ = ⎣ 3 (39)
2 −q2 q1 q4 ⎦
−q1 −q2 −q3

The next step is to compute the Jacobian element H x . For Eq. (34) it is known that
the measurement is only a function of the spacecraft position r, the feature position
r Feature , the resolution and q. Therefore, all elements but the Jacobian elements with
respect to these state variables, H r , H r ,Feature and H q , are zero. The Jacobian of the
measurement function with respect to the spacecraft position is:
Terrain Relative Navigation … 743
⎡ ⎤
−1/r es 0 r 1u
H r = R(q BC )R(q̂GB ) ⎣ 0 −1/r es r 2 u ⎦ (40)
0 0 −1
1 image size tan(FOV/2)
u=δ = (41)
r es (tan(FOV/2)x̂3 − tan(FOV/2)radius)2

Next, the Jacobian with respect to the current feature’s position is

H r,F = Real2Mes · R(q BC )R(q̂GB ) (42)

where the transformation Real2Meas, which projects the coordinates of a feature


point from the 3D camera reference frame on the 2D image plane, is given by
⎡ ⎤
1/res
Real2Mes = ⎣ 1/res ⎦ (43)
1

And lastly the Jacobian with respect to the quaternion is:

H q = 2 · Real2Mes · R(qˆBC ){q̂(d̄ T )I 3 + q̂( d̄)T −


d̄ q̂ T + 2q̂[( d̄)×]q̂( d̄) + [ d̄×]q̂} (44)
d̄ = r̂ F − r̂ B (45)

where H q was derived from the attitude matrix R(q) = ((q 2 − q T q)13 + 2qq T −
2q[q×].

3.3 Covariance and State Augmentation

In SLAM a key element is that observed map points, or features, are added to the state.
Therefore, after every measurement the state has to be augmented: if a feature/point
in space is observed, it is added to the state, i.e., the state vector is augmented. This
means that the features have to be propagated. However, in our case features are not
dynamic and therefore their locations do not change in the propagation step, but only
change when updating. Here, it should be noted that this is only the case, because
the final phase is so fast that it is assumed that the rotation of the planet is negligible.
If a very fast rotating body would be the target or the algorithm would be applied
for a longer period, the rotation might have to be accounted for and thus the features
would need to be propagated as well.
When the state is augmented, the covariance has to be augmented as well. This
is depicted in Fig. 6. Here, it is important to note that the covariances of the added
744 S. Woicke and E. Mooij

Fig. 6 State and covariance State Covariance


augmentation

x P Fx

xF PFF

P Fx

features are not independent. This is because feature locations are computed from
the measurement, using information stored in the state.
For each measured feature, the feature’s position in the global reference frame is
appended to the state using the inverse measurement matrix, which is the inverse of
the measurement function given in Eq. (34):

r Featur e = r̂ Body + [Real2Mes · R(q BC )R(q̂GB )]−1 z (46)

From this equation, the Jacobian elements with respect to the spacecraft state and
the measurement z are computed, J z , since the inverse measurement function is a
function of the state and the measurement. Apart from z, the inverse measurement
function is only a function of the position and the quaternion, the Jacobian with
respect to all other elements are zero. Therefore only J z , J x,Pbody and J x,θ need to
be computed.

J z = (Real2MesR(q BC )R(q̂GB ))−1 (47)


J x,Pbody = I 3 (48)

The Jacobian J x,θ is more difficult to compute as the equation is a function of q


while the state contains δθ . In principle the same approach as for the Jacobian H δx
is followed, see Eq. (36): Therefore,

J x,θ = H q X δθ (49)
 
Hq = 2 R(q BC )−1 T T T
q̂ z I 3 + q̂ z − z q̂ + 2q̂[z×] q̂ z + [z×]q̂ (50)

where [q T q] are the elements of the inverse of qGB .


The new augmented covariance can be computed from, see [1]
 
P P TF x
P= (51)
P Fx P FF

with
Terrain Relative Navigation … 745

P F F = J x P x x JxT + J z R J zT (52)
P Fx = J x P xx (53)

If a feature is not re-observed or falls outside of the area imaged, it will be removed
from the state. This means that the related elements will also be deleted from P.

3.4 State Update

After state augmentation the state update can then be performed using the following
equations:

Sk = H k P k|k−1 H kT + Rk (54)

From Sk the Kalman gain can be computed

K k = P k|k−1 H k S−1
k (55)

Using the Kalman gain, the update of the error state can be computed. This does not
involve a prediction of the error state as opposed to the update steps of an EKF.

δ x̂ k = K k (z k − h( xˆk )) (56)

Knowing the estimate of the error state, the estimate of the full state can be updated.

x̂ k = x̂ k|k−1 + δ x̂ k (57)

The final step is to update the predicted covariance:

P k = (I − K k H k ) P k|k−1 (I − K k H k )T + (K k Rk K k ) (58)

After this the filter continues propagation of the state estimate until a new measure-
ment is recorded.
Here, one has to be careful when merging the attitude error with quaternion in the
nominal state. The value in the error state is the three-dimensional δθ , which has to be
translated to the four-dimensional δq first. Measurements from other sources could
also be included during the update step, for example, from a star tracker or altimeter,
however, this is not necessary for the goal of this work. The main purpose of this
algorithm is to limit the horizontal errors. Adding, for example, an altimeter to the
sensor suit will not increase the accuracies in horizontal directions, but only improve
the knowledge of the vertical distance towards the landing site. This information,
however, will not decrease the size of the hazard-relative landing ellipse.
746 S. Woicke and E. Mooij

4 Analysis of Results

The algorithm presented in the previous sections was implemented and a Monte
Carlo analysis was performed to investigate the performance of the algorithm. The
simulation set-up as well as the results are presented in this section.

4.1 Set-Up

This research focuses on the final phase of a descent, therefore a trajectory from 120 m
down is simulated. This represents the phase during which stereo-vision based HDA
is possible, as concluded in [16]. An E-guidance-based trajectory is flown, as E-
guidance [4] is a guidance law, which could potentially be used in an HDA scenario
due to its ability to select a specific landing site. Guidance laws used in combination
with an HDA/TRN system have to be more flexible than current guidance systems.
HDA might require a change in the commanded landing location, while it is also
necessary to keep the surface/landing site in the field of view of the respective sensors.
This results in the need for constraining the spacecraft’s orientation.
The scene used has a maximum elevation difference of ≈5 m, while the largest
boulder in the scene has a vertical size of ≈2 m. Also multiple smaller features of the
size of 0.5–1.5 m are located in the landing region. Figure 4 given in Sect. 2 shows
an example of the scenes used.
As discussed in Sect. 1, the system is not capable of reducing the inertial error
in the localization, as features are not matched to features with inertially known
positions. The flown trajectory is presented in Fig. 7. Both the 3-D trajectory as well
as the X , Y and Z components as a function of time are given.
As mentioned in Sect. 2, a 2 m stereo baseline is used, based on a sensitivity
study performed during earlier work (see [16]). As an imaging sensor a 512 × 512
pixel camera is assumed. The camera’s field of view is 30◦ . The surface images
are generated using PANGU [14], therefore only a simple pinhole camera-model is
employed. The IMU is modelled based on the data presented in [8], the used data is
summarized in Table 1. The measurements are taken at a frequency of 2 Hz.
Artificially created images do, of course, have some drawbacks. Noise is only
present when added manually, and other imaging effects, such as motion blur or
distortion, are not present (or have to be modelled artificially). To this end it is always
recommended to test algorithms also with images obtained trough real sensors. A
possibility to perform such a test is, for example, the Testbed for Robotic Optical
Navigation at the German Aerospace Center in Bremen [10]. It is planned for the
near future to use this testbed for testing the proposed algorithm.
Terrain Relative Navigation … 747

Trajectory X
3

200
Z(m) 2

X(m)
100

1
0
1
2 1
3 2
Y(m) 3 0 1 2 3 4
X(m)
t(s)
Y Z
3 150

2 100
Z(m)
Y(m)

1 50

0
0 1 2 3 4 0 1 2 3 4
t(s) t(s)

Fig. 7 Nominal trajectory

Table 1 IMU parameters based on [8]


Error Value Unit
Gyro bias/drift 0.02 deg/h
Gyro scale factor 1.6 PPM

Gyro angle random walk 0.00005 deg/ s
Accelerometer bias 30 μg
Accelerometer scale factor 66 PPM

Accelerometer velocity 20 m/s/ s
random walk

4.2 Results

A Monte Carlo simulation with 200 runs was executed to compare the performance
of the algorithm with a pure IMU-propagation system, therefore the random contri-
butions in the IMU change for each run of the algorithm. Moreover, the selected and
tracked features change for each run of the algorithm, as they are selected randomly.
This serves two purposes: (1) to show that the algorithm is robust and independent
of which features are used for tracking and (2) to show that more accurate navigation
748 S. Woicke and E. Mooij

Fig. 8 Monte Carlo results


IMU only
TRN
20 Mean IMU only
Mean TRN
True
10

y [m]
0

−10

−10 −5 0 5 10
x [m]

can be performed by tracking features over time, as opposed to pure dead-reckoning


as usually performed during the very last phase of the descent.
The results are shown in Fig. 8. Here, it can be concluded that the stereo-based
ESKF SLAM is capable of limiting the additional relative error accumulated over the
simulated last phase of the descent. Thus, the algorithm is capable of enabling hazard
avoidance manoeuvres from a localisation point of view. It can be seen that the TRN
results have a larger dispersion than the pure dead reckoning results, however, the
results are almost always closer to the truth value than the pure propagation based
on the IMU measurements only. However, on a total of 200 runs, 5 extreme outliers
are generated when using the TRN system, for which the result is further away from
the truth than the dead-reckoning solution. Therefore 97.5% off all runs produce
usable results. The few outliers generated are linked to the performance of the vision
systems itself, and therefore for future work it is recommended to investigate the
feature-extraction and mapping system in more detail.
Currently, between 50 and 100 features are tracked and re-observed. The number
of features tracked depends on the number of features that can be matched and gets
lower at lower altitudes, as features tend to leave the field of view faster. The number
of features tracked is not actively influenced in the algorithm, and simply all features
matched are also used for tracking. This is due to the fact that features are not solely
used as a measurement, but are fed into the filter to improve the measured feature
locations themselves.
Figures 9 and 10 show the results of a single run for the error in position and
velocity estimation. From Fig. 9 it can be concluded that the TRN algorithm keeps
the error in x and y direction bounded, so the error does not grow as is the case for
the pure IMU propagation. In z direction, it is moreover able to not only counteract
the error growth, but also to move closer towards the true solution. This is the case as
the measurement in z-direction measures the full distance toward the ground, while
this is not the case for the x- and y-directions. On the contrary, the velocity error is
Terrain Relative Navigation … 749

−8
TRN
−10 IMU only
x[m]
−12

−14
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]
−10
TRN
−11
IMU only
y[m]

−12
−13
−14
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]
−6
TRN
−8 IMU only
z[m]

−10

−12
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]

Fig. 9 Spacecraft positions error for a single run

1
0.5 TRN
vy [m]

IMU only
0
−0.5
−1
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]
0
TRN
vx [m]

−0.5 IMU only

−1
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]
0.5
TRN
0 IMU only
vz [m]

−0.5

−1
0 500 1,000 1,500 2,000 2,500 3,000 3,500
t[s]

Fig. 10 Spacecraft velocities error for a single run


750 S. Woicke and E. Mooij

smaller in x- and y-directions directions than in the z direction, as the velocity can
be more accurately estimated in the image plane rather than orthogonal to this plane.
Concluding, these two figures show that the algorithm does perform as expected,
however, it can also be seen that no convergence is reached. This comes as no surprise
as only 5 measurements are used inside the filter. So few measurements can not lead
to a filter convergence.

5 Conclusions and Recommendations

We have shown that it is possible to use stereo-based hazard maps as an input for
terrain relative navigation and thereby limit the relative landing error in the final phase
of a planetary landing. The method is robust and produces less than 3% outliers. The
few outliers encountered are linked to the vision system and not to the filter itself.
This system can therefore enable hazard-relative navigation when touching down
in terrains, which are not inherently safe. Moreover, this would reduce the landing
ellipse size.

Recommendations

To further investigate the outlier behaviour as presented and discussed in Sect. 4 a


detailed analysis of an outlier case will be performed. Furthermore, it is advisable
to compare the performance of the stereo-vision based filter with a pure monocular
vision-system.

References

1. Bailey T, Durrant-Whyte H (2006) Simultaneous localization and mapping (slam): part ii. IEEE
Robot Automat Mag 13(3):108–117
2. Bay H, Tuytelaars T, Van Gool L (2006) Surf: speeded up robust features. In: European con-
ference on computer vision, Springer, Berlin, pp 404–417
3. Chen A, Mischna M (2015) Edl landing site engineering assessment. In: Mars 2020 landing
site workshop 2, NASA/JPL, California, pp 1184–1186
4. Cherry GW (1964) E Guidance- a general explicit optimizing guidance law for rocket-propelled
spacecraft. MIT Instrumentation Laboratory, Cambridge
5. Crane ES, Rock SM (2012) Influence of trajectory on accuracy of hazard estimation during
lunar landing. In: AIAA guidance, navigation, and control conference. AIAA, Minneapolis,
MN
6. Delaune J, Le Besnerais G, Sanfourche M, Plyer A, Farges JL, Bourdarias C, Voirin T, Piquereau
A (2011) Camera-aided inertial navigation for pinpoint planetary landing on rugged terrains.
In: International planetary probe workshop
7. Frapard B, Polle B, Flandin G, Bernard P, Vétel C, Sembely X, Mancuso S (2003) Navigation
for planetary approach and landing. Eur Space Agency Publ 516:159–168
Terrain Relative Navigation … 751

8. Geller DK, Christensen D (2009) Linear covariance analysis for powered lunar descent and
landing. J Spacecr Rocket 46(6):1231–1248
9. Kerl C, Stuckler J, Cremers D (2015) Dense continuous-time tracking and mapping with rolling
shutter rgb-d cameras. In: Proceedings of the IEEE international conference on computer vision,
pp 2264–2272
10. Krüger H, Theil S (2010) Tron-hardware-in-the-loop test facility for lunar descent and landing
optical navigation. IFAC Proc Vol 43(15):265–270
11. Madyastha VK, Ravindra VC, Mallikarjunan S, Goyal A (2011) Extended kalman filter vs.
error state kalman filter for aircraft attitude estimation. In: AIAA GNC
12. Mourikis AI, Trawny N, Roumeliotis SI, Johnson AE, Ansar A, Matthies L (2009) Vision-aided
inertial navigation for spacecraft entry, descent, and landing. IEEE Trans Robot 25(2):264–280
13. Mur-Artal R, Tardos JD (2016) Orb-slam2: an open-source slam system for monocular, stereo
and rgb-d cameras. arXiv:1610.06475
14. Parkes S, Martin I, Dunstan M, Matthews D (2004) Planet surface simulation with pangu. In:
Eighth international conference on space operations, pp 1–10
15. Verweld MJ (2013) Relative optical navigation for a lunar lander mission. In: Advances in
aerospace guidance, navigation and control. Springer, Berlin, pp 661–679
16. Woicke S, Mooij E (2016) A stereo-vision hazard-detection algorithm to increase planetary
lander autonomy. Acta Astronautica 122:42–62
17. Woicke S, Mooij E (2016) Passive hazard detection for planetary landing. In: AIAA guidance,
navigation, and control conference, p 1133

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy