Вы находитесь на странице: 1из 136

DESIGN OF AN ADAPTIVE FLIGHT CONTROLLER FOR A BIRD-LIKE FLAPPING

WING AIRCRAFT

A Thesis by

BALAJI KARTIKEYAN CHANDRASEKARAN

Bachelor of Technology, Malaviya National Institute of Technology, 2011

Submitted to the Department of Aerospace Engineering


And the faculty of the Graduate School of
Wichita State University
in partial fulfillment of
The requirements for the degree of
Master of Science

July 2017
Copyright 2017 by Balaji Kartikeyan Chandrasekaran

All Rights Reserved

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

of Science with a major in Aerospace Engineering

Dr James E Steck, Committee Chair

Dr Animesh Chakravarthy, Committee Member

Dr Edwin Sawan, Committee Member

iii
DEDICATION

To my parents, my brother, and my dear friends

iv
Dream, Dream, Dream

Dreams transform into thoughts, and thoughts result in action

- Dr APJ Abdul Kalam (1931 2015)

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

system with a PD controller.

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 1 Daedalus and Icarus ....................................................................................................... 1

Figure 2 Shakuna Vimana as described in Vymaanika-Shaastra................................................... 2

Figure 3Man Powered Ornithopter of Lippisch [1] ........................................................................ 2

Figure 4 Full-Scale Ornithopter The Great Flapper Built by Dr DeLaurier ............................... 3

Figure 5 Bird Flapping Cycle ........................................................................................................ 6

Figure 6 H2 Bird Ornithopter .......................................................................................................... 7

Figure 7 Wind Tunnel testing of Cybird P2 Ornithopter in [21] .................................................. 11

Figure 8 VICON Motion capture system utilized by University of Maryland ............................. 12

Figure 9 Wing Section for Aerodynamic Model .......................................................................... 15

Figure 10 Force Direction in a Flapping Wing ............................................................................. 19

Figure 11 Rigid Body Model ........................................................................................................ 29

Figure 12 Multi-Body Model showing various components ........................................................ 30

Figure 13 Chain link ..................................................................................................................... 30

Figure 14 Convention used in [29] ............................................................................................... 31

Figure 15 3-Panel Model Set-up [29] ........................................................................................... 31

Figure 16 2-Panel Method ............................................................................................................ 32

Figure 17 Position of Body and Hinge joints with Forces and Moments ..................................... 32

Figure 18 Body-fixed Axis and Wing-fixed Axis......................................................................... 33

Figure 19 Diagram showing the direction of weight .................................................................... 35

Figure 20 Left Wing Forces and Moments ................................................................................... 36

x
Figure 21 Right wing Forces and Moments .................................................................................. 37

Figure 22 Kinematic link between body (a) and Wing (c) via Hinge (b) ..................................... 37

Figure 23 Aerodynamic Block showing inputs and outputs ......................................................... 41

Figure 24 Aerodynamic Block Internal make-up ......................................................................... 44

Figure 25 Wing Segments [50] ..................................................................................................... 47

Figure 26 Lift Generated by both the wings ................................................................................. 49

Figure 27 Total Thrust Generated by both the wings ................................................................... 49

Figure 28 Pitching Moment .......................................................................................................... 50

Figure 29 Tail Aerodynamic Co-efficients ................................................................................... 51

Figure 30 Flight Dynamic Block .................................................................................................. 52

Figure 31 Calculation of I _w1 and I _w2 .................................................................................... 55

Figure 32 Force Equations Part I .................................................................................................. 56

Figure 33 Force Equations Part II ................................................................................................. 56

Figure 34 Moments Equation........................................................................................................ 57

Figure 35 Solving for Linear and ANgular Accelerations ............................................................ 58

Figure 36 Solving for Euler angles and Inertial properties ........................................................... 58

Figure 37 Model Follower ............................................................................................................ 62

Figure 38 ANN Architecture ........................................................................................................ 65

Figure 39 PD Controller................................................................................................................ 65

Figure 40 PI Controller-Original System ...................................................................................... 68

Figure 41 PI Controller - Input .................................................................................................... 68

Figure 42 PI Controller + 50% modelling error ........................................................................... 69

Figure 43 PI Controller+50 % Modelling error - Input ............................................................... 69

xi
Figure 44 PI Controller+50% modelling error+ANN................................................................... 70

Figure 45 PI Controller+50% modelling error+ANN - Input ....................................................... 71

Figure 46 PI Controller+50% modelling error+ANN -ANN Input .............................................. 71

Figure 47 PI Controller +Zero Cm-alpha ..................................................................................... 72

Figure 48 PI Controller +Zero Cm-alpha+ ANN.......................................................................... 73

Figure 49 PI Controller +Zero Cm-alpha+ ANN ANN Input .................................................... 74

Figure 50 PI Controller + case 1 unstable value of Cm-alpha ...................................................... 75

Figure 51 PI Controller + case 1 unstable value of Cm-alpha+ANN ........................................... 76

Figure 52 PI Controller + case 1 unstable value of Cm-alpha+ANN - ANN Input ..................... 76

Figure 53 PI Controller + case 2 unstable value of Cm-alpha ...................................................... 77

Figure 54 PI Controller + case 2 unstable value of Cm-alpha+ANN ........................................... 78

Figure 55 PI Controller + case 2 unstable value of Cm-alpha+ANN ANN Input ..................... 78

Figure 56 PD Controller - Original System .................................................................................. 79

Figure 57 PD Controller - Input .................................................................................................... 80

Figure 58 PD Controller + 50% modelling error .......................................................................... 80

Figure 59 PD Controller+50% modelling error+ANN ................................................................. 81

Figure 60 PD Controller+50% modelling error+ANN -ANN Input............................................. 81

Figure 61 PD Controller +Zero Cm-alpha .................................................................................... 82

Figure 62 PD Controller +Zero Cm-alpha+ ANN ........................................................................ 83

Figure 63 PD Controller +Zero Cm-alpha+ ANN ANN Input ................................................... 83

Figure 64 PD Controller + case 1 unstable value of Cm-alpha .................................................... 84

Figure 65 PD Controller + case 1 unstable value of Cm-alpha+ANN ......................................... 85

Figure 66 PD Controller + case 1 unstable value of Cm-alpha+ANN - ANN Input .................... 85

xii
Figure 67 PD Controller + case 2 unstable value of Cm-alpha .................................................... 86

Figure 68 PD Controller + case 2 unstable value of Cm-alpha+ANN ......................................... 87

Figure 69 PD Controller + case 2 unstable value of Cm-alpha+ANN ANN Input ................... 87

Figure 70 PI Controller + Reduced Tail Effectiveness ................................................................. 88

Figure 71 PI Controller + Reduced Tail Effectiveness - Input ..................................................... 89

Figure 72 PI Controller+ reduced tail effectiveness + ANN ........................................................ 90

Figure 73 PI Controller+ reduced tail effectiveness + ANN - ANN Input ................................... 90

Figure 74 PD Controller+ reduced tail effectiveness + ANN ....................................................... 91

Figure 75 PD Controller+ reduced tail effectiveness + ANN - ANN Input ................................. 92

xiii
LIST OF TABLES

Table 1 Aerodynamic Block Inputs .............................................................................................. 42

Table 2 Aerodynamic Block Outputs ........................................................................................... 43

Table 3 Inputs to Aerodynamic S-Function .................................................................................. 45

Table 4 Aerodynamic Data ........................................................................................................... 46

Table 5 Important Data about SlowHawk Ornithopter ................................................................. 46

Table 6 Characteristics of Ornithopter .......................................................................................... 47

Table 7 Values of Initialised Variables ......................................................................................... 47

Table 8 Mean Chord lengths of wing sections.............................................................................. 48

Table 9 Input Values ..................................................................................................................... 48

Table 10 Tail Forces and Moments values ................................................................................... 51

Table 11 Flight Dynamics Block Inputs ....................................................................................... 53

Table 12 Flight Dynamics Block Outputs .................................................................................... 54

Table 13 Required Global Inputs .................................................................................................. 59

Table 14 Miscellaneous Inputs ..................................................................................................... 60

Table 15 PI CONTROLLER GAINS ........................................................................................... 67

Table 16 PD CONTROLLER GAINS .......................................................................................... 79

xiv
LIST OF ABBREVIATIONS

ABC Adaptive Bias Controller

AFCS Advanced Flight Control System

AGATE Advanced General Aviation Transportation Experiment

ANN Artificial Neural Networks

DARPA Defense Advanced Research Projects Agency

MRAC Model Reference Adaptive Control

MST Modified Strip Theory

PI Proportional-Integral

SATS Small Aircraft Transportation System

UAV Unmanned Aerial Vehicle

xv
LIST OF SYMBOLS

istance from body cg to point on root of wing aligned with wing cg

Maximum flapping angle magnitude

Cycle Angle

Flapping Frequency

Magnitude of Dynamic Twists Linear Variation

Angle of Attack

Roll Angle

Pitch angle of the chord w.r.t free stream velocity

Yaw Angle


Mean pitch angle of the chord

Acceleration of respective components


Angular acceleration of respective components

Downwash velocity at chord location

Drag

Aerodynamic forces

g Acceleration due to gravity

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

1.1 A BRIEF HISTORY

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.

Figure 1 Daedalus and Icarus

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

flapping-wing aircraft was achieved by Alphonse Penaud from France in 1874.

Figure 3Man Powered Ornithopter of Lippisch [1]

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

aircraft successfully lifted off the ground for a few seconds.


3
1.2 THE PRESENT

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

micro-ornithopter which has an on-board camera to enable a vision-based navigation. Nano

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

which provided further insight into how the birds fly.

5
Figure 5 Bird Flapping Cycle
1.4 CURRENT WORK

1.4.1 Ornithopter Modelling and Control

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

sensor information were collected at different throttles. Author subsequently developed a

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

and its control and stability was discussed.

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

ground station based camera.

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.

1.4.2 Model Reference Adaptive Controller

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

control systems to help a general aviation aircraft in a microburst encounter.

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-

Hayes [21], or if the aircraft is damaged as shown by Nguyen, et al. [22].

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

adaptive control techniques with a linear inverse aircraft controller.

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].

1.5 SCOPE OF WORK

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

suitable specific aircraft model with all the necessary inputs.

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

actuator failure and other scenarios.

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

performance during a commanded pitch rate doublet.

10
CHAPTER 2

AERODYNAMICS

2.1 LITERATURE SURVEY

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.

Figure 7 Wind Tunnel testing of Cybird P2 Ornithopter in [21]

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.

Figure 8 VICON Motion capture system utilized by University of Maryland

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

controller based on the values presented by the simulation software.

The third approach to development of an aerodynamic model is theoretical one based on

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

unsteady lifting line theory was suggested by Phlips, et al. [36].

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

based on the Delaurier model and is described in detail below.

2.2 AERODYNAMICS MODEL

This computational model, developed by Dr DeLaurier as part of an effort to study the

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

obtain the total lift, thrust and power.

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

of the cross flow condition.

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

characteristics in the aerodynamic model.

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.

2.2.2 Wing Kinematics

Figure 9 shows the wing section aerodynamic and motion variables that will be described

below.

Figure 9 Wing Section for Aerodynamic Model


Using the leading edge of the wing is considered as the reference point, the sections

plunging velocity is denoted by, given by

= () 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,

and the incident flow velocity , as given by equation (3)




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

given by the equation (6)


= () (6)

= Downwash velocity at the 34 chord location

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)

And the approximate equations for () () in terms of and

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 .

This can be accomplished by including along with the kinematic parameters

18
1
2 1 2 2
= {[ cos sin( )] + [( + )

] } (17)
2

2.2.3 Force Calculations

The general direction of the forces acting on wing is shown in figure (10)

Figure 10 Force Direction in a Flapping Wing


Before we can calculate the chordwise and normal aerodynamic forces of the wing, we

have to set a criterion for attached flow over a section in terms of dynamic stall angle, as

obtained from Prouty [48]

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.

2.2.3.1 Normal forces (Attached Flow)

For attached flow, the sections circulatory normal force is given by


= () (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

motion given by equation (23)

1
= (23)
4

Therefore, the sections total attached flow normal force is

20
= + (24)

2.2.3.2 Normal Forces (Separated Flow)

When the flow over the section gets separated, the normal force due to circulation is due

to crossflow drag and is given by



( ) = ( ) (25)
2

Where,

1
= ( 2 + 2 )2 (26)

is the flow speed tangential to the section and is the midchord normal velocity component

due to the wings motion,

= cos sin( ) (27)

1
= cos( ) + 2 + sin (28)

Moreover, the normal force due to apparent mass effect during separated flow is considered to be

half of the value in equation (22)

1
( ) = (29)
2

2.2.3.3 Chordwise Force (Attached Flow)

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

leading edge suction as

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

potential flow theory.

Viscosity also leads to chordwise friction drag, given by

2
= ( ) (32)
2

The total attached flow chordwise force is given by

= (33)

2.2.3.4 Chordwise Force (Separated Flow)

When a totally separated flow occurs over a section then all the chordwise forces are

negligible since the separation is instantaneous and not a sustained phenomenon.

2.2.3.5 Lift & Thrust

Now that we have the expressions for the normal and chordwise forces of one particular

section, the instantaneous lift and thrust are given by

= cos + sin (34)

= cos sin (35)

22
The above equations maybe integrated along the wingspan to give the whole wings

instantaneous lift and thrust

() = 2 =1 cos (36)

() = 2 =1 (37)

Where, n = Number of sections in wing semi span

() 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

the integration with respect to cycle angle, instead of time,.

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

its aerodynamic center, and which includes apparent-camber and apparent-inertia

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.

The following assumptions was already made during the programming

1. Negative- stalling does not occur. Therefore, from equation (19), flow separation

occurs when ( ) is exceeded.

2. Dynamic stall criterion is not incorporated. Thus, in equation (18) is effectively

zero.

3. The crossflow drag coefficient , ( ) in equation (25) was chosen to be that for a

high-AR flat plate, given by Hoerner [42] as 1.98

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

Where, is the Reynolds Number based on the local chord.

The present work adopts the aero model presented in this chapter to accurately represent

the aircraft so that a suitable adaptive controller can be developed.

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 variables mentioned in equation (45) carry their usual meanings.

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

tail is sum of body angle of attack and .

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:

F = [1 0 0; 0 cos(t_ra) sin(t_ra); 0 sin(t_ra) cos(t_ra)] [X; Y; Z] (47)

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,

2 = moment arm length in ft

(2) = Force in y-direction in body axis

The MATLAB S-functions showing equation (45) (48) is attached herewith as Appendix B.

26
CHAPTER 3

FLIGHT DYNAMICS

3.1 LITERATURE SURVEY

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

Force along X: ( + ) = sin + + (49)

Force along Y: ( + ) = sin cos + + (50)

Force along Z: ( + ) = cos cos + + (51)

2. For the moment equations in the airplane body-fixed axis system XYZ

Rolling moment about X: + ( ) = + (52)

Pitching moment about Y: + (2 2 ) + ( ) = + (53)

Yawing moment about Z: + + ( ) = + (54)

3. For the kinematic equations

Roll rate about X: = sin (55)

Pitch rate about Y: = cos + cos cos (56)

Yaw rate about Z: = cos cos sin (57)

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 trajectory of the flight

= cos + sin (62)

= sin cos (63)

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

ornithopter in longitudinal direction.

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

of the model used in [33] is given in figure (11)

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

caused by the flapping motion of wings.

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

has to be evaluated in the same basis vectors.

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

Figure 12 Multi-Body Model showing various components

Figure 13 Chain link

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]

Figure 15 3-Panel Model Set-up [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 16 2-Panel Method

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).

Figure 18 Body-fixed Axis and Wing-fixed Axis


The assumption of this model is that both body and wings are rigid, with wing chosen to

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

important role to produce necessary lift and thrust.

33
Some of the variables that are used in subsequent sections are defined below:

= [ ] = Acceleration of respective components


= [ ] = Velocities of respective components


= [ ] = Angular acceleration of respective components

= [ ] = Angular velocities of respective components



= [ ] = Distance from body cg to point on root of wing aligned with wing cg

where i = w1 or w2

= Mass of respective components

= [ ] = Aerodynamic forces of respective components

= [ ] = Aerodynamic moments of respective components


= [ ] = Reaction forces at the hinge points where i = w1 or w2

= [ ] = Reaction moments at the hinge points where i = w1 or w2


with = , 1 , 2 where 1 denotes port wing, denotes body and

2 denotes starboard wing

34
3.2.1 Components of Weight

To calculate the components of weight lets look at figure (19) below:

Figure 19 Diagram showing the direction of weight

= [ sin sin cos cos cos ]

with = , 1 , 2 where 1 denotes port wing, body and 2 denotes starboard wing

3.2.2 Body Equations of Motion

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

are given below:

+
Force Equation : + + 1 + 2 = ( )
(64)

+ + +
Moment Eqn : +
= (65)

1 1 2 2 1 2


where, = Moment of Equation Matrix of respective components= [ ]

with = 1 , 2 where 1 denotes port wing, and 2 denotes starboard wing

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.

3.2.3.1 Port (Left) Wing

Figure 20 Left Wing Forces and Moments

+
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,

= [ ] = Distance root of wing to wing cg






= [
]



with = 1 , 2 where 1 denotes port wing, and 2 denotes starboard wing

where,
1 =
+
1 and
1 = rate of change of flapping angle

1 = + 1 and 1 = Flapping angle acceleration

36
3.2.3.2 Starboard (Right) Wing

Figure 21 Right wing Forces and Moments

+
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

2 = + 2 and 2 = Flapping angle acceleration

3.2.4 Kinematics

We can observe from equations (62)-(65) that we have to establish a relationship between the wing

velocity and acceleration and body velocity and acceleration.

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)

3.2.4.2 Starboard (Right) Wing Velocity and Acceleration

2 =
Velocity: +
( 2 +
2 ) + 2 )
1 ( (72)

Acceleration:

=
+ 2 ) + + (
2 ) + 2 ) +
2 2 +
(
(

2
2 ) + 2 (
2 ( 2 ) +
2 2 )
2 ( (73)

3.3 FINAL EQUATIONS

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:

3.3.1 Force Equation

+ (
( + 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)

3.3.2 Moment Equation

+ 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

SIMULINK MODEL AND AIRCRAFT SELECTION

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

aircraft is provided in the following sub-headings.

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

selected aircraft for the particular subsystem.

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

Figure 23 Aerodynamic Block showing inputs and outputs

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

model while the tail angles act as control variables.

Table 1 Aerodynamic Block Inputs

INPUT VARIABLE UNITS DESCRIPTION


The frequency with which the
Frequency Hz
aircraft wings flap
The velocity vector of aircraft
ft/s
in body axis
Angle of attack of the aircraft
body calculated as the inverse
alpha rad tangent of ratio of vertical
velocity of the body to
forward velocity of the body
The tail setting angle, also
rad
referred to as tail pitch angle.
The tail roll angle, it is the
angle by which the tail will
rad
be rolled about the body x-
axis for lateral axis control

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

presented in table (2) below:

42
Table 2 Aerodynamic Block Outputs

OUTPUT VARIABLE SYMBOL UNITS DESCRIPTION

The aerodynamic forces in all three


Force-Body lbf directions developed by body and tail
combined
The aerodynamic forces in all three
Force-wing 1 1 lbf
directions developed by port (left) wing
The aerodynamic forces in all three
Force-wing 2 2 lbf directions developed by starboard (right)
wing
The aerodynamic moments generated by
Moments-body
lbf-ft

body-tail combination
The aerodynamic moments generated by
Moments-wing 1
lbf-ft
1
port (left) wing
The aerodynamic moments generated by
Moments-wing 2
lbf-ft
2
starboard (right) wing
The angular velocity of the port (left) wing
Omega_c1
1 rad/sec
due to flapping
The angular velocity of the starboard
Omega_c2
2 rad/sec
(right) wing due to flapping
The angular acceleration of the port(left)
Omega_c1_dot 1 rad/sec2
wing
The angular acceleration of the starboard
Omega_c2_dot 2 rad/sec2
(right) wing
Flapping angle of the wing which is a
Gamma rad function of cycle angle, and the flapping
amplitude in the aerodynamic model

43
Now that the inputs and outputs of the block is defined, the internal structure is shown in

figure (24).

Figure 24 Aerodynamic Block Internal make-up


In the above figure, it can be seen that the aerodynamic model consists of two parts, the

wing and the tail modules. The wing module is separately fed into the flight dynamics model while

the tail module is coupled with the body aerodynamics.

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

estimation of the aerodynamic forces and moments.

Table 3 Inputs to Aerodynamic S-Function

VARIABLE SYMBOL UNITS DESCRIPTION

Alpha0In rad Zero Lift Angle

EtaS No Dim Leading edge suction efficiency

Co-efficient of moment about aerodynamic center


Cmac No Dim
of wing

MaxAlphaStallIn ( ) rad Maximum stall angle of the airfoil

Cs cs ft Chord length of each section of wing

Mean pitch angle of chord with espec to pitch


ThetaWIn
rad
axis


Beta0 rad Magnitude of dynamic twists linear variation

Ys ft Co-ordinate along semi-span

Dy dy ft Width of each section of a wing

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

available from the work of Zakaria, et al. [58].

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

in table (4) below:

Table 4 Aerodynamic Data

Symbol Value DESCRIPTION


0.5[Deg] Angle of sections zero lift line
0.98 Leading edge suction efficiency
0.025 Moment coefficient about aerodynamic center
( ) 13[Deg] Airfoils stall angle

Work by Zakaria, et al. [58] also presented the following input data for the Slow Hawk Ornithopter

Table 5 Important Data about SlowHawk Ornithopter

Test Model W(Kg) b(m) f(Hz) U(m/s) (Deg) ()



( )

Weight Span

SlowHawk 2 0.42 1.22 2.8- 3.6 5-8 25 10 4.2 5.2 0 - 70

46
The wing is broken down into 12 segments as shown in figure 25 below:

Figure 25 Wing Segments [50]

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.

Table 6 Characteristics of Ornithopter

Symbol Value Description

2.8 3.6 (Hz) Flapping Frequency range values

16.4042 26.2467 (m/s) Operating velocity range values

20 10 [Deg] Flapping angle magnitude

Table 7 Values of Initialised Variables

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

aircraft. The values of these variables are given in table 8.

Table 9 Input Values

(Hz) (ft/sec) (deg) (deg)


(deg/ft) Thrust(lbs) Lift (lbs)

3.24 15.65 35 5 35 0.97

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)

Figure 26 Lift Generated by both the wings

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)

Figure 27 Total Thrust Generated by both the wings

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)

Figure 28 Pitching Moment

50
4.3.2 Tail

The aerodynamic model was explained in the section 2.4. These co-efficients are given

below from Grauer [24].

Figure 29 Tail Aerodynamic Co-efficients


The Forces and Moments generated by the tail in an approximately trim condition is given

in table (9).

Table 10 Tail Forces and Moments values

FORCES VALUE

Drag -0.0401 lbs

Lift 0.0385 lbs

Side Force 0 lbs

Pitching Moment -0.4892 lbs-ft

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

equations were then coded in SIMULINK. Figure 32 shows the block.

INPUTS OUTPUT

Figure 30 Flight Dynamic Block

52
The inputs and outputs are explained in the following tables.

Table 11 Flight Dynamics Block Inputs

BLOCK INPUT EQUIVALENT VARIABLE IN

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

BLOCK OUTPUT EQUIVALENT VARIABLE IN

EQUATIONS 70 and 71

Vb_dot

Wb_dot

Euler , ,

Ve , , (From equation 58 and 59)

Xe x,y,z

V_b

W_b

Alpha

A port to tap into the current moment

Out 1 generated by wing 1 to be forwarded to

Dynamic inverse controller

A port to tap into the current moment

Out 2 generated by wing 2 to be forwarded to

Dynamic inverse controller

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

Appendix C. The block in the SIMULINK model is shown below:

54
Aerodynamic Block giving S-Function calculating Input into Flight Dynamics

the flapping angle and 2


1 Model

Figure 31 Calculation of I _w1 and I _w2


The complete model that encompasses equations 70 and 71 is shown in figure 34. The

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

showing an important functional component of the model.

55
Figure 32 Force Equations Part I

Figure 33 Force Equations Part II

56
Figure 34 Moments Equation

57
Figure 35 Solving for Linear and ANgular Accelerations

Figure 36 Solving for Euler angles and Inertial properties

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.

Table 13 Required Global Inputs


VARIABLE VALUE

Mass_body 0.75 lbs

Mass_wing 1 0.0912 lbs

Mass_wing 2 0.0912 lbs

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

derived except for the following:

Table 14 Miscellaneous Inputs

VARIABLE VALUE (ft)

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

The controller architecture used in this work consists of a Proportional-Integral (PI)

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

to the inverse controller.

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

required tail setting angle.

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 these inputs the is given as output.

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).

Figure 37 Model Follower


This model depicts the desired dynamics of the system. It is adapted from the work by

Nguyen, et al. [59]

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

adaptive signal to form .

The rise time for the PI controller was chosen to be 0.5 secs hence, the model followers rise

time was fixed at 0.275 secs.

5.3 PROPORTIONAL-INTEGRAL (PI) CONTROLLER

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

the values of known variables:

= 0.0016812 2 [0.3486 3.3182 + 0.0975 0.4184 2 + 0.3053 ] +

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

is a very important requirement since the dynamics of an ornithopter is still uncertain.

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)

Where, is the learning rate and () is the modelling or tracking error.

The modelling-error has been used historically at WSU. The modelling-error is the

difference in acceleration such that

64
() = (83)

The ANN module in the SIMULINK is shown in figure (40)

Figure 38 ANN Architecture


5.6 PROPORTIONAL-DERIVATIVE (PD) CONTROLLER

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

5.7.1 Control Architecture

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.

5.7.2 Flight Dynamics Model

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

scaled up by a factor of three.

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

stable negative value.

5.7.3 Lateral Control Loop

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:

Table 15 PI CONTROLLER GAINS

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)

Figure 40 PI Controller-Original System


Input

0.8

0.6

0.4
Input (rad)

0.2

-0.2

-0.4
10 15 20 25 30
Time (secs)

Figure 41 PI Controller - Input

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

the pitch rate q.

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)

Figure 42 PI Controller + 50% modelling error


Input

0.8

0.6

0.4
Input (rad)

0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 43 PI Controller+50 % Modelling error - Input


69
Now the adaptation is introduced in the above model and it was found that the ANN

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

with the oscillatory nature of q.

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)

Figure 44 PI Controller+50% modelling error+ANN

70
Input

0.8

0.6

0.4
Input (rad)

0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 45 PI Controller+50% modelling error+ANN - Input

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)

Figure 46 PI Controller+50% modelling error+ANN -ANN Input

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)

Figure 47 PI Controller +Zero Cm-alpha

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)

Figure 48 PI Controller +Zero Cm-alpha+ ANN

73
ANN Input

0.8

0.6

0.4
ANN I/p

0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 49 PI Controller +Zero Cm-alpha+ ANN ANN Input


The third case is to show the performance of the PI controller when an error is introduced

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)

Figure 50 PI Controller + case 1 unstable value of Cm-alpha

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

the tracking performance as seen in the 22-25 sec mark.

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)

Figure 51 PI Controller + case 1 unstable value of Cm-alpha+ANN

ANN Input

0.8

0.6
ANN I/p

0.4

0.2

-0.2

-0.4
10 15 20 25 30
Time (secs)

Figure 52 PI Controller + case 1 unstable value of Cm-alpha+ANN - ANN Input

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)

Figure 53 PI Controller + case 2 unstable value of Cm-alpha

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)

Figure 54 PI Controller + case 2 unstable value of Cm-alpha+ANN

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)

Figure 55 PI Controller + case 2 unstable value of Cm-alpha+ANN ANN Input

78
11.2 PD CONTROLLER

The gains from chapter 5 of the controller is given in table (16) below:

Table 16 PD CONTROLLER GAINS

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)

Figure 56 PD Controller - Original System

79
Input

0.8

0.6

0.4

Input (rad)
0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 57 PD Controller - Input


Repeating the same test cases as previously done for PI controller in section 11.2, the first

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)

Figure 58 PD Controller + 50% modelling error


80
Now the adaptation is introduced in the above model and it was found that the ANN adapted

to reduce the tracking error and the system behaved like a first order system. We can observe the

the systems response in fig 59.

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)

Figure 59 PD Controller+50% modelling error+ANN


ANN Input

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)

Figure 60 PD Controller+50% modelling error+ANN -ANN Input

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

rate as we can see in figure 61.

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)

Figure 61 PD Controller +Zero Cm-alpha


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 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

pitch rate model.

82
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
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)

Figure 62 PD Controller +Zero Cm-alpha+ ANN

ANN Input

0.8

0.6

0.4
ANN I/p

0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 63 PD Controller +Zero Cm-alpha+ ANN ANN Input


83
The third case is to show the performance of the PD controller when an error is introduced

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)

Figure 64 PD Controller + case 1 unstable value of Cm-alpha


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 62.

84
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
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)

Figure 65 PD Controller + case 1 unstable value of Cm-alpha+ANN

ANN Input

0.8

0.6
ANN I/p

0.4

0.2

-0.2

10 15 20 25 30
Time (secs)

Figure 66 PD Controller + case 1 unstable value of Cm-alpha+ANN - ANN Input

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)

Figure 67 PD Controller + case 2 unstable value of Cm-alpha


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

but the rise time is seen to have increased.

86
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
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)

Figure 68 PD Controller + case 2 unstable value of Cm-alpha+ANN

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)

Figure 69 PD Controller + case 2 unstable value of Cm-alpha+ANN ANN Input

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)

Figure 70 PI Controller + Reduced Tail Effectiveness

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)

Figure 71 PI Controller + Reduced Tail Effectiveness - Input


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 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)

Figure 72 PI Controller+ reduced tail effectiveness + ANN

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)

Figure 73 PI Controller+ reduced tail effectiveness + ANN - ANN Input

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)

Figure 74 PD Controller+ reduced tail effectiveness + ANN

91
ANN Input

-0.4

-0.6

-0.8
ANN I/p

-1

-1.2

-1.4

10 15 20 25 30
Time (secs)

Figure 75 PD Controller+ reduced tail effectiveness + ANN - ANN Input

92
CHAPTER 7

CONCLUSION

This thesis presented a general model of an ornithopter combining the unsteady

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

similar to Slow Hawk ornithopter.

Each design involved tuning the PI/PD controller gains along with the learning co-efficient

of the ABC controllers,.

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

12.1 PI Controller with Adaptive Bias Correction

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.

12.2 PD Controller with Adaptive Bias Correction

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.

12.3 Aircraft In Open Loop

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

maintaining the trim conditions for this kind of aircraft.

12.4 Future Work and Recommendations

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

dynamics model to represent closely to an actual model.

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

requirements of the aircraft.

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];

% Specify the block simStateCompliance. The allowed values are:


% 'UnknownSimState', < The default setting; warn and assume DefaultSimState
% 'DefaultSimState', < Same sim state as a built-in block
% 'HasNoSimState', < No sim state
% 'DisallowSimState' < Error out when saving or restoring the model sim state
simStateCompliance = 'UnknownSimState';

% 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)

sampleTime = 1; % Example, set the next hit to be one second later.


sys = t + sampleTime;

% end mdlGetTimeOfNextVarHit

%
%=============================================================================
% mdlTerminate
% Perform any end of simulation tasks.
%=============================================================================
%
function sys=mdlTerminate(t,x,u)

sys = [];

% end mdlTerminate

Published with MATLAB R2013b

105
APPENDIX C

function [sys,x0,str,ts,simStateCompliance] = D_inertia_sFcn(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.

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];

% Specify the block simStateCompliance. The allowed values are:


% 'UnknownSimState', < The default setting; warn and assume DefaultSimState
% 'DefaultSimState', < Same sim state as a built-in block
% 'HasNoSimState', < No sim state
% 'DisallowSimState' < Error out when saving or restoring the model sim state
simStateCompliance = 'UnknownSimState';

% 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)

sampleTime = 1; % Example, set the next hit to be one second later.


sys = t + sampleTime;

% end mdlGetTimeOfNextVarHit

%
%=============================================================================
% mdlTerminate
% Perform any end of simulation tasks.

110
%=============================================================================
%
function sys=mdlTerminate(t,x,u)

sys = [];

% end mdlTerminate

Published with MATLAB R2013b

111
REFERENCES

112
1. Lippisch, A. M. "Man Powered Flight in 1929," Journal of Royal Aeronautical Society

Vol. 64, No. 595, July 1960, pp. 395-398.

2. DeLaurier, J. D. "The Development and Testing of a Full-Scale Piloted Ornithopter,"

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

Vehicles Vol. 1, No. 2, 2009, pp. 71-97.

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

meeting. AIAA Reston, VA, 2012, pp. 1-24.

5. Kinkade, A. "Ornithopter." Google Patents, 2001.

6. Billingsley, D., Slipher, G., Grauer, J., and Hubbard, J. "Testing of a passively morphing

ornithopter wing," AIAA Paper Vol. 1828, 2009.

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

Vol. 104, No. 30, 2007, pp. 12398-403.

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

& Evolution Vol. 17, No. 9, 2002, pp. 415-422.

12. Pennycuick, C. J. "Power Requirements for Horizontal Flight in the Pigeon

&lt;em&gt;Columba Livia&lt;/em&gt," Journal of Experimental Biology Vol. 49, No. 3,

1968, p. 527.

13. Tobalske, B. W. "Biomechanics of bird flight," Journal of Experimental Biology Vol. 210,

No. 18, 2007, p. 3135.

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,"

Proceedings of the 2013 international conference on Autonomous agents and multi-agent

systems. International Foundation for Autonomous Agents and Multiagent Systems, 2013,

pp. 103-110.

16. Jackowski, Z. J. "Design and construction of an autonomous ornithopter." Massachusetts

Institute of Technology, 2009.

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

System for General Aviation Application." SAE International, 2004.

114
19. Rafi, M., and Steck, J. E. "Response and Recovery of an MRAC Advanced Flight Control

System to Wake Vortex Encounters," AIAA Infotech@Aerospace Conference. Vol. 2,

American Institute of Aeronautics and Astronautics (AIAA), 2013.

20. Rafi, M., Steck, J., and Rokhsaz, K. "A Microburst Response and Recovery Scheme Using

Advanced Flight Envelope Protection," AIAA Guidance, Navigation, and Control

Conference. American Institute of Aeronautics and Astronautics, 2012.

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

Control for Stability Recovery of Damaged Aircraft," 2006.

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

guaranteed tracking performance," IEEE Transactions on Neural Networks Vol. 7, No. 2,

1996, pp. 388-399.

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

Dynamics Vol. 27, No. 3, 2004, pp. 434-443.

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

Aviation Aircraft," FAA Final Report, 2006.

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,

2008, pp. 1773-1777.

31. Grauer, J. A. Modeling and system identification of an ornithopter flight dynamics model:

University of Maryland, College Park, 2012.

32. Grauer, J., Ulrich, E., Hubbard Jr, J., Pines, D., and Humbert, J. S. "Testing and system

identification of an ornithopter in longitudinal flight," Journal of Aircraft Vol. 48, No. 2,

2011, p. 660.

33. Rose, C., and Fearing, R. S. "Flight simulation of an ornithopter." Masters thesis, EECS

Department, University of California, Berkeley, May 2013.[Online]. Available:

http://www. eecs. berkeley. edu/Pubs/TechRpts/2013/EECS-2013-60. html, 2013.

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=

Bibliothque nationale du Canada, 1995.

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

Journal Vol. 97, No. 964, 1993, pp. 125-130.

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

smart structures and materials. Vol. 6928, 2008, p. 69281O.

39. Chalia, S., and Bharti, M. K. "A Review on Aerodynamics of Flapping Wings," 2016.

40. BENG, T. W. "Dynamics and control of a flapping wing aircraft." 2004.

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

of an ornithopter," Proceedings of the World Congress on Engineering. Vol. 2, 2010, pp.

1460-1465.

43. Kamakoti, R., Berg, M., Ljungqvist, D., and Shyy, W. "A computational study for

biological flapping wing flight,"

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

foil propulsion systems." HYDRONAUTICS INC LAUREL MD, 1968.

47. Kuethe, A., and Chow, C. "The Finite Wing, Foundations of Aerodynamics, Wiley, New

York, 1998, pp. 169-219."

48. Prouty, R. "Airfoils for rotor blades," Helicopter Performance, Stability, and Control,

1986, pp. 397-409.

49. DeLaurier, J. "Drag of wings with cambered airfoils and partial leading-edge suction,"

Journal of aircraft Vol. 20, No. 10, 1983, pp. 882-886.

50. Garrick, I. "Propulsion of a flapping and oscillating airfoil," 1937.

51. Hoerner, S. F. Fluid-dynamic drag: practical information on aerodynamic drag and

hydrodynamic resistance: Hoerner Fluid Dynamics, 1965.

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

of Guidance control and dynamics Vol. 31, No. 4, 2008, p. 1157.

54. Bolender, M. A. "Rigid multi-body equations-of-motion for flapping wing MAVs using

Kanes equations," AIAA Guidance, Navigation, and Control Conference. 2009.

55. Grauer, J. A., and Hubbard Jr, J. E. "Multibody model of an ornithopter," Journal of

guidance, control, and dynamics Vol. 32, No. 5, 2009, p. 1675.

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

characteristics of flapping wings," 13th International Conference on Aerospace Sciences

& Aviation Technology, ASAT-13, May. Vol. 26, 2009, p. 28.

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

Vol. 31, No. 3, 2008, p. 751.

119