Académique Documents
Professionnel Documents
Culture Documents
WING AIRCRAFT
A Thesis by
July 2017
Copyright 2017 by Balaji Kartikeyan Chandrasekaran
ii
DESIGN OF AN ADAPTIVE FLIGHT CONTROLLER FOR A BIRD-LIKE FLAPPING
WING AIRCRAFT
The following faculty members have examined the final copy of this thesis for form and content,
and recommend that it be accepted in partial fulfillment of the requirement for the degree of Master
iii
DEDICATION
iv
Dream, Dream, Dream
v
ACKNOWLEDGEMENTS
I would like to extend my sincerest thanks to my advisor, Dr James E Steck, for providing me with
this opportunity and resources to carry out this work at General Aviation Flight Lab at Wichita
State University. I also thank him for providing me with constant support, invaluable advice and
for inspiring me to think beyond the ordinary. I also thank my thesis committee members Dr
Animesh Chakravarthy and Dr Edwin Sawan for their inputs on my work and report.
Last but not least I thank my parents, friends and family for giving me this opportunity to move
closer to my dream.
vi
ABSTRACT
In the present age of increased demand for unmanned aerial vehicles, flapping wing unmanned
aerial vehicle applications have become of interest, primarily because of their ability to fly silently
and at lower speeds. This work explores new territory through the development of an adaptive
flight controller for a bird-like flapping wing aircraft, using modified strip theory to model the
aircrafts aerodynamics and Newtonian equations of motion for the flight dynamics. The aircraft
model is validated using existing data from the Slow Hawk Ornithopter. The goal of this thesis is
to explore various adaptive flight control architectures, such as Model Reference Adaptive Control
and Adaptive Neural Network Inverse Control, leading to an advanced controller to govern the
longitudinal flight characteristics of the flapping wing aircraft. An acceptable model of slow hawk
ornithopter was developed and modelled in the MATLAB/SIMULINK. The Model Reference
Adaptive Controller with Adaptive Bias Corrector was successfully able to adapt to deficiencies
in the system with a PI controller and improved the tracking performance compared to no
adaptation. It was observed that in case of a B-Matrix failure the Adaptive controller was not able
to reduce the error in oscillating magnitude to zero. The same observation was also made for
vii
Table of Contents
Chapter Page
INTRODUCTION .......................................................................................................................... 1
1.1 A BRIEF HISTORY ........................................................................................................ 1
1.2 THE PRESENT ................................................................................................................ 4
1.3 BIRD FLIGHT ................................................................................................................. 5
1.4 CURRENT WORK .......................................................................................................... 6
1.4.1 Ornithopter Modelling and Control .......................................................................... 6
1.4.2 Model Reference Adaptive Controller ...................................................................... 7
1.5 SCOPE OF WORK .......................................................................................................... 9
AERODYNAMICS ...................................................................................................................... 11
2.1 LITERATURE SURVEY .............................................................................................. 11
2.2 AERODYNAMICS MODEL ........................................................................................ 13
2.2.1 Assumptions............................................................................................................ 14
2.2.2 Wing Kinematics .................................................................................................... 15
2.2.3 Force Calculations .................................................................................................. 19
2.3 PROGRAMMING ......................................................................................................... 24
2.4 TAIL AERODYNAMIC MODEL ................................................................................ 25
FLIGHT DYNAMICS .................................................................................................................. 27
3.1 LITERATURE SURVEY .............................................................................................. 27
3.2 2-PANEL FLIGHT DYNAMICS MODEL ................................................................... 32
3.2.1 Components of Weight ........................................................................................... 35
3.2.2 Body Equations of Motion ...................................................................................... 35
3.2.3 Wing Equations of motion ...................................................................................... 36
3.2.4 Kinematics .............................................................................................................. 37
3.3 FINAL EQUATIONS .................................................................................................... 38
3.3.1 Force Equation ........................................................................................................ 39
3.3.2 Moment Equation.................................................................................................... 39
SIMULINK MODEL AND AIRCRAFT SELECTION .............................................................. 40
4.1 INTRODUCTION .......................................................................................................... 40
4.2 AERODYNAMICS BLOCK ......................................................................................... 41
4.3 AIRCRAFT INPUTS AERODYNAMICS ................................................................. 46
viii
4.3.1 Wings ...................................................................................................................... 46
4.3.2 Tail .......................................................................................................................... 51
4.4 FLIGHT DYNAMICS BLOCK ..................................................................................... 52
4.5 AIRCRAFT INPUTS-FLIGHT DYNAMICS ............................................................... 59
CONTROLLER DESIGN ............................................................................................................ 61
5.1 DESCRIPTION .............................................................................................................. 61
5.2 MODEL FOLLOWER ................................................................................................... 62
5.3 PROPORTIONAL-INTEGRAL (PI) CONTROLLER ................................................. 63
5.4 INVERSE CONTROLLER ........................................................................................... 64
5.5 ADAPTATION .............................................................................................................. 64
5.6 PROPORTIONAL-DERIVATIVE (PD) CONTROLLER ............................................ 65
5.7 MAJOR MODEL DIFFERENCES ................................................................................ 66
5.7.1 Control Architecture ............................................................................................... 66
5.7.2 Flight Dynamics Model .......................................................................................... 66
5.7.3 Lateral Control Loop ............................................................................................... 66
RESULTS ..................................................................................................................................... 67
11.1 PI CONTROLLER ......................................................................................................... 67
11.2 PD CONTROLLER ....................................................................................................... 79
11.3 REDUCED TAIL EFFECTIVENESS ........................................................................... 88
11.3.1 PI Controller............................................................................................................ 88
11.3.2 PD Controller .......................................................................................................... 91
CONCLUSION ............................................................................................................................. 93
12.1 PI Controller with Adaptive Bias Correction ................................................................. 93
12.2 PD Controller with Adaptive Bias Correction ............................................................... 94
12.3 Aircraft In Open Loop .................................................................................................... 94
12.4 Future Work and Recommendations .............................................................................. 95
APPENDICES .............................................................................................................................. 96
APPENDIX A ............................................................................................................................... 97
APPENDIX B ............................................................................................................................. 100
APPENDIX C ............................................................................................................................. 106
REFERENCES ........................................................................................................................... 112
ix
LIST OF FIGURES
Figure Page
Figure 17 Position of Body and Hinge joints with Forces and Moments ..................................... 32
x
Figure 21 Right wing Forces and Moments .................................................................................. 37
Figure 22 Kinematic link between body (a) and Wing (c) via Hinge (b) ..................................... 37
Figure 39 PD Controller................................................................................................................ 65
xi
Figure 44 PI Controller+50% modelling error+ANN................................................................... 70
xii
Figure 67 PD Controller + case 2 unstable value of Cm-alpha .................................................... 86
xiii
LIST OF TABLES
xiv
LIST OF ABBREVIATIONS
PI Proportional-Integral
xv
LIST OF SYMBOLS
Cycle Angle
Flapping Frequency
Angle of Attack
Roll Angle
Yaw Angle
Mean pitch angle of the chord
Drag
Aerodynamic forces
xvi
Lift
Aerodynamic Moments
P Roll rate
Q Pitch rate
R Yaw Rate
Thrust
U Forward Speed
V Side velocity
W Vertical velocity
xvii
CHAPTER 1
INTRODUCTION
Birds have always inspired human-kind to fly. The freedom and capability to spread wings
and take to air is such a novel concept that after years of development, we now can routinely fly
from one place to another almost close to speed of sound, in some cases even faster than that.
One of the first known attempts of human flight was from Greek mythology in the form of
story of Daedalus and Icarus (figure 1). They were a father-son duo who, in their attempt to escape
from prison, built a pair of wings using twigs and wax. But Icarus flew too close to sun leading to
melting of his wing and subsequent crash in sea and death by drowning. Vymaanika-Shaastra a 4th
century BC text written by Maharishi Bhardwaj dealt with operation of ancient Vimana or flying
crafts. One of which was called shakuna-vimana (figure 2) which was supposed to fly like a bird.
1
Figure 2 Shakuna Vimana as described in Vymaanika-Shaastra
In modern history, Leonardo Da Vinci has been known to study the aerodynamics of these
ornithopter even though he did not build any practical machine. The first documented flight of
2
Figure 4 Full-Scale Ornithopter The Great Flapper Built by Dr DeLaurier
Due to the idea that humans can only fly by imitating birds led to inventors like Lippisch,
Emil Hartman in 1959 etc.,. To develop Human powered models. Lippisch [1] designed a human
powered ornithopter (figure 3) using the input given by Dr Brustmann, about the maximum power
that can be developed by human arm and legs. He chose flapping wing configuration due to its
potentially greater efficiency compared to a fixed wing concept. He tested the concept with a pilot
named Hans Werner Krause, whose goal was to reach a predetermined mark at about 250-300
meters from launch. The importance of this kind of flight was the fact that the acceleration (Thrust)
and lift was provided by the flapping action of the wings alone. Etc. One of the latest successful
flight of an engine-powered ornithopter (figure 4) was designed and flown by DeLaurier [2] from
Institute of Aerospace Studies at University of Toronto . The Great Flapper was a full scale
ornithopter powered by a 24hp engine and a flapping wing of 1.05 Hz with a span of 41.2 ft. The
The fixed wing aircraft has come a long way since wright brothers motivated in part by
World War I and World War II we graduated from simple wood and canvas construction to
advanced metal construction and use of composites. With time even the speed, efficiency, carrying
capability and safety also improved leading to present day passenger aviation. The fixed wing
UAV has played an important and decisive role in war, like Iraq war, and in fight against terrorism.
Civilian versions of these UAVs (both fixed wing and rotary wing) are nowadays utilized in
agriculture, off-shore oil platforms, access tall cellphone towers and high placed power lines.
Amid all this success with fixed wing aircraft, the idea of a flapping wing aircraft was
forgotten until the advent of Unmanned Aerial Vehicles (UAV) in recent times.
The research in this field led to design and development of various ornithopter which
attempted to bio-mimic birds and insects. Delfly, developed by De Croon, et al. [3], is a 3.07 g
hummingbird, developed by Keennon, et al. [4], was a 19g ornithopter designed at Aerovironment
as a part of the Defence Advanced Research Projects Agencys (DARPA) requirement to develop
a small, biologically inspired UAV that can sustain hover and fly forward at speeds of about 10
m/s. One of the widely used model is the Slow Hawk Ornithopter developed by Sean Kinkade
[5], which is also utilized in this work. A modified version of this aircraft was developed at
University of Maryland Morpheus Lab known as Odyssey which is presently being used a test bed
for testing passive wing morphing [6]. In the unique side of things, Chen, et al. [7], designed a
butterfly ornithopter.
4
1.3 BIRD FLIGHT
The fundamental physics of flight of birds is very similar to that of aircraft, i.e., we need Lift
to support weight and Thrust to overcome drag. The only difference is that instead of separating
the lift and thrust producing mechanisms, a bird produces both by a single flap of wing.
As shown in figure 5, The Birds produce their Lift and Thrust by twisting their wing forward
in down stroke and tilting it backward during upstroke. During down stroke it produces positive
lift and Thrust but the upstroke produces reduced lift and possibly negative thrust.
Different flapping species of animals can be distinguished based on wing movement, Brown
[8], which also affects the shape of their wings. There are wide range of Hypotheses on why the
bird flight evolved like to help escape from predators, catch speedy prey, migration requirements,
Etc. Chatterjee, et al. [9] studied the aerodynamics of Argentavis, one of the largest flying birds
ever thought to exist based on fossils found in central and northwestern Argentina, and also its
flight performance using computer simulations, which was assumed to be an accomplished glider
at a cruising speed of 67 kmph and a gliding angle close to 3 deg. Dial, et al. [10] studied the
evolution of avian flight by experimentally studying the wing strokes of ground birds. Hedenstrm
[11] studied the evolution of flight, the function of tails and also the ecological adaptations that
the birds have to suit a flying lifestyle. Pennycuick [12] calculated the power requirements for
horizontal flight in pigeon. In a nutshell, a bird produces lift by moving the wing, thus producing
a relative velocity over the airfoil. It produces thrust by active or passive morphing of the wing,
which makes it act as a propeller. Tobalske [13] studied the biological aspects of the bird flight
5
Figure 5 Bird Flapping Cycle
1.4 CURRENT WORK
Ever since the researchers starting to decode the flight of birds, many models of ornithopter
were developed and were eventually controlled successfully. Shigeoka [14] developed an overall
ornithopter transfer function model using experimental data acquired by strapping the ornithopter
to a rail thus restricting its movement to forward horizontal direction. Acceleration and position
controller for its velocity and altitude. The velocity loop was controlled using a PI controller, and
so was the altitude loop. Subsequently, a two-dimensional state-space model was also developed
Julian, et al. [15] modelled the flight dynamics of H2 Bird Ornithopter MAV, a 13g MAV
with a wingspan of 26.5 cm. using system identification techniques.They successfully developed
a co-operative controller to help it traverse through a window with help of on-board sensors and a
6
Figure 6 H2 Bird Ornithopter
Jackowski [16] designed and constructed an autonomous ornithopter known as Phoenix as
part of masters thesis. The ornithopter was found passively stable in other degrees of freedom
while it was found difficult to control in pitch. A PD controller was found to be sufficient for pitch
control and a proportional control was used for approximate velocity control.
Krashanitsa, et al. [17] studied the off-the shelf Cybird P2 ornithopter by subjecting it to
thorough flight testing and developing the flight dynamics model using these results. The
aerodynamic model was developed by subjecting the model to wind tunnel testing.
Modern day research includes making these general aviation aircraft more robust to failure
using Artificial Neural Networks. Steck, et al. [18] developed an advanced flight control system
which was demonstrated to compensate for unanticipated errors or failures in military aircraft. Rafi
and Steck [19] showed the successful use of ANN based control architecture to general aviation
aircraft in a wake vortex encounter. Rafi, et al. [20] showed the ability of these intelligent flight
7
Model Reference Adaptive Control (MRAC) is an adaptive flight control architecture which
makes a non-linear system follow desired dynamics even in the presence of model error and
failures. The important part that makes this possible is an Artificial Neural Network or some other
adaptive element. Since the system adapts to change, it was demonstrated that MRAC can be
utilized to control aircraft that are in loss of control regime as shown by Bosworth and Williams-
Early MRAC methods were introduced around 1980s. Neural networks were used to adjust
for unmodelled system dynamics, Narendra and Annaswamy [23] and Lewis, et al. [24]. The
MRAC was implemented in controlling aircrafts by Rysdyk and Calise [25]. They combined the
The General Aviation Flight Lab at Wichita State University has been conducting research
on Adaptive control systems since mid-1990s. The city of Wichita is home to various general
aviation aircraft manufacturers like Cessna, Hawker Beechcraft (Currently Textron) and
Bombardier-Learjet. An early control method for general aviation was developed by Duerksen
[26] as part of his research funded by NASAs Advanced General Aviation Transportation
Experiment (AGATE) program. Author developed a longitudinal decoupled flight controller with
fuzzy logic that commanded flight path angle and airspeed. Steck, et al. [27] researched an adaptive
control system with decoupled pilot commands and simulated with a general longitudinal delta
wing model and included the pitch attitude and airspeed commands. This technique included a
linear compensator and an Artificial Neural Network that was trained offline.
Since 2001, WSU partnered with Beechcraft Corporation to further develop such Advanced
Flight Control System (AFCS) algorithms for general aviation applications. For purposes of
modeling, simulation and flight testing, the algorithms developed were tested to a Beechcraft CJ-
8
144 Small Aircraft Transportation System (SATS) Fly-By-Wire test bed. Work by Pesonen, et al.
[28] Advanced the AFCS into MRAC dynamic inverse controller. The more advanced version of
the controller called the Adaptive Biased Controller (ABC) was developed by Steck, et al. [29].
The ABC was an ANN that included only the bias term of the neural network. The present work
also utilizes the same architecture to explore the ABCs ability to adapt ornithopter flight dynamics
and model errors. The same architecture or a modified form was utilized in [19, 20].
One of the common characteristics among the above mentioned ornithopter projects and
Han, et al. [30] was that they concentrated on developing the flight models for the particular aircraft
model they were working with. This work attempts to develop a general Simulink model for an
ornithopter that can be utilized to simulate and develop controllers. Also, one of the requirements
that was considered besides the generality of the model was that, considering the advances in the
field of morphing wings and their control( Krashanitsa, et al. [17]), it should also consider the
ability of the bird-like ornithopter to morph its wing shape to have an agile flight and
maneuverability.
The aim of this work is to develop a general non-linear model for a bird-like flapping wing
aircraft using appropriate model for aerodynamics and flight dynamics, followed by selection of a
After the selection of a suitable model, a model follower Adaptive Non-linear Dynamic
inversion control is designed. A simple ANN is used and then its effect is studied in a scenario of
9
A model of the ornithopter aerodynamics will be developed in MATLAB/SIMULINK
environment and will be coupled with a suitable flight dynamics model. This general model will
be simulated with an aircraft model to understand the dynamics of the system and effects of various
A-matrix and B-Matrix failures on the system. Then the Adaptive component will be added to the
system to study whether it is able to adapt to this aircraft model with oscillating states. Since the
aircraft flight dynamics is similar to that of fixed wing aircraft, with which the adaptation has been
successful in tracking the commands in presence of failures, it is expected that the adaptive
controller will be successful with ornithopter flight dynamics in improving its tracking
10
CHAPTER 2
AERODYNAMICS
The main ingredients to develop a model of any aircraft starts with a good aerodynamic
model which is then coupled with a dynamics model and together they represent the bird like
flapping wing aircraft. Various researchers have used a wide range of aerodynamic models for
flapping wing aircraft. Some used experimental methods like wind tunnel and motion capture
techniques. Krashanitsa, et al. [17] used an off-the-shelf Cybird P2 ornithopter to address the flight
dynamics of an ornithopter and made it perform waypoint and altitude navigation, demonstrating
stable performance of their automatic flight control system. To derive an aerodynamic model they
utilized a 3 x 4 feet wind tunnel. This model was the utilized for their research.
Grauer [31] used the wind tunnel experiments to formulate an aerodynamic model for the
tail. Also Grauer [31], Grauer, et al. [32] and Shigeoka [14] the authors uses experimental
technique of system identification by visual tracking. The ornithopter is adorned with strategically
11
placed reflective markers and then flown in front of cameras which capture the position of these
markers. The data from their position was utilized to complete the aerodynamic model.
Rose and Fearing [33] considered a combined approach of wind tunnel measurements and
free flight measurements using sensors. The work utilizes a wind tunnel to develop a basic model
12
of the aircraft and then measurements from flight are used to correct the wind tunnel based model
so that the final model resembles the true aircraft. Kaviyarasu and Kumar [34] utilized an available
simulation platform like X-plane to calculate the aerodynamics and then subsequently develop a
steady-state aerodynamic models. Similarly, Rashid [35] uses a quasi-steady state aerodynamics
model and ignores the unsteady wake effects. A linear aerodynamics is assumed. Similarly an
One of the most popular models in use today is the one developed by DeLaurier [37]. The
model presented an unsteady aerodynamics for an ornithopter using modified strip theory (MST).
This model has been used by Kim, et al. [38],Han, et al. [30], Chalia and Bharti [39] and BENG
[40]. Kim, et al. [41] improved on this model to consider dynamic stall for a high relative angle of
attack. Malik and Ahmad [42] Uses the model to study the effects of different parameters on lift,
thrust and drag forces for understanding the flapping wing flight. The model used in this thesis is
mechanical flapping wing flight. The model breaks down the entire wing into small sections of
finite width and then the Lift, Drag and Moment is calculated for each section, based on the flow
properties locally along with the kinematic effects of the flapping action to get the local flow
characteristics. These local aerodynamic properties are then integrated over the entire wing to
13
The main advantages of this approach is that it takes into account the unsteady-wake
effects, camber effects, partial leading edge suction effects and post stall behavior of the airfoil.
This makes it a model that closely resembles an actual biological flapping wing. Another main
advantage of this model is the way it processes the whole wing by breaking it into sections, with
each section having its own geometric properties like width, chord length and airfoil. This property
of this model gives us the flexibility to consider a morphing wing model which will be able to
change the shape and size according to the needs of the mission.
2.2.1 Assumptions
This model comes with some assumptions. Firstly, the model assumes that wings aspect
ratio to be large enough that flow over each section is chord wise. A high aspect ratio, value 10 or
higher, exists in gliders. However, Kamakoti, et al. [43] performed computations on certain bird
species with aspect ratio as low as 4.6, since reasonable results were obtained despite violating the
assumption. Thus, it is assumed that the low aspect ratios can also be considered without violation
Secondly, the model assumes that the span of the wing doesnt change in flight but the
kinematics of the wing allows us to take into account the span wise bending and twisting as
illustrated by Larijani and DeLaurier [44] wherein the authors develops an aeroelastic model for
wings of a full-scale ornithopter to study and include the wings spanwise bending and twisting
Another important assumption in the model is that the wing flaps in a continuous sinusoidal
motion with equal times between upstroke and downstroke. There is also a phase lag of 2
14
between the plunging, vertical movement of wings, and the twisting motion , pitching motion of
the wings.
Figure 9 shows the wing section aerodynamic and motion variables that will be described
below.
= () cos (1)
Where,
= =
15
=
The dynamic twisting, is assumed to vary linearly along the span. It is given by,
= ( ) sin (2)
Where,
As we can see from the cos in equation (1) and the sin in equation (2), the twisting
motion of the wing has a phase lag of 2 from the plunging velocity, .
Other variables that play an important role in wing kinematics are , where
= 34
= 34
The value of is calculated as the ratio of the local vertical velocity of the wing section to
local forward velocity , i.e. the sum of plunging velocity, twisting velocity and forward velocity,
cos( ) +
(
3
+
( ) )
4
= (3)
Where, in figure 9,
= . . ,
= . .
16
=
= . .
Referring to figure 9, The values of are given in the equations (4) and (5) respectively.
= +
(4)
Where,
= . .
= + (5)
Now that we have the value of , the value of can be calculated using the expression
= () (6)
The co-efficient of in equation (6),() accounts for the wings finite span unsteady
vortex wake by means of a strip theory model. It is a modified Theodorsen function for finite AR
wings, calculated by Jones [45] , and is the reduced frequency given by equation (7)
= (7)
2
Since the function () is complex, it was convenient to use Scherer [46] alternative
formulations, given by
()
() = (2+)
(8)
17
Where the complex function, () is given by
() = () + () (9)
1 2
() = 1 ( + 2 2 )
2
(10)
() = ( 21+ 2 2
)
(11)
2
0.5
1 = (2.32+)
(12)
0.772
2 = 0.181 + (13)
In order to solve equation (14) the motion of the wing is assumed to be given by
= (14)
On substituting equations (7), (9) and (14) into equation (6), we get
()
= (2+)
[ () + ] (15)
2
The Downwash term, , is due to the mean lift produced by angle of the sections zero-lift line,
and the sections mean pitch angle, . For untwisted elliptical-planform wings, Kuethe and
Chow [47] obtained an expression for the downwash term as given below
)
2( +
= (2+)
(16)
Also, the flow velocity, must include the downwash as well as the wings motion relative to .
18
1
2 1 2 2
= {[ cos sin( )] + [( + )
] } (17)
2
The general direction of the forces acting on wing is shown in figure (10)
have to set a criterion for attached flow over a section in terms of dynamic stall angle, as
1
2
= ( ) + [2] (18)
Where is a function describing the slope of the curve for the relation between dynamic
stall angle and the pitching velocity/freestream velocity relation for a certain Mach number,
19
which can be obtained from DeLaurier [49]. The criterion for the attached flow over the section
is
3
( ) [ + ( )] ( ) (19)
4
When the attached flow range is exceeded, totally separated flow is assumed to abruptly occur.
= () (20)
2
1
Where, is the flows relative velocity at the 4 chord location, and
() = 2( + + ) (21)
Since the flapping wing sets air into motion, a virtual mass has to be incorporated in the
calculations for the normal force. Thus, an additional normal force contribution comes from the
apparent mass effect due to wings flapping, which acts at midchord as shown in figure (7) and is
given by
2
= 4
2 (22)
Where, 2 is the time rate of change of the midchord normal velocity component due to wings
1
= (23)
4
20
= + (24)
When the flow over the section gets separated, the normal force due to circulation is due
( ) = ( ) (25)
2
Where,
1
= ( 2 + 2 )2 (26)
is the flow speed tangential to the section and is the midchord normal velocity component
1
= cos( ) + 2 + sin (28)
Moreover, the normal force due to apparent mass effect during separated flow is considered to be
1
( ) = (29)
2
The sections circulation distribution also generates forces in the chordwise direction.
DeLaurier [49] obtained the equation for chordwise force due to camber
= 2 ( + ) 2 (30)
21
Garrick [50] expression for the leading edge suction of a two dimensional airfoil maybe
applied to the present strip theory model, giving an expression for the chordwise force due to
1
= 2 ( + 4 ) (31)
2
Where is the leading edge suction efficiency factor that accounts for the fact that most
airfoils, due to viscous effects, have less than 100% leading edge suction predicted by strict
2
= ( ) (32)
2
= (33)
When a totally separated flow occurs over a section then all the chordwise forces are
Now that we have the expressions for the normal and chordwise forces of one particular
22
The above equations maybe integrated along the wingspan to give the whole wings
() = 2 =1 cos (36)
() = 2 =1 (37)
() is the sections dihedral angle at that instant in the flapping cycle, given as
= cos (38)
Where is the cycle angle given by, . The wings average lift and thrust are obtained
by integrating () and () over the cycle. To achieve this it was found convenient to perform
1 2
= () (39)
2 0
1 2
= () (40)
2 0
2.2.3.6 Moments
The total moment, generated by the flapping wing is sum of sections pitching moment about
moments
= 2 2 (41)
Where, is the co-efficient of moment about aerodynamic center, is the wing surface area
1 1
= [16 3 + 128
4 ] (42)
= + (43)
23
2.3 PROGRAMMING
The programming of the aerodynamic model was done by BENG [40] in MATLAB and the
code has been modified, The Graphical User Interface (GUI), and the optimization module has
been removed and only the code that calculates the aerodynamic parts was retained, to suit the
needs of the present work. The modified code is attached herewith as Appendix A.
1. Negative- stalling does not occur. Therefore, from equation (19), flow separation
zero.
3. The crossflow drag coefficient , ( ) in equation (25) was chosen to be that for a
4. The texture of wings surface is assumed to such as to produce a full chord turbulent
boundary layer. Thus, the friction drag coefficient, ( ) , obtained from Hoerner
[51] is given by
0.89
( ) = (44)
[log( )]2.58
The present work adopts the aero model presented in this chapter to accurately represent
24
2.4 TAIL AERODYNAMIC MODEL
The tail module is adopted from the work done by Grauer [31]. The model was developed
using wind tunnel data. The equations for various aerodynamic forces and moments are given
below:
= = Force co-efficient in x-direction of body Axis
= = Force co-efficient in y-direction of body Axis
= = Force co-efficient in z-direction of body Axis
= = Rolling moment co-efficient
= = Pitching moment co-efficient
= = Yawing moment co-efficient (45)
The values of these co-efficients are calculated based on the equations below:
= + 2 2
= + +
= +
25
= + 2 2 + + +
= (46)
In order to include the control variables, and , certain changes were made to equations
(46). The pitch control variable , , was added to of the tail. Hence, the angle of attack of the
The lateral control variable , is incorporated in a slightly different way. The lateral
control of the ornithopter is achieved by re-positioning the angle at which the forces act so that
some of the lift generated by the tail is utilized for generating a small side force that corrects any
change in side-slip angle. Thus, the aerodynamic forces X, Y and Z of that tail are rotated by roll
angle of . Thus the new forces considering the roll angle is given by:
Also, there is small change made in the Yawing moment equation, where a moment arm is
added to add the effect of side-force produced by re-directing the lift of tail.
= + 2 (2) (48)
Where,
The MATLAB S-functions showing equation (45) (48) is attached herewith as Appendix B.
26
CHAPTER 3
FLIGHT DYNAMICS
Once we have selected an appropriate aerodynamic model, the next step is to search for a
flight dynamics model that captures the non-linearity of an ornithopter flight. The model chosen
must take into account the flapping of wings along with various effects that it has on dynamics of
the system.
The 6-DOF nonlinear equations from Roskam [52] are given below, the symbols have their
usual meanings:
1. For the force equations in the airplane body-fixed axis system XYZ
2. For the moment equations in the airplane body-fixed axis system XYZ
27
Since only the longitudinal case is considered here the equations 45-53 reduces to
( + ) = sin + + (58)
( ) = cos + + (59)
= + (60)
= (61)
In addition to the equations above the following two equations also are added to the list to calculate
The equations (58) (63) can be used as a part of the flight dynamics model. Since, the values of
, , , are not constant for an ornithopter but tend to oscillate about a value, Dietl and
Garcia [53] defines ornithopter trim as a limit cycle with the same frequency as the flapping input.
This particular model combined with aerodynamic model was then used to study the stability of
Rose and Fearing [33] also uses this simplified aircraft longitudinal equations to represent
the flight dynamics of the ornithopter being used by the authors. Values for aerodynamic forces
and moments, velocities are measured at the body cg using various sensors. The rigid body diagram
28
Figure 11 Rigid Body Model
The main advantage of using the above method is that it gives us a simple linear model to
represent a complex system. The disadvantage is that it fails to take into account the non-linearities
One of the methods that is used for modelling the flight dynamics is using Kanes
equations. The method is introduced by Bolender [54]. According to the author the advantage of
using the Kanes equation is lesser amount of algebra than the Lagranges equations that arise due
to the process of defining the entire dynamic model with respect to an Inertial frame of reference.
One of the disadvantages of using these equations is that linear and angular accelerations has to be
calculated theoretically rather than via empirical/practical means, and these values for each body
One of the commonly used multibody model was developed by Grauer and Hubbard Jr
[55]. The model is shown in figure (12). In this method, an ornithopter is broken down into its
components namely, wings, body and tail. Each of these parts have their own cg and hinge points
to be connected to other components as shown in figure (13). One of the notable difference in this
29
model is that the equations that connects the velocity states with applied forces is derived using
generalized Lagranges equation also known as Boltzmann-Hamel equations. This method is also
implemented by Orlowski and Girard [56] to study dynamics and control of insect flight.
Tail
Body
Tail Mechanism
Wings
The method thats used in this work was developed by Rashid [35] based on
Newtonian equations. It was developed for a full scale ornithopter The Great Flapper [2]. It
expands the normal aircraft equations to include the effects of the wing flapping on the overall
dynamics of the system. The conventional notation used is shown in figure (14). Author developed
two different models, a 2-panel model and a 3-panel model. The later, figure (15) was used to
model the dynamics of The Great Flapper while we will be using the 2-panel model described
in section 3.2.
30
Figure 14 Convention used in [29]
31
3.2 2-PANEL FLIGHT DYNAMICS MODEL
The model presented here can be called the 2-panel method , figure (16). This method
assumes that an ornithopter can be broken down into body , including tail and fin (if any), and 2-
wing panels. The forces and moments produced by wings are coupled to body through the
reactionary forces at the hinge points where they are attached to the body as shown in figure (17).
Figure 17 Position of Body and Hinge joints with Forces and Moments
32
The equations of motion are written down separately for body and each of the wings and
then they are connected through the kinematics equations. The final equations are given as a set of
18 Linear equations with 18 unknowns, namely the states , , , , , and the reaction forces
and moments at the hinge joints between each of the wings and body. The present work converts
them into 6-DOF equations which then becomes easier to model in MATLAB/Simulink.
Before taking a look into how this work develops this set of equations, we have to define
the axes based on which these equations are derived. A body-fixed axis system was implemented
by the author in this method and the wing axis also aligned with the body axis all the time. This
unique choice of wing axes simplifies the kinematic analysis. The axes system is shown in figure
(18).
be a thin flat plate. The flapping was assumed to be sinusoidal and the twisting of the wing is
ignored in this analysis. However, in aerodynamic analysis the twisting of wings plays an
33
Some of the variables that are used in subsequent sections are defined below:
= [ ] = Distance from body cg to point on root of wing aligned with wing cg
where i = w1 or w2
34
3.2.1 Components of Weight
with = , 1 , 2 where 1 denotes port wing, body and 2 denotes starboard wing
The body equations of motion are developed w.r.t body-fixed axes which is assumed to be
at the body center of gravity. The aerodynamic forces and moments are combined into a single
term and the reaction forces and moments at the hinges are included in the equation. The equations
+
Force Equation : + + 1 + 2 = ( )
(64)
+ + +
Moment Eqn : +
= (65)
1 1 2 2 1 2
where, = Moment of Equation Matrix of respective components= [ ]
35
3.2.3 Wing Equations of motion
The axis system which is attached to the wing cg is always aligned to body-fixed system.
+
Force Equation : 1 + 1 1 = 1 ( 1 )
1 (66)
1
Moment Eqn : 1
1 = 1 1 + 1
1 1 1 (67)
1 1 1
Where,
= [
]
where,
1 =
+
1 and
1 = rate of change of flapping angle
36
3.2.3.2 Starboard (Right) Wing
+
Force Equation : 2 + 2 2 = 2 ( 2 )
2 (68)
2
Moment Eqn : 2
2 = 2 2 + 2
2 2 2 (69)
2 2 2
Where,
where,
2 =
+
2 and
2 = rate of change of flapping angle
3.2.4 Kinematics
We can observe from equations (62)-(65) that we have to establish a relationship between the wing
Figure 22 Kinematic link between body (a) and Wing (c) via Hinge (b)
37
3.2.4.1 Port (Left) Wing Velocity and Acceleration
1 =
Velocity: +
( 1 +
1 ) + 1 )
1 ( (70)
Acceleration:
=
+ 1 ) + + (
1 ) + 1 ) +
1 1 +
(
(
2
1 ) + 1 (
1 ( 1 ) +
1 1 )
1 ( (71)
2 =
Velocity: +
( 2 +
2 ) + 2 )
1 ( (72)
Acceleration:
=
+ 2 ) + + (
2 ) + 2 ) +
2 2 +
(
(
2
2 ) + 2 (
2 ( 2 ) +
2 2 )
2 ( (73)
The values of wing velocities and accelerations from equations (66)-(69) are substituted into
equations (62)-(65). Then values of the reaction forces and moments from these equations are then
substituted into equations (60) and (61) to get the final expressions.
The detailed solution of the above equations are given in the Appendices B and C Rashid
[35]
38
The final expressions in vector form is given below:
+ (
( + 1 + 2 ) 1 ) + 2 ( 2 ) =
1 1 2
+ + 1 + 1 + 2 + 2 + ( ) 1 [(
1 )) +
(
+ (
1 )) + (2
( 1 )) + 1 (
1 ( 1 ) +
(
1 1 )) +
1 ( +
1 ( ( 1 +
1 ) + 1 ))]
1 (
2 [( 2 )) +
( + (
2 )) + (2
( 2 )) +
2 (
2 (
2 ) + (
2 2 )) +
2 ( +
2 ( 2 +
2 ) +
(
2 ))]
2 ( (74)
+ 2 + 1 + (1 + (
1 ) (1
1 1 1 )) +
(2 + (
2 ) (2
2 2 2 )) = + 1 + 2
1 1 2 2
1 1
1
2 2
2 1
1 2 2 +
(1
1 ) (1 [( 1 )) +
( + (
1 )) +
(
(2
1 )) + 1 (
1 ( 1 ) + (
1 1 )) +
1 ( +
1 ( 1 ) +
(
1 +
1 ))] + + 1 ) + (
1 ( 1 2
2 )(2 [( 2 )) +
(
+ (
2 )) + (2
( 2 )) + 2 (
2 ( 2 ) +
(
2 2 )) +
2 ( +
2 ( ( 2 +
2 ) + 2 ))] + +
2 ( 2
2 (75)
39
CHAPTER 4
4.1 INTRODUCTION
There are various models that the researchers use for ornithopter research that can serve as
an example for our model, but since majority of them are proprietary or the data available are not
sufficient to complete the requirements of our sub-systems, our choice was very limited. One of
the options was the The Great Flapper that was built by Dr DeLaurier. Even though the wing
section details, like number of sections, chord length of each section, airfoil of each section
etc.,.and mass details were available for building the aerodynamics model, necessary information
like wing CG location, Moment of Inertia etc., were not available to complete the flight dynamics.
The second option was the more common UAV Slow Hawk Ornithopter that was built by Sean
Kinkade, which is very common among hobby enthusiasts. The geometric details of this selected
Now that appropriate aerodynamic and flight dynamics model has been selected. The logical
next step is to develop SIMULINK models for the same. These SIMULINK sub-systems will be
linked together to act as a mathematical model of a real flapping wing aircraft. Subsequently
controllers can be developed for this model and the ANN based architecture can be studied.
This chapter explains each of the sub-system blocks, namely Aerodynamics block and Flight
dynamics block, including their inputs, outputs etc.,. Followed by the input parameters of the
40
4.2 AERODYNAMICS BLOCK
The aerodynamics model has been explained in detail in chapter 2. The code was developed
by BENG [40] for his model and it includes an optimization module to select the flapping
frequency for the aircraft that was being designed by him. Since the present work is going with an
existing model this optimization module and other Graphical User Interface (GUI) modules were
ignored and only the core of the program, described in Chapter 2, which calculates the
aerodynamic forces and moments is used. The Aerodynamic block is shown in figure (23)
OUTPUTS
INPUTS
41
As we can see in the above figure (23), the aerodynamics block has the inputs as
enumerated in table 1 below. Velocity and angle of attack are states from the flight dynamics
The outputs from the aerodynamic model are the forces and moments, and includes other
important variables that are required by flight dynamics block. The details of every output is
42
Table 2 Aerodynamic Block Outputs
43
Now that the inputs and outputs of the block is defined, the internal structure is shown in
figure (24).
wing and the tail modules. The wing module is separately fed into the flight dynamics model while
The wing module is consists of equations () from chapter 2 and is structured as a s-function
that takes in the inputs provided in table (1) above and table (3) below. Table (3) summarizes the
44
aerodynamic properties of the aircraft wing, defined in chapter 2, that plays a vital role in
Beta0 rad Magnitude of dynamic twists linear variation
45
4.3 AIRCRAFT INPUTS AERODYNAMICS
4.3.1 Wings
As mentioned in the introduction, the aircraft selected for simulation in this thesis is the
Slow Hawk Ornithopter built by Sean Kinkade [5], Kinkade [57]. Various properties and
geometric dimensions required for the aerodynamics model developed in previous sections are
In the above mentioned work the ornithopters wing is assumed to be made of Liebeck LPT
airfoil. The important aerodynamic properties of this airfoil that will be used in this work are given
Work by Zakaria, et al. [58] also presented the following input data for the Slow Hawk Ornithopter
46
The wing is broken down into 12 segments as shown in figure 25 below:
The values of the variables like , and were selected , though different from ones chosen by
Zakaria, et al. [58] in such a way that the lift generated by the wings matched the weight of the
aircraft at the given speed. Their values are given in table 7.The characteristics of slow hawk
ornithopter and the mean chord lengths of the 12 segments are given in tables 8 and 9.
VARIABLE VALUE
35 deg
5.2 deg
0.5 deg
47
Table 8 Mean Chord lengths of wing sections
Section
1 2 3 4 5 6 7 8 9 10 11 12
No.
Chord
1.18 1.14 1.11 1.082 1.049 1.01 0.984 0.95 0.91 0.88 0.78 0.49
(ft)
Since optimization was not the goal of this work, we chose a set of values for various design
variables to generate enough lift whose magnitude is equal and opposite to the weight of the
With the variables given above in tables (4-9) , the aerodynamic block was populated and
run and the calculated Lift, Thrust and Moments of the wing are shown below in figures 26,27 and
28
48
2.5
1.5
Lift(in lbs)
0.5
-0.5
0 1 2 3 4 5 6 7 8 9 10
Time (in secs)
1.5
0.5
Thrust (in lbs)
-0.5
-1
-1.5
0 1 2 3 4 5 6 7 8 9 10
Time (in secs)
49
0.9
0.8
0.7
Pitching Moment (in lbs-ft)
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
Time (in secs)
50
4.3.2 Tail
The aerodynamic model was explained in the section 2.4. These co-efficients are given
in table (9).
FORCES VALUE
51
4.4 FLIGHT DYNAMICS BLOCK
The flight dynamics model that will be used in this work has been explained in Chapter 3. The
final expressions for the force and moments equation were derived in equations (70 and 71). These
INPUTS OUTPUT
52
The inputs and outputs are explained in the following tables.
EQUATIONS 70 and 71
Force_body +
Force_wing 1 1 + 1
Force_wing 2 2 + 2
Moments_body
Moments_wing 1
1
Moments_wing 2
2
Omega_c1
1
Omega_c2
2
Omega_c1_dot 1
Omega_c2_dot 2
dI_w1
1
dI_w2
2
53
Table 12 Flight Dynamics Block Outputs
EQUATIONS 70 and 71
Vb_dot
Wb_dot
Euler , ,
Xe x,y,z
V_b
W_b
Alpha
And 2
1 are calculated because the flapping wing changes the values due to the
flapping motion. A generalized equation was developed based on the one derived by Rashid [35]
in appendix E. This equation was then coded as a S-function in MATLAB, which is attached in
54
Aerodynamic Block giving S-Function calculating Input into Flight Dynamics
model also consists of a S-Function in the end to calculate the linear and angular accelerations.
The output from this S-function is then further integrated to get the linear velocity and angular
velocity in body-axis.
These velocities are then used for further processing to solve for equations 51-53 to derive
Euler angles. These angles are further utilized to solve for trajectory in the inertial frame of
reference.
Since the model is too big to be shown as a single image, it is broken into various pictures
55
Figure 32 Force Equations Part I
56
Figure 34 Moments Equation
57
Figure 35 Solving for Linear and ANgular Accelerations
58
4.5 AIRCRAFT INPUTS-FLIGHT DYNAMICS
There are two more main sets of inputs that are needed for successful execution of the overall
SIMULINK model. The first one is the overall global variables like Mass of various components,
density value, etc.,. Secondly, the inputs required to initiate the Flight dynamics model.
Inertia_wing 1 [0.0217147 0 0;
0 0.0100256 0;
0 0 0.03173936]
Inertia)wing 2 [0.0217147 0 0;
0 0.0100256 0;
0 0 0.03173936]
Inertia_body [0.0026713267 0 0;
0 0.09015876 0;
0 0 0.08873731];
59
Majority of the variables that plays a role in flight dynamics model has already been defined or
1
[0 -0.1 0]
2
[0 0.1 0]
1 [0 0 0]
2 [0 0 0]
60
CHAPTER 5
CONTROLLER DESIGN
5.1 DESCRIPTION
controller, dynamic inverse controller and an adaptive element. The pilot commands the pitch
rate, , which can be assumed as a part of a perching maneuver. This pitch rate is passed through
a first-order model follower to generate, , the model pitch rate and this signal is differentiated
to get, . The tracking-error, , is then passed through the PI controller, giving , . This
signal is added to and the output from the adaptive component, , to provide, an input
The inverse controller solves a pseudo inverse of the longitudinal aircraft equations of
motion, given the pitch acceleration commands and the aircraft states as inputs, to calculate the
This is then input to the aircraft model. The adaptation requires the pitch acceleration from
the PI controller, the desired pitch acceleration from the model follower, the linear and angular
velocities, angle of attack of the aircraft body and the moments generated by the wing and tail.
With this architecture, since the velocity loop is not controlled, when a doublet is
commanded in the pitch there will be a drop in forward velocity of the aircraft.
61
5.2 MODEL FOLLOWER
The first component of the controller is the model follower shown in figure (39).
The reference model is a first-order system calculating for the input of the vector of
commanded aircraft rotational rates, and is given by Nguyen, et al. [59]in equation (40) as
+ = (76)
Where is the matrix of natural frequencies of each axis along the diagonal.
Equation (76) is applied only to the pitch rate command, , which gives us the following
equation
+ = (77)
Laplace Transforming, we can see that the above equation is a first-order transfer function
1
with a time constant of .
To design this controller the preferred parameter is the rise time of the system, , as
62
2.2
= (78)
,
In order to avoid transmitting a noisy error signal to the PI controller, the derivative portion is
taken directly from the model as . This is then added to the output of PI controller and the
The rise time for the PI controller was chosen to be 0.5 secs hence, the model followers rise
The second component of the controller architecture is the PI controller. This was also taken
from work by Nguyen, et al. [59]. In a linear analysis assuming the inverse controller and the
aircraft perfectly cancel each other to become an integrator, using a gain other than unity for
will result in not exactly following, . The PI controller in the frequency domain is represented
as
= ( + ) (79)
Where, = .
Nguyen, et al. [59] recommend relating the gains to the desired dynamics of the system for
a specified damping ratio,, and natural frequency, , in the case of the longitudinal controller
= 2 (80)
= 2
The rise time for the system was chosen to be 0.5 secs with a damping ratio of 0.9
63
5.4 INVERSE CONTROLLER
The inverse controller used in this control architecture was derived by inverting the equations
70 and 71. The input to the controller is the commanded pitch acceleration . The inverse
controller generate the required control values of the tail setting angle, i_t to achieve the desired
accelerations. An approximate solution to the equations of motion is given below after substituting
1 + 2 ( ) ( 1 )(1 1 ) ( 2 )(2 2 )
(
+ ) (81)
1 2
5.5 ADAPTATION
The adaption used here is known as the Adaptive Bias Controller. It is the key component
in the Model Reference Adaptive Controller. The adaptive element adjusts the inputs to the inverse
controller by accounting for the modelling error between aircraft and the inverse controller, which
The Adaptive Bias Controller was developed at Wichita State University as a simple
adaptive element. The ABC adaptation uses a simple bias neural network element that
parametrizes the modelling or tracking-error to form the corrective signal of such that
= + () (82)
The modelling-error has been used historically at WSU. The modelling-error is the
64
() = (83)
One of the changes in the architecture that has been studied here is replacing the PI Controller
in section 5.3 with a PD Controller. The PD controller in time domain is presented as follows
= ( + ) (79 a)
Figure 39 PD Controller
65
5.7 MAJOR MODEL DIFFERENCES
There are slight differences in the overall control architecture in the error signal. Instead of
feeding in the from the model follower to calculate the error signal, the signal from the
PI controller is compared with the actual aircraft state to generate the error signal over which the
ANN adapts.
During early design stages it was found that the tail size and its aerodynamic co-efficients
caused it to oscillate with a higher amplitude during trim conditions. Hence, in order to reduce
these oscillations, thus reducing the actuator effort, the tail was assumed to be bigger and placed
accordingly such that the aerodynamic properties of the tail is scaled up by a factor of five.
Also, the trim value of the tail setting angle was found to be beyond normal operational
limits. Hence, in order to bring this value within acceptable, practical levels the of the tail was
In the flight dynamics model it was also observed that of the tail was unstable with a
positive value. Hence, in order to have a stable system the value of was chosen to have a more
During initial trials it was observed that due to the kinematics of the wings made the aircraft
drift slightly sideways, a small yawing and rolling moment, which was seen to affect the
longitudinal variables behavior. Since lateral control was out of scope of the current work, a PI
controller was chosen and was tuned automatically using MATLAB/SIMULINK.
66
CHAPTER 6
RESULTS
The results presented are the time response tracking of the final design gains for the
controller.
The time response of the controller to the pitch rate doublet will be shown for the states of
pitch rate, angle of attack, airspeed, aircraft pitch angle along with the control input, tail setting
angle. The results compare the performance of the system with and without the adaptation.
This chapter has three sections. The first section presents the results of the control
architecture described in the previous sections for A-Matrix errors in the aircraft model. The
second section presents the results of the control architecture with a PD element in place of the PI
controller along with the same modelling errors as introduced for the PI controller. The third
section presents the result of performance of the above mentioned architectures in case of the tail
actuator failure, a B-Matrix error, which is assumed to reduce the effectiveness of the tail by half.
11.1 PI CONTROLLER
The gains from chapter 5 of the controller is given in table (15) below:
VARIABLE VALUE
10.38
33.25
0.02
67
With no delay errors the time response of the controller to the pitch rate doublet is shown
in figure 41 and 42. This controller was able to track the commanded value of pitch rate. The
oscillations observed in the figures are due to the flapping of the wings. The values plotted here
are the forward velocity u, angle of attack , pitch angle and the pitch rate q.
u alpha
15.5
0.05
15.4
forward Velocity (ft/sec)
15.3
0
alpha (rad)
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.1 model
0.15
0.05
Theta (rad)
q (rad/sec)
0.1 0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
0.8
0.6
0.4
Input (rad)
0.2
-0.2
-0.4
10 15 20 25 30
Time (secs)
68
The first case is to study the performance of the PI controller when an error is introduced
in the model by reducing the by half in the aircraft model but Inverse Controller assumes the
original value. We can see from fig 43 that system is not able to follow the commanded doublet of
u alpha
15.5
0.05
forward Velocity (ft/sec)
15.4
15.3
0
alpha (rad)
15.2
15.1 -0.05
15
-0.1
14.9
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.15 0.1 model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
0.8
0.6
0.4
Input (rad)
0.2
-0.2
10 15 20 25 30
Time (secs)
adapted to reduce the tracking error and the system followed the commanded doublet in pitch
rate as seen in figure 45. We can also observe that the system overshoots the commanded value
at around 22 sec mark, this maybe due to ANN re-adapting to the change in direction combined
u alpha
forward Velocity (ft/sec)
0.05
15.4
alpha (rad)
0
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.15 0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1 0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
70
Input
0.8
0.6
0.4
Input (rad)
0.2
-0.2
10 15 20 25 30
Time (secs)
ANN Input
0.7
0.6
0.5
0.4
0.3
ANN I/p
0.2
0.1
-0.1
-0.2
10 15 20 25 30
Time (secs)
71
The second case is to show the performance of the PI controller when an error is introduced
in the model by reducing the to zero in the aircraft model, but Inverse Controller uses the
original value. The controller was again unable to exactly follow the commanded pitch rate as we
can see in figure 48 that actual value of the q from 20-25 sec mark.
u alpha
0.05
forward Velocity (ft/sec)
15.4
alpha (rad)
0
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
72
The ANN was introduced again and it can be observed that the ANN adapted to the
modelling error and reduced the tracking error as observed from the 20-25 sec mark in the q plot
of fig 49. It is also observed that the system does not follow the command exactly from 22-24 sec
mark.Even though it was observed in previous case in fig 45, it has shown an improvement.
u alpha
15.5
0.05
forward Velocity (ft/sec)
15.4
15.3
alpha (rad)
0
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.1
0.15 model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
73
ANN Input
0.8
0.6
0.4
ANN I/p
0.2
-0.2
10 15 20 25 30
Time (secs)
in the model by using a value of in the aircraft model that is unstable with a magnitude of 50%
of its stable value, but Inverse Controller uses the original value. The controller was again unable
to exactly follow the commanded pitch rate. As observed in fig 53 from 20-25 sec mark of the q
plot.
74
u alpha
forward Velocity (ft/sec) 0.05
15.4
alpha (rad)
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
0.1 q (rad/sec)
0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
The ANN was introduced to adapt to the modelling error and reduced the tracking error.
The trend is similar to what is observed in the previous case in fig 52 with the an improvement in
75
u alpha
forward Velocity (ft/sec)
0.05
15.4
alpha (rad)
0
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.15 0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1 0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
0.8
0.6
ANN I/p
0.4
0.2
-0.2
-0.4
10 15 20 25 30
Time (secs)
76
The fourth case is to show the performance of the PI controller when an error is introduced
in the model by having a value of in the aircraft model that is unstable with a magnitude of
100% of its stable value, but Inverse Controller had the original version. Consistent with the
previous results the system is not able to track the commanded q from 20-25 sec mark.
u alpha
0.05
forward Velocity (ft/sec)
15.4
alpha (rad)
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
0.05 -0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
The ANN was able to adapt to this modelling error and the results are presented below. Also,
consistent with its previous trend seen above, ANN enabled the system to track the commanded q
and the it also improved upon its error at the 22-25 sec mark.
77
u alpha
forward Velocity (ft/sec)
15.4 0.05
alpha (rad)
0
15.2
-0.05
15
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.15 0.1
model
Theta (rad)
0.05
0.1 q (rad/sec)
0
-0.05
0.05
-0.1
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
1.2
0.8
0.6
ANN I/p
0.4
0.2
-0.2
-0.4
10 15 20 25 30
Time (secs)
78
11.2 PD CONTROLLER
The gains from chapter 5 of the controller is given in table (16) below:
VARIABLE VALUE
10
1.27
0.02
With no delay errors the time response of the controller to the pitch rate doublet is shown
in figure 56 and 57. This controller was able to track the commanded value of pitch rate. The
oscillations observed in the figures are due to the flapping of the wings. The values plotted here
are the forward velocity u, angle of attack , pitch angle and the pitch rate q.
u alpha
15.5
forward Velocity (ft/sec)
0.05
15.4
alpha (rad)
15.3 0
15.2
-0.05
15.1
15 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
Theta (rad)
0.05
q (rad/sec)
0.1
0
0.05
-0.05
0 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
79
Input
0.8
0.6
0.4
Input (rad)
0.2
-0.2
10 15 20 25 30
Time (secs)
case is to study the performance of the PD controller when an error is introduced in the model by
reducing the to half in the aircraft but inverse controller assumes the original value. We can
see from the fig 58 that the system is not able to follow the commanded pitch rate doublet.
u alpha
15.5
forward Velocity (ft/sec)
0.05
15.4
alpha (rad)
15.3 0
15.2
-0.05
15.1
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15 0.15
actual
0.1
model
0.1
Theta (rad)
0.05
q (rad/sec)
0.05 0
-0.05
0
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
to reduce the tracking error and the system behaved like a first order system. We can observe the
u alpha
0.05
forward Velocity (ft/sec)
15.4
15.3
0
alpha (rad)
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
actual
0.15 0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
0.6
0.5
0.4
0.3
ANN I/p
0.2
0.1
-0.1
-0.2
10 15 20 25 30
Time (secs)
81
The second case is to show the performance of the PD controller when an error is
introduced in the model by reducing the to zero in the aircraft model, but Inverse Controller
uses the original value. The controller was again unable to exactly follow the commanded pitch
u alpha
forward Velocity (ft/sec)
15.5
0.05
15.4
alpha (rad)
15.3 0
15.2 -0.05
15.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.1 actual
0.1
model
Theta (rad)
q (rad/sec)
0.05
0.05
0
-0.05
0
-0.1
-0.05
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
modelling error and reduced the tracking error as observed from the 20-25 sec mark in the q plot
of fig 62. The system responds like a first order system but it can be observed at the 22 sec mark
and 25 sec mark that the systems rise time is longer than the first case leading to an error from the
82
u alpha
0.05
15.3
0
alpha (rad)
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
0.8
0.6
0.4
ANN I/p
0.2
-0.2
10 15 20 25 30
Time (secs)
in the model by using a value of in the aircraft model that is unstable with a magnitude of 50%
of its stable value, but Inverse Controller uses the original value. The controller was again unable
to exactly follow the commanded pitch rate. As observed in fig 64 from 20-25 sec mark of the q
plot.
u alpha
15.5
forward Velocity (ft/sec)
0.05
15.4
alpha (rad) 0
15.3
15.2 -0.05
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.1 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.05
0
0 -0.05
-0.1
-0.05
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
84
u alpha
0.05
15.3 0
alpha (rad)
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
-0.05
0.05
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
0.8
0.6
ANN I/p
0.4
0.2
-0.2
10 15 20 25 30
Time (secs)
85
The fourth case is to show the performance of the PD controller when an error is introduced
in the model by having a value of in the aircraft model that is unstable with a magnitude of
100% of its stable value, but Inverse Controller had the original version. Consistent with the
previous results the system is not able to track the commanded q from 20-25 sec mark.
u alpha
forward Velocity (ft/sec)
15.5
0.05
alpha (rad)
15.4
0
15.3
15.2 -0.05
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.1
actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.05
0
0 -0.05
-0.1
-0.05
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
consistent with its previous trend seen above, ANN enabled the system to track the commanded q
86
u alpha
0.05
15.3 0
alpha (rad)
15.2
15.1 -0.05
15
14.9 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.15 actual
0.1
model
0.05
Theta (rad)
q (rad/sec)
0.1
0
0.05 -0.05
-0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
1.2
0.8
0.6
ANN I/p
0.4
0.2
-0.2
-0.4
10 15 20 25 30
Time (secs)
87
11.3 REDUCED TAIL EFFECTIVENESS
11.3.1 PI Controller
The PI controller architecture was also checked with a a condition where the effectiveness
of the tail was reduced to 50%. The results of the system without ANN adaptation is given below.
It can be observed from the q plot that the oscillations are of higher magnitude in this kind of
failure due to the role tail effectiveness plays in counteracting the moments generated by the wing
and the controller is not able to reduce the error arising because of the tail flapping.
u alpha
15.3
forward Velocity (ft/sec)
0.05
15.2
alpha (rad)
15.1 0
15
14.9 -0.05
14.8
-0.1
14.7
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.3
actual
0.2 0.2
model
0.1
Theta (rad)
q (rad/sec)
0.15
0
0.1
-0.1
0.05 -0.2
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
88
Input
1.4
1.2
0.8
Input (rad)
0.6
0.4
0.2
-0.2
10 15 20 25 30
Time (secs)
Since the adaptation occurred at the start of the run it can be observed that the ANN Input values
in figure 59, starts at a non-zero value as opposed to what we observed in the previous graphs. One
of the reasons is thought to be the source of the error, the error in the does not affect the trim
condition of the aircraft but it takes effect a pitch rate is commanded, while the reduced tail
effectiveness plays a role in achieving the trim conditions thus ANN adapts to it very early in the
simulation.
89
u alpha
15.6
forward Velocity (ft/sec) 0.05
15.5
alpha (rad)
15.4 0
15.3
-0.05
15.2
15.1 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.3
actual
0.2
0.15 model
0.1
Theta (rad)
q (rad/sec)
0.1 0
-0.1
0.05
-0.2
0
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
ANN Input
-0.4
-0.6
-0.8
ANN I/p
-1
-1.2
-1.4
-1.6
10 15 20 25 30
Time (secs)
90
11.3.2 PD Controller
The PD controller architecture was also studied and observations were made with a
condition where the effectiveness of the tail was reduced to 50%. Without the ANN adaptation the
system was not able to complete the simulation after the commanded pitch rate doublet leading to
it becoming unstable,
The ANN, when introduced in the system, was successfully able to adapt to this failure.
Since the adaptation occurred at the start of the run it can be observed that the ANN Input values
in figure 61, starts at a non-zero value as opposed to what we observed in the previous graphs.
u alpha
15.3
forward Velocity (ft/sec)
0.05
15.2
15.1
alpha (rad)
0
15
14.9 -0.05
14.8
14.7 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
Theta q
0.15
0.2 actual
0.1
model
0.15 0.05
Theta (rad)
q (rad/sec)
0
0.1
-0.05
0.05 -0.1
10 15 20 25 30 10 15 20 25 30
Time (secs) Time (secs)
91
ANN Input
-0.4
-0.6
-0.8
ANN I/p
-1
-1.2
-1.4
10 15 20 25 30
Time (secs)
92
CHAPTER 7
CONCLUSION
aerodynamics with consideration of wing shape and multi-body flight dynamics model. This work
further develops a Model Reference Adaptive Controller for pitch rate command using the
Adaptive Bias configuration of the adaptive element. This controller was subject to various failures
in the form of modelling error and reduced tail effectiveness. The controller architecture consisted
of a Model follower, PI/PD controller, Dynamic Inverse controller that received pitch, velocity
accelerations and an adaptive element. These, in combination, generated the necessary tail setting
angle commands. These commands were the inputs to the nonlinear aircraft simulation of a model
Each design involved tuning the PI/PD controller gains along with the learning co-efficient
Each of the architectures were presented with a commanded pitch rate doublet in original
version and also in various failure modes. Time responses for pitch rate, angle of attack, pitch
angle, forward velocity, tail setting angle were given for each of the test points. The following are
the conclusions for the MRAC controllers performance in flapping wing aircraft
The PI Controller architecture was able to adapt to the modelling error and tracked the
commanded pitch rate doublet in absence of any kind of failures but in presence of failures PI
controller was tracking the command with a steady state error and was also affecting the trim
93
values of internal dynamics. The adaptive element was able to correct this and successfully tracked
the commanded doublet in presence of modelling error and tail effectiveness error.
One of the observations was that the failure modes did not create any instability in the system
and the PI controller was able to correct the error. This maybe because the wing aerodynamic
model has no contribution to the the system thus the magnitude of instability that the tail alone
can bring to the system is low hence the controller was able to correct it.
The PD Controller architecture was able to track the commanded pitch rate doublet in
absence of any kind of failures but in presence of failures PD controller was not good at tracking
the command and in special case of reduced tail effectiveness it was not able to stabilize the system.
The adaptive element was able to correct this and successfully tracked the commanded doublet in
presence of modelling error and tail effectiveness error, it made the systems response to be similar
to a first order system but increasing error led to increase in the rise time of the adaptive
system.
One of the observations was that the failure modes did not create any instability in the system
and the PI controller was able to correct the error. This maybe because the wing aerodynamic
model has no contribution to the the system thus the magnitude of instability that the tail alone
can bring to the system is low hence the controller was able to correct it.
The system was also simulated in open loop conditions with the inverse controller and an input of
a doublet in the pitch acceleration. It was observed that the system was not able to trim, possibly
94
due to the oscillations from the flapping of the wing. Hence, an active controller is necessary for
The work presented in this thesis was for the longitudinal case only. It is recommended that
this architecture be extended to a 6-DOF simulation. It is also recommended that the present
aerodynamic model be extended to compute the pitching moment more accurately by including
the effects of angle of attack etc.,. The aerodynamic model of the tail can also be improved to
include a more extended flight envelope. The actuator dynamics can also be included in the flight
Another improvement that can be built up on this thesis is to consider the wing morphing in
the aircraft and hence to develop a controller to command shape of the wing to suit the mission
95
APPENDICES
96
APPENDIX A
function [dL_t,dT_t,dM_t,c1,c1_dot,gamma,gammasin] =
Lift_wing_mov(cs,ys,Alpha0In,EtaS,Cmac,MaxAlphaStallIn,time,dy,ThetaWIn,Beta0,U,f,alpha_b)
global SIUnit n m Density Viscosity W b GammaIn ThetaAIn
y=ys;
%
%Viscosity=Kinematic Viscosity,m2/s,ft2/s
%Airfoil parameters (constants,defined by Liebeck LPT 110AAirfoil)
Alpha0=(pi/180)*Alpha0In; %Angle of section's zero lift line,deg
%EtaS Leading edge suction efficiency
%Cmac Moment coeff. about areodynamic centre,to find dMac
MaxAlphaStall=(pi/180)*MaxAlphaStallIn;
%Maximum limit of the areofoil's stall angle,determine flow attached/separated
%Wing parameters
%W=Weight of wing/whole vehicle,N,lb
%U=Freestream velocity/Flight speed,m/s,ft/s
%f=Flapping Frequency, Hz
%b=Wingspan,m,ft
%cs=cord length for various section,m,ft(Note:user input is in inch if USC)
%end
ThetaW=(pi/180)*ThetaWIn; % Mean pitch angle of chord with respective to flapping axis
Gamma=(pi/180)*GammaIn; % Maximum flapping amplitude,deg
ThetaA=(pi/180)*ThetaAIn; % Mean Pitch angle of flapping axis w.r.t U,7.5 is in deg
%Beta0 Dynamic Twist,deg/ft
%Calculate t,y,c,AR and k for each section based on geometry of wing and number of sections
%Width of each section,m,ft
% i=1:2:2*n;
% ys=i*0.5*dy; % Coordinate along semispan for each section,m,ft
t=time;
% y=ys(12);
% for r=0:1:length(time);
% c(r+1)=cs(r+1); % Matrix with m same rows of cs
% end
c=cs;
w=2*pi*f; % Flapping frequency in rad/s
k=w*c/(2*U); % Reduced frequency,rad
SurfaceArea=3.22917;% Assuming each section is rectangular,m2,ft2
AR=4.40; %Aspect Ratio=b2/surface area of 2 wings
%2.COMPUTE PLUNGING & TWISTING MOTION.
%Assumption:Root Flapping kinematics with no spanwise bending,Phase diff.of -90 between %plunge&
pitch.
%time steps of m, and n number of sections per wing
ThetaAVal=ThetaA;
GammaVal=Gamma;
Beta0Val=Beta0;
h=-(GammaVal*cos(w*t))*y; % Plunging displacment of LE in flapping direction,m,ft
hDot=w*GammaVal*y.*sin(w*t) ; % 1st Derivative of h, m/s,ft/s
hDotDot=(w^2)*GammaVal*y.*cos(w*t); % 2nd derivative of h, m/s,ft/s2
ThetaBar=ThetaAVal+ThetaW+alpha_b;%+alpha_b % Section's mean pitch angle,constant,rad
dTheta=-Beta0Val*y.*(sin(w*t))*(pi/180);% Dynamically varying pitch angle,Theta-ThetaBar,rad
97
Theta=dTheta+ThetaBar; % Pitch angle of chord w.r.t U,variable, rad
ThetaDot=-w*Beta0Val*y.*cos(w*t)*(pi/180);%1st DerivativeofTheta,ThetaDot=dThetaDot,rad/s
ThetaDotDot=(w^2)*Beta0Val*y.*sin(w*t)*(pi/180); % 2nd Derivative of Theta, rad/s2
%3.COMPUTE ANGLE OFATTACK AND VELOCITIES
q=Theta-ThetaAVal;
PlungeVel=hDot.*cos(q); % Plunging Velocity,m/s, ft/s
PitchVel=0.75*c.*ThetaDot; % Pitching velocity with radius of rotation of 3/4 to LE,m/s,ft/s
ForwardVel=U*dTheta; % Forward Velocity,consider wing,s motion so AOA=dTheta,m/s,ft/s
PlungeVelDot=hDotDot.*cos(q)-hDot.*sin(q).*ThetaDot;
% 1st derivative of plunging velocity,m/s2,ft/s2
PitchVelDot=0.75*c.*ThetaDotDot; % 1st derivative of Pitching velocity,m/s2,ft/s2
ForwardVelDot=U*ThetaDot; % 1st derivative of Forward Velocity,m/s2,ft/s2
Alpha=(PlungeVel+PitchVel+ForwardVel)/U; %relative aoa at 3/4 chord due to wing's motion,rad
AlphaDot=(PlungeVelDot+PitchVelDot+ForwardVelDot)/U; % 1st derivative of alpha,rad/s
%Compute Alpha' flows relative AOA at 3/4 chord
C1=0.5*AR/(2.32+AR); % Constant used to compute C'(k) by Scherer(1968)
C2=0.181+(0.772/AR); % Constant used to compute C'(k)
z=(k.^2)+(C2^2);
Fk=1-C1*(k.^2)./z; % C'(k)=F'(k)+iG'(k)
Gk=-C1*C2*k./z; % C(k)jones=AR/(2+AR)C'(k)
DownWash=2*(Alpha0+ThetaBar)/(2+AR);
% Downwash=downwashVel/U(Anderson 1991),expression(Kuethe&Chow)
% Downwash due to mean lift produced byAlpha0 and ThetaBar
AlphaPrime=(AR/(2+AR))*(Fk.*Alpha+c.*Gk.*AlphaDot./(2*U.*k))-DownWash; %flows relative AOA at 3/4
chord
%V relative flow velocity at 1/4 chord,m/s,ft/s
V=((U*cos(Theta)-hDot.*sin(q)).^2 + (U*(AlphaPrime+ThetaBar)-0.5*c.*ThetaDot).^2).^0.5;
Vat=U*cos(Theta)-hDot.*sin(q); % Tangential component of flow vel on airfoil
Van=hDot.*cos(q)+0.5*c.*ThetaDot+U*sin(Theta); % Normal component of flow vel on airfoil
Va=(Vat.^2+Van.^2).^0.5; % Flow velocity on airfoil due to wing's motion
vDot=U*AlphaDot-0.25*c.*ThetaDotDot;
% Rate of change of midchord normal vel component due to wings motion
% Linearised time derivative of Van
%4.DECIDEWHETHER FLOWIS ATTACHED OR SEPARATED OVER A SECTION
%Assumption:Dynamic stall effects are not considered
%No negative alpha' will occur hence no lower limit
%Separated for the section at time t if element in criterion greater than MaxAlphaStall
Criterion=AlphaPrime+ThetaBar-0.75*(c.*ThetaDot/U);
Attached=(Criterion<=MaxAlphaStall);
Separated=(Criterion>MaxAlphaStall);
%5.COMPUTE NORMAL FORCE AND CHORDWISE FORCE FOR ATTACHED FLOWCONDITION
%Compute Normal Force for Attached Flow
Cn=2*pi*(AlphaPrime+Alpha0+ThetaBar); % Normal force coefficient
dNc=Density*U*V.*Cn.*c*dy/2; % Section's normal force due to circulation
dNa=Density*pi*(c.^2).*vDot*dy/4; % Normal force due to apparent mass effect
dNattach=Attached.*(dNc+dNa); % Section's total normal force with attached flow
%Compute Chordwise Force for Attached Flow
dDcamber=-pi*Alpha0*(AlphaPrime+ThetaBar)*Density*U.*V.*c*dy;
%Chordwise force due to chamber
dTs=EtaS*pi*((AlphaPrime+ThetaBar-0.25*c.*ThetaDot/U).^2)*Density*U.*V.*c*dy; %chordwiseforce due
to LE suction
Re=U*c/Viscosity; % Reynolds number
%Cdf = 0.012;
Cdf=0.89./((log10(Re)).^2.58); % Drag coefficient for turbulent boundary layer by Hoerner(1965)
98
dDf=Cdf.*Density.*(Vat.^2).*c*dy/2; % Chordwise friction drag
dFx=Attached.*(dTs-dDcamber-dDf); % Section's total chordwise force with attached flow
%6.COMPUTE NORMAL FORCE AND CHORDWISE FORCE FOR SEPARATED FLOWCONDITION
%Assuming totally separated flow occurs abruptly, all chordwise forces are negligible
%Compute Normal Force for Separated Flow
Ccfd=1.98; % Crossflow drag coefficient,for high AR flate plate byHoerner
dNcsep=Ccfd*Density*Va.*Van.*c*dy/2; % Normal force due to circulation for separated flow
dNasep=0.5*dNa; % Normal force to to apparent mass effect for separatedflow
dNsep=Separated.*(dNcsep+dNasep); % Secton's total normal force with separated flow
%7.COMPUTE LIFT, THRUST, POWER & PROPULSIVE EFFICIENCY
dN=dNattach+dNsep;
dL=dN.*cos(Theta)+dFx.*sin(Theta); % Lift acting one each section at diiferent time instants
dT=dFx.*cos(Theta)-dN.*sin(Theta); % Trust acting one each section at diiferent time instant
gammat=GammaVal*cos(w*t); % Dihedral angle at an instant in the flapping cycle,rad
Lt=(2*sum((cos(gammat).*dL)'))'; % Instantaneous lift of entire wings
Tt=(2*sum((dT)'))'; % Instantaneous thrust of the entire wings
AveL=(1/(length(time)+1))*sum(Lt); %Average lift of the wing for one flapping cycle,N,lb
AveT=(1/(length(time)+1))*sum(Tt); %Average thrust of the wing for one flapping cycle,N,lb
%Power for attached flow
%dMa=apparent camber and inertia moments
dMa=-Density*pi*(c.^3)*dy.*((1/16)*ThetaDot*U+(1/128)*c.*ThetaDotDot);
dMac=Cmac*Density*(U^2)*SurfaceArea*c/2;
% Section's pitching moment about aerodynamic centre
dPina=dFx.*hDot.*sin(q)+dNattach.*(hDot.*cos(q)+0.25*c.*ThetaDot)+Attached.*dNa.*(0.25*c.*ThetaDo
t)-Attached.*(dMac+dMa).*ThetaDot;
dPinsep=dNsep.*(hDot.*cos(q)+0.5*c.*ThetaDot);
% Power for separated flow, dMa and dMac ignored
dPin=dPina+dPinsep; % Power absorbed by each section at different time instants
Pint=(2*sum((dPin)'))'; % Instantaneous aerodynamic power absorbed by the whole wing
AvePin=(1/(length(time)+1))*sum(Pint); %Average input power throughout the cycle,Nm/s,ftlb/s
AvePout=AveT*U; %Average output power from the wing,Nm/s,ftlb/s
if(AvePin==0)
AvePropulsiveEff=0; %Average propulsive efficiency, make sure AvePin!=0
else
AvePropulsiveEff=AvePout/AvePin;
end
Lift=AveL; %N , lb
Thrust=AveT; %N , lb
PowIn=AvePin; %Nm/s=W, ft.lb/s=1.356W
Eff=AvePropulsiveEff;
FlapAxisAngle=ThetaAVal/(pi/180); %deg
MaxFlapAmp=GammaVal/(pi/180); %deg
DynamicTwist=Beta0Val; %m/deg, ft/deg
DM=(sum(dMa'))';
DMac=(sum(dMac'))';
dL_t=2*cos(gammat)*dL;
dT_t = 2*dT;
dM_t = DM+DMac;
c1 = -GammaVal*w*sin(w*t);
c1_dot = -w*w*GammaVal*cos(w*t);
gamma =GammaVal*cos(w*t);
gammasin = GammaVal*sin(w*t); Published with MATLAB R2013b
99
APPENDIX B
,x0,str,ts,simStateCompliance] = Tail_aerodynamics(t,x,u,flag)
%SFUNTMPL General MATLAB S-Function Template
% With MATLAB S-functions, you can define you own ordinary differential
% equations (ODEs), discrete system equations, and/or just about
% any type of algorithm to be used within a Simulink block diagram.
%
% The general form of an MATLAB S-function syntax is:
% [SYS,X0,STR,TS,SIMSTATECOMPLIANCE] = SFUNC(T,X,U,FLAG,P1,...,Pn)
%
% What is returned by SFUNC at a given point in time, T, depends on the
% value of the FLAG, the current state vector, X, and the current
% input vector, U.
%
% FLAG RESULT DESCRIPTION
% ----- ------ --------------------------------------------
% 0 [SIZES,X0,STR,TS] Initialization, return system sizes in SYS,
% initial state in X0, state ordering strings
% in STR, and sample times in TS.
% 1 DX Return continuous state derivatives in SYS.
% 2 DS Update discrete states SYS = X(n+1)
% 3 Y Return outputs in SYS.
% 4 TNEXT Return next time hit for variable step sample
% time in SYS.
% 5 Reserved for future (root finding).
% 9 [] Termination, perform any cleanup SYS=[].
%
%
% The state vectors, X and X0 consists of continuous states followed
% by discrete states.
%
% Optional parameters, P1,...,Pn can be provided to the S-function and
% used during any FLAG operation.
%
% When SFUNC is called with FLAG = 0, the following information
% should be returned:
%
% SYS(1) = Number of continuous states.
% SYS(2) = Number of discrete states.
% SYS(3) = Number of outputs.
% SYS(4) = Number of inputs.
% Any of the first four elements in SYS can be specified
% as -1 indicating that they are dynamically sized. The
% actual length for all other flags will be equal to the
% length of the input, U.
% SYS(5) = Reserved for root finding. Must be zero.
% SYS(6) = Direct feedthrough flag (1=yes, 0=no). The s-function
% has direct feedthrough if U is used during the FLAG=3
% call. Setting this to 0 is akin to making a promise that
% U will not be used during FLAG=3. If you break the promise
% then unpredictable results will occur.
100
% SYS(7) = Number of sample times. This is the number of rows in TS.
%
%
% X0 = Initial state conditions or [] if no states.
%
% STR = State ordering strings which is generally specified as [].
%
% TS = An m-by-2 matrix containing the sample time
% (period, offset) information. Where m = number of sample
% times. The ordering of the sample times must be:
%
% TS = [0 0, : Continuous sample time.
% 0 1, : Continuous, but fixed in minor step
% sample time.
% PERIOD OFFSET, : Discrete sample time where
% PERIOD > 0 & OFFSET < PERIOD.
% -2 0]; : Variable step discrete sample time
% where FLAG=4 is used to get time of
% next hit.
%
% There can be more than one sample time providing
% they are ordered such that they are monotonically
% increasing. Only the needed sample times should be
% specified in TS. When specifying more than one
% sample time, you must check for sample hits explicitly by
% seeing if
% abs(round((T-OFFSET)/PERIOD) - (T-OFFSET)/PERIOD)
% is within a specified tolerance, generally 1e-8. This
% tolerance is dependent upon your model's sampling times
% and simulation time.
%
% You can also specify that the sample time of the S-function
% is inherited from the driving block. For functions which
% change during minor steps, this is done by
% specifying SYS(7) = 1 and TS = [-1 0]. For functions which
% are held during minor steps, this is done by specifying
% SYS(7) = 1 and TS = [-1 1].
%
% SIMSTATECOMPLIANCE = Specifices how to handle this block when saving and
% restoring the complete simulation state of the
% model. The allowed values are: 'DefaultSimState',
% 'HasNoSimState' or 'DisallowSimState'. If this value
% is not speficified, then the block's compliance with
% simState feature is set to 'UknownSimState'.
%
% The following outlines the general structure of an S-function.
%
switch flag,
101
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
case 0,
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
%%%%%%%%%%%%%%%
% Derivatives %
%%%%%%%%%%%%%%%
case 1,
sys=mdlDerivatives(t,x,u);
%%%%%%%%%%
% Update %
%%%%%%%%%%
case 2,
sys=mdlUpdate(t,x,u);
%%%%%%%%%%%
% Outputs %
%%%%%%%%%%%
case 3,
sys=mdlOutputs(t,x,u);
%%%%%%%%%%%%%%%%%%%%%%%
% GetTimeOfNextVarHit %
%%%%%%%%%%%%%%%%%%%%%%%
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
%%%%%%%%%%%%%
% Terminate %
%%%%%%%%%%%%%
case 9,
sys=mdlTerminate(t,x,u);
%%%%%%%%%%%%%%%%%%%%
% Unexpected flags %
%%%%%%%%%%%%%%%%%%%%
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
% end sfuntmpl
%
%=============================================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=============================================================================
%
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
102
%
% call simsizes for a sizes structure, fill it in and convert it to a
% sizes array.
%
% Note that in this example, the values are hard coded. This is not a
% recommended practice as the characteristics of the block are typically
% defined by the S-function parameters.
%
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 6;
sizes.NumInputs = 6;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);
%
% initialize the initial conditions
%
x0 = [];
%
% str is always an empty matrix
%
str = [];
%
% initialize the array of sample times
%
ts = [0 0];
% end mdlInitializeSizes
%
%=============================================================================
% mdlDerivatives
% Return the derivatives for the continuous states.
%=============================================================================
%
function sys=mdlDerivatives(t,x,u)
sys = [];
% end mdlDerivatives
103
%
%=============================================================================
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
%=============================================================================
%
function sys=mdlUpdate(t,x,u)
sys = [];
% end mdlUpdate
%
%=============================================================================
% mdlOutputs
% Return the block outputs.
%=============================================================================
%
function sys=mdlOutputs(t,x,u)
global Density momentstore constm
u_1 = u(1);
v_1 = u(2);
w_1 = u(3);
t_pi = u(4);
t_ri = u(5);
alpha = u(6)+0.5*t_pi;
V = sqrt(u_1^2 + v_1^2 + w_1^2);
beta = asin(v_1/V);
X = 0.5*Density*V*V*0.4306*(-0.3181-0.2310*alpha^2);
Y = 0.5*Density*V*V*0.4306*0.1153*alpha*beta;
Z = 0.5*Density*V*V*0.4306*(0.3346+(-0.2729*alpha)+0.0884*beta);
F = [1 0 0;0 cos(t_ri) sin(t_ri);0 -sin(t_ri) cos(t_ri)]*[X;Y;Z];
L = 0;% beta*(-0.0054-0.0161*alpha)*0.5*Density*V*V*0.4306*0.656168;
%New Changes proposed
%M = (((-0.3486*3+3.3182*alpha+0.0975*beta-0.4184*beta^2-
0.3053*alpha*V)*0.5*Density*V*V*0.4306*0.656168)*5);
%Changes being made
%M = (((-0.3486*3-3.3182*alpha+0.0975*beta-
0.4184*beta^2+0.3053*alpha*V)*0.5*Density*V*V*0.4306*0.656168)*5);
%New M with failure
%M = (((-0.3486*3-3.3182*0.5*alpha+0.0975*beta-
0.4184*beta^2+0.3053*0.5*alpha*V)*0.5*Density*V*V*0.4306*0.656168)*5);
% Original version
M =(((-0.3486*3+3.3182*alpha+0.0975*beta-0.4184*beta^2-
0.3053*alpha*V)*0.5*Density*V*V*0.4306*0.656168)*5);
%-0.03*0.00238*V^2*3.22917*0.5*11.6142+
%With 50 percent effectiveness
%M = ((-0.3486-3.3182*0.5*alpha+0.0975*beta-
0.4184*beta^2+0.3053*0.5*alpha*V)*0.5*Density*V*V*0.4306*0.656168)*5;
N = ((-0.5094*beta)*0.5*Density*V*V*0.4306*0.656168)*5 + 2*F(2);
moments = [L;M;N];
104
sys = [F(1) F(2) F(3) moments(1) moments(2) moments(3)] ;
% end mdlOutputs
%
%=============================================================================
% mdlGetTimeOfNextVarHit
% Return the time of the next hit for this block. Note that the result is
% absolute time. Note that this function is only used when you specify a
% variable discrete-time sample time [-2 0] in the sample time array in
% mdlInitializeSizes.
%=============================================================================
%
function sys=mdlGetTimeOfNextVarHit(t,x,u)
% end mdlGetTimeOfNextVarHit
%
%=============================================================================
% mdlTerminate
% Perform any end of simulation tasks.
%=============================================================================
%
function sys=mdlTerminate(t,x,u)
sys = [];
% end mdlTerminate
105
APPENDIX C
106
% SYS(7) = Number of sample times. This is the number of rows in TS.
%
%
% X0 = Initial state conditions or [] if no states.
%
% STR = State ordering strings which is generally specified as [].
%
% TS = An m-by-2 matrix containing the sample time
% (period, offset) information. Where m = number of sample
% times. The ordering of the sample times must be:
%
% TS = [0 0, : Continuous sample time.
% 0 1, : Continuous, but fixed in minor step
% sample time.
% PERIOD OFFSET, : Discrete sample time where
% PERIOD > 0 & OFFSET < PERIOD.
% -2 0]; : Variable step discrete sample time
% where FLAG=4 is used to get time of
% next hit.
%
% There can be more than one sample time providing
% they are ordered such that they are monotonically
% increasing. Only the needed sample times should be
% specified in TS. When specifying more than one
% sample time, you must check for sample hits explicitly by
% seeing if
% abs(round((T-OFFSET)/PERIOD) - (T-OFFSET)/PERIOD)
% is within a specified tolerance, generally 1e-8. This
% tolerance is dependent upon your model's sampling times
% and simulation time.
%
% You can also specify that the sample time of the S-function
% is inherited from the driving block. For functions which
% change during minor steps, this is done by
% specifying SYS(7) = 1 and TS = [-1 0]. For functions which
% are held during minor steps, this is done by specifying
% SYS(7) = 1 and TS = [-1 1].
%
% SIMSTATECOMPLIANCE = Specifices how to handle this block when saving and
% restoring the complete simulation state of the
% model. The allowed values are: 'DefaultSimState',
% 'HasNoSimState' or 'DisallowSimState'. If this value
% is not speficified, then the block's compliance with
% simState feature is set to 'UknownSimState'.
%
% The following outlines the general structure of an S-function.
%
switch flag,
107
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
case 0,
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
%%%%%%%%%%%%%%%
% Derivatives %
%%%%%%%%%%%%%%%
case 1,
sys=mdlDerivatives(t,x,u);
%%%%%%%%%%
% Update %
%%%%%%%%%%
case 2,
sys=mdlUpdate(t,x,u);
%%%%%%%%%%%
% Outputs %
%%%%%%%%%%%
case 3,
sys=mdlOutputs(t,x,u);
%%%%%%%%%%%%%%%%%%%%%%%
% GetTimeOfNextVarHit %
%%%%%%%%%%%%%%%%%%%%%%%
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
%%%%%%%%%%%%%
% Terminate %
%%%%%%%%%%%%%
case 9,
sys=mdlTerminate(t,x,u);
%%%%%%%%%%%%%%%%%%%%
% Unexpected flags %
%%%%%%%%%%%%%%%%%%%%
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
% end sfuntmpl
%
%=============================================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=============================================================================
%
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
108
%
% call simsizes for a sizes structure, fill it in and convert it to a
% sizes array.
%
% Note that in this example, the values are hard coded. This is not a
% recommended practice as the characteristics of the block are typically
% defined by the S-function parameters.
%
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 18;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);
%
% initialize the initial conditions
%
x0 = [];
%
% str is always an empty matrix
%
str = [];
%
% initialize the array of sample times
%
ts = [0 0];
% end mdlInitializeSizes
%
%=============================================================================
% mdlDerivatives
% Return the derivatives for the continuous states.
%=============================================================================
%
function sys=mdlDerivatives(t,x,u)
sys = [];
% end mdlDerivatives
109
%
%=============================================================================
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
%=============================================================================
%
function sys=mdlUpdate(t,x,u)
sys = [];
% end mdlUpdate
%
%=============================================================================
% mdlOutputs
% Return the block outputs.
%=============================================================================
%
function sys=mdlOutputs(t,x,u)
global inertia_w1 inertia_w2
l = [1 0 0;0 cos(-u(1)) -sin(-u(1));0 sin(-u(1)) cos(-u(1))]';
l_dot = [ 0 0 0;0 u(1)*sin(-u(1)) -u(1)*cos(-u(1));0 -u(1)*cos(-u(1)) u(1)*sin(-u(1))];
l_1 = [1 0 0;0 cos(u(1)) -sin(u(1));0 sin(u(1)) cos(u(1))]';
l_dot_1 = [ 0 0 0;0 -u(1)*sin(u(1)) -u(1)*cos(u(1));0 u(1)*cos(u(1)) -u(1)*sin(u(1))];
dI_w1 = l_dot_1*inertia_w1*l_1' + l_1*inertia_w1*l_dot_1' ;
dI_w2 = l_dot*inertia_w2*l' + l*inertia_w2*l_dot';
sys = [0 0 0 0 dI_w1(2,2) dI_w1(3,2) 0 dI_w1(2,3) dI_w1(3,3) 0 0 0 0 dI_w2(2,2) dI_w2(3,2) 0
dI_w2(2,3) dI_w2(3,3) ] ;
% end mdlOutputs
%
%=============================================================================
% mdlGetTimeOfNextVarHit
% Return the time of the next hit for this block. Note that the result is
% absolute time. Note that this function is only used when you specify a
% variable discrete-time sample time [-2 0] in the sample time array in
% mdlInitializeSizes.
%=============================================================================
%
function sys=mdlGetTimeOfNextVarHit(t,x,u)
% end mdlGetTimeOfNextVarHit
%
%=============================================================================
% mdlTerminate
% Perform any end of simulation tasks.
110
%=============================================================================
%
function sys=mdlTerminate(t,x,u)
sys = [];
% end mdlTerminate
111
REFERENCES
112
1. Lippisch, A. M. "Man Powered Flight in 1929," Journal of Royal Aeronautical Society
Canadian Aeronautics and Space Journal Vol. 45, No. 2, June 1999.
3. De Croon, G., De Clercq, K., Ruijsink, R., Remes, B., and de Wagter, C. "Design,
aerodynamics, and vision-based control of the DelFly," International Journal of Micro Air
4. Keennon, M., Klingebiel, K., Won, H., and Andriukov, A. "Development of the nano
hummingbird: A tailless flapping wing micro air vehicle," AIAA aerospace sciences
6. Billingsley, D., Slipher, G., Grauer, J., and Hubbard, J. "Testing of a passively morphing
7. Chen, B.-H., Chen, L.-S., Lu, Y., Wang, Z.-J., and Lin, P.-C. "Design of a Butterfly
Ornithopter," Journal of Minjiang Science and Technology Vol. 19, No. 1, 2016, pp. 7-16.
8. Brown, R. H. J. "THE FLIGHT OF BIRDS," Biological Reviews Vol. 38, No. 4, 1963, pp.
460-489.
doi: 10.1111/j.1469-185X.1963.tb00790.x
9. Chatterjee, S., Templin, R. J., and Campbell, K. E., Jr. "The aerodynamics of Argentavis,
the world's largest flying bird from the Miocene of Argentina," Proc Natl Acad Sci U S A
doi: 10.1073/pnas.0702040104
113
10. Dial, K. P., Jackson, B. E., and Segre, P. "A fundamental avian wing-stroke provides a new
perspective on the evolution of flight," Nature Vol. 451, No. 7181, 2008, pp. 985-989.
doi: http://www.nature.com/nature/journal/v451/n7181/suppinfo/nature06517_S1.html
11. Hedenstrm, A. "Aerodynamics, evolution and ecology of avian flight," Trends in Ecology
1968, p. 527.
13. Tobalske, B. W. "Biomechanics of bird flight," Journal of Experimental Biology Vol. 210,
14. Shigeoka, K. S. "Velocity and altitude control of an ornithopter micro aerial vehicle." 2007.
15. Julian, R. C., Rose, C. J., Hu, H., and Fearing, R. S. "Cooperative control and modeling for
narrow passage traversal with an ornithopter MAV and lightweight ground station,"
systems. International Foundation for Autonomous Agents and Multiagent Systems, 2013,
pp. 103-110.
17. Krashanitsa, R. Y., Silin, D., Shkarayev, S. V., and Abate, G. "Flight dynamics of a
flapping-wing air vehicle," International Journal of Micro Air Vehicles Vol. 1, No. 1, 2009,
pp. 35-49.
18. Steck, J. E., Rokhsaz, K., Pesonen, U., and Duerksen, N. "An Advanced Flight Control
114
19. Rafi, M., and Steck, J. E. "Response and Recovery of an MRAC Advanced Flight Control
20. Rafi, M., Steck, J., and Rokhsaz, K. "A Microburst Response and Recovery Scheme Using
21. Bosworth, J. T., and Williams-Hayes, P. S. "Flight Test Results from the NF-15B
Intelligent Flight Control System (IFCS) Project with Adaptation to a Simulated Stabilator
Failure," 2007.
22. Nguyen, N., Krishnakumar, K., Kaneshige, J., and Nespeca, P. "Dynamics and Adaptive
23. Narendra, K., and Annaswamy, A. "A new adaptive law for robust adaptation without
persistent excitation," IEEE Transactions on Automatic control Vol. 32, No. 2, 1987, pp.
134-145.
24. Lewis, F. L., Yesildirek, A., and Liu, K. "Multilayer neural-net robot controller with
25. Rysdyk, R. T., and Calise, A. J. "Adaptive model inversion flight control for tilt-rotor
aircraft," Journal of Guidance Control and Dynamics Vol. 22, 1999, pp. 402-407.
26. Duerksen, N. "Fuzzy logic adaptive decoupled flight controls for General Aviation
airplanes," 1996.
27. Steck, J. E., Rokhsaz, K., and Shue, S.-P. "Linear and neural network feedback for flight
control decoupling," IEEE Control Systems Vol. 16, No. 4, 1996, pp. 22-30.
115
28. Pesonen, U. J., Steck, J. E., Rokhsaz, K., Bruner, H. S., and Duerksen, N. "Adaptive neural
network inverse controller for general aviation safety," Journal of Guidance, Control, and
29. Steck, J., Rokhsaz, K., Namuduri, K., and Bruner, S. "Exploring Critical Flight Conditions,
Controller Modes, and Parameter Estimation for Adaptive Flight Controls in General
30. Han, J.-H., Lee, J.-Y., and Kim, D.-K. "Ornithopter modeling for flight simulation,"
Control, Automation and Systems, 2008. ICCAS 2008. International Conference on. IEEE,
31. Grauer, J. A. Modeling and system identification of an ornithopter flight dynamics model:
32. Grauer, J., Ulrich, E., Hubbard Jr, J., Pines, D., and Humbert, J. S. "Testing and system
2011, p. 660.
33. Rose, C., and Fearing, R. S. "Flight simulation of an ornithopter." Masters thesis, EECS
34. Kaviyarasu, A., and Kumar, K. S. "Simulation of Flapping-wing Unmanned Aerial Vehicle
using X-plane and Matlab/Simulink," Defence Science Journal Vol. 64, No. 4, 2014, p.
327.
35. Rashid, T. "The flight dynamics of a full-scale ornithopter." National Library of Canada=
116
36. Phlips, P., East, R., and Pratt, N. "An unsteady lifting line theory of flapping wings with
application to the forward flight of birds," Journal of fluid mechanics Vol. 112, 1981, pp.
97-125.
37. DeLaurier, J. D. "An aerodynamic model for flapping-wing flight," The Aeronautical
38. Kim, D.-K., Lee, J.-S., Lee, J.-Y., and Han, J.-H. "An aeroelastic analysis of a flexible
flapping wing using modified strip theory," Proceedings of SPIE 15th annual symposium
39. Chalia, S., and Bharti, M. K. "A Review on Aerodynamics of Flapping Wings," 2016.
41. Kim, D.-K., Lee, J.-S., and Han, J.-H. "Improved aerodynamic model for efficient analysis
of flapping-wing flight," Aiaa Journal Vol. 49, No. 4, 2011, pp. 868-872.
42. Malik, M. A., and Ahmad, F. "Effect of different design parameters on lift, thrust, and drag
1460-1465.
43. Kamakoti, R., Berg, M., Ljungqvist, D., and Shyy, W. "A computational study for
Journal of China Academy of Aeronautics and Astronautics Vol. 32, No. 4, 2000, pp. 265-279.
44. Larijani, R. F., and DeLaurier, J. D. "A nonlinear aeroelastic model for the study of
flapping wing flight," Progress in Astronautics and Aeronautics Vol. 195, 2001, pp. 399-
428.
45. Jones, R. T. "The unsteady lift of a wing of finite aspect ratio," 1940.
117
46. Scherer, J. O. "Experimental and theoretical investigation of large amplitude oscillation
47. Kuethe, A., and Chow, C. "The Finite Wing, Foundations of Aerodynamics, Wiley, New
48. Prouty, R. "Airfoils for rotor blades," Helicopter Performance, Stability, and Control,
49. DeLaurier, J. "Drag of wings with cambered airfoils and partial leading-edge suction,"
52. Roskam, J. Airplane flight dynamics and automatic flight controls: DARcorporation, 1995.
53. Dietl, J. M., and Garcia, E. "Stability in ornithopter longitudinal flight dynamics," Journal
54. Bolender, M. A. "Rigid multi-body equations-of-motion for flapping wing MAVs using
55. Grauer, J. A., and Hubbard Jr, J. E. "Multibody model of an ornithopter," Journal of
56. Orlowski, C. T., and Girard, A. R. "Dynamics, stability, and control analyses of flapping
wing micro-air vehicles," Progress in Aerospace Sciences Vol. 51, 2012, pp. 18-30.
118
57. Kinkade, S. "Original Radio Controlled Ornithopter Slow Hawk 2 Instruction Manual."
HobbyTechnik.
58. Zakaria, M., Elshabka, A., Bayoumy, A., and Abd Elhamid, O. "Numerical aerodynamic
59. Nguyen, N., Krishnakumar, K., Kaneshige, J., and Nespeca, P. "Flight dynamics and
hybrid adaptive control of damaged aircraft," Journal of guidance, control, and dynamics
119