ABSTRACT Title of Thesis: WIND FRAME STATE ESTIMATION AND GUST REJECTION USING BIO-INSPIRED FLOW SENSORS William Dean, Master of Science, 2015 Thesis directed by: Professor J. Sean Humbert Department of Aerospace Engineering Growing demand for robust, low-computation sensing and control of micro-air vehicles motivates development of new technology. A MEMS wind flow sensor has been developed in-house, drawing inspiration from setae structures seen in biology. The goal of this work is to validate the use of these new sensors for wind frame state estimation and gust rejection. Three of these sensors were mounted on the surface of a fuselage-like structure to estimate wind speed, angle of attack, and sideslip angle. Static linear and nonlinear estimation model structures and parameters were designed with time-domain equation-error system identification techniques. For small angles, state estimation was demonstrated for both estimation schemes. Gust rejection control was implemented to improve state regulation in the presence of a lateral gust stream. A robust µ controller was implemented and displayed lateral velocity and path perturbation attenuation. WIND FRAME STATE ESTIMATION AND GUST REJECTION USING BIO-INSPIRED FLOW SENSORS by William Alexander Dean Thesis submitted to the Faculty of the Graduate School of the University of Maryland, College Park in partial fulfillment of the requirements for the degree of Master of Science 2015 Advisory Committee: Professor J. Sean Humbert, Chair/Advisor Professor Derek Paley Professor Inderjit Chopra c© Copyright by William Alexander Dean 2015 Acknowledgments It is with deep sincerity I thank everyone who has helped me and been part of my life over the past few years. To start, I’d like to thank my advisor Dr. Sean Humbert for offering me the opportunity and financial support to work as a graduate student in the Autonomous Vehicle Laboratory, especially when I came to him with no prior research experience. Two years under your supervision has allowed me to learn more than I ever could have imagined. Next I have to thank Badri Ranganathan and Hector Escobar, who were there to provide guidance and expertise from start to finish. May this thesis serve written documentation of my debt to you (as verbally agreed upon). Greg Gremillion, Andrew Kehlenbeck, Imraan Faruque, and Jishnu Keshavan all deserve many thanks for their help along the way, whether large or small. We may not have had the pleasure of working on the same projects, but the company and conversation of Julia, Lina, and Mac was another great part of working in this lab. For their unwavering support, I thank my family. Mom and Dad, the col- lege education you’ve provided has been the most defining experience of my life. Words cannot express how grateful I am to be where I am today, all thanks to you. Grandma and Mom-mom, I hope you understand how vital your love and support was over the years. Making you guys proud has been my greatest achievement. I love all of you more than anything else in the world. That goes for all my distant family, as well; I wish I had the chance to you see more often. To all the friends I’ve made along the way, you’re the best company anyone ii could ask for. Every single one of you has a bright future and I can’t wait to see where we all end up. Shout out to my friends who’ve graced the company of C4. You’re an awesome group of guys and are all destined for great things. Good luck to all the upstanding brothers of Theta Tau in your future endeavors. Whatsoever thy hand findeth to do, do it with thy might. To everyone else, keep up the good work and I hope we’ll get the chance to catch up later in life. Lastly, it is with pride I say thank you and farewell to the University of Mary- land and the Department of Aerospace Engineering. This institution has provided the structure behind the knowledge, temperament, professionalism, and friendships I’ve gained. It is here I have learned to appreciate the notion that suffering builds character, and there is no such thing as too much character. I would also like to acknowledge the financial support provided by Aurora Flight Sciences, which gave me the work to earn this degree. iii Table of Contents List of Tables vi List of Figures vii List of Abbreviations x 1 Introduction 1 1.1 Motivation and Previous Work . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Strain Based Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Wind Frame Estimation and Gust Rejection . . . . . . . . . . . . . . 3 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Outline of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Bio-Inspired Hair Sensing and Signal Processing 7 2.1 Sensor Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Signal Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Sensor Mount and Casing . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 Wind Frame State Estimation 16 3.1 Wind Tunnel Experimental Setup . . . . . . . . . . . . . . . . . . . . 18 3.2 Initial Steps in Sensor Characterization . . . . . . . . . . . . . . . . . 19 3.3 Kapton Sensor Characterization . . . . . . . . . . . . . . . . . . . . . 23 3.4 System Identification and State Estimation . . . . . . . . . . . . . . . 30 3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4 Gust Rejection 42 4.1 Instrumentation and Flight Test Information . . . . . . . . . . . . . . 43 4.2 Gust Speed Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3 Robust Controller Design . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4 Theoretical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.5 Experimental Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 iv 5 Conclusion 79 5.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 A Additional Figures 83 v List of Tables 3.1 Linear and Nonlinear Estimation Parameters . . . . . . . . . . . . . . 33 3.2 Updated Estimation Parameters . . . . . . . . . . . . . . . . . . . . . 36 4.1 Gust Speeds at Distances from the Nozzle of the Leaf Blower . . . . . 52 4.2 Block Diagram Labels . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3 Stability Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 vi List of Figures 2.1 Hair Sensor Design (to scale) . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 a. Sensor Geometry, b. Sensor Deflection Due to Flow (Credit: Badri Ranganathan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Sensor with Connected and Extended Paddles, Mounted . . . . . . . 11 2.4 Signal Conditioning Circuit with Picture of 3 Circuit Boards Next to Quarter Dollar (to show size) . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Mount in CAD (exploded view), and Semi-Assembled Sensor on Mount 14 2.6 Sensor Case in CAD, and Picture of Mounted Sensor in Case . . . . . 14 3.1 Body Frame Relation to Air-Relative Velocity [1] . . . . . . . . . . . 17 3.2 Initial Angle of Attack and Sideslip Angle Test Setup . . . . . . . . . 19 3.3 Initial Wind Speed Sweep Results . . . . . . . . . . . . . . . . . . . . 20 3.4 Initial Angle of Attack Sweep Results . . . . . . . . . . . . . . . . . . 21 3.5 Initial Sideslip Angle Sweep Results . . . . . . . . . . . . . . . . . . . 21 3.6 Kapton Sensor Design 2 (left), Design 3 (middle), and Design 4 (right) 24 3.7 Design 4 Forward and Reverse Wind Speed Tests . . . . . . . . . . . 24 3.8 Fuselage Mount in Wind Tunnel . . . . . . . . . . . . . . . . . . . . . 26 3.9 Wind Speed Sweep at α = 0◦, β = 0◦ . . . . . . . . . . . . . . . . . . 27 3.10 Angle of Attack Sweep at β = 0◦ . . . . . . . . . . . . . . . . . . . . 28 3.11 Sideslip Angle Sweep at α = 0◦ . . . . . . . . . . . . . . . . . . . . . 29 3.12 Linear Estimation Validation Test Errors . . . . . . . . . . . . . . . . 34 3.13 Nonlinear Estimation Validation Test Errors . . . . . . . . . . . . . . 35 3.14 Linear Estimation with Updated c′1 . . . . . . . . . . . . . . . . . . . 36 3.15 Linear Estimation with Updated c′2 . . . . . . . . . . . . . . . . . . . 37 3.16 Linear Estimation with Updated c′3 . . . . . . . . . . . . . . . . . . . 37 3.17 Linear Estimation with Updated c′4 . . . . . . . . . . . . . . . . . . . 38 3.18 Linear Estimation with Updated c′5 . . . . . . . . . . . . . . . . . . . 38 3.19 Linear Estimation with Updated c′6 . . . . . . . . . . . . . . . . . . . 39 3.20 Static Linear and Nonlinear Estimation at α = −15◦, β = 15◦, and V = 2.5 m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1 AVL Flight Test Arena . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 DJI FlameWheel 330 with ArduPilot Mega . . . . . . . . . . . . . . . 44 vii 4.3 Vicon Tracker Software . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4 XBee-PRO Wireless Communication Module . . . . . . . . . . . . . . 46 4.5 Additional Battery and Voltage Regulator . . . . . . . . . . . . . . . 47 4.6 Signal Conditioning Board . . . . . . . . . . . . . . . . . . . . . . . . 47 4.7 Anti-aerodynamic Cardboard Surface . . . . . . . . . . . . . . . . . . 48 4.8 Quadrotor Vehicle As Used In Gust Rejection Experimentation . . . 49 4.9 Band-pass Filter Bode Diagram . . . . . . . . . . . . . . . . . . . . . 50 4.10 Raw Analog Signal vs. Filtered and Rectified Signal . . . . . . . . . . 51 4.11 Gust Estimation Block Diagram . . . . . . . . . . . . . . . . . . . . . 52 4.12 Gust Speed Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.13 System Model Used for Disturbance Rejection Controller . . . . . . . 54 4.14 M∆-Structure Block Diagram . . . . . . . . . . . . . . . . . . . . . . 60 4.15 Uncertainty and Performance Weighting Functions . . . . . . . . . . 62 4.16 General Control Configuration Block Diagram . . . . . . . . . . . . . 63 4.17 General Block Diagram Using Lower LFT Form . . . . . . . . . . . . 64 4.18 Block Diagram Formulation of Robust Performance as a Structured Robust Stability Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.19 Singular Value Plot of M . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.20 Singular Value Plot of WPSG . . . . . . . . . . . . . . . . . . . . . . 68 4.21 Structured Singular Value Plot of N . . . . . . . . . . . . . . . . . . 68 4.22 Effect of Input Disturbance on Output . . . . . . . . . . . . . . . . . 70 4.23 Open Loop Transfer Function Comparison . . . . . . . . . . . . . . . 71 4.24 Trajectory Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.25 Lateral Velocity Comparison . . . . . . . . . . . . . . . . . . . . . . . 74 4.26 Open Loop Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.27 Closed Loop Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . 76 A.1 Complete Signal Processing Board Schematic . . . . . . . . . . . . . . 83 A.2 Initial Sensor 1 Wind Speed Sweep . . . . . . . . . . . . . . . . . . . 84 A.3 Initial Sensor 2 Wind Speed Sweep . . . . . . . . . . . . . . . . . . . 84 A.4 Initial Sensor 3 Wind Speed Sweep . . . . . . . . . . . . . . . . . . . 85 A.5 Initial Sensor 4 Wind Speed Sweep . . . . . . . . . . . . . . . . . . . 85 A.6 Initial Sensor 9 Wind Speed Sweep . . . . . . . . . . . . . . . . . . . 86 A.7 Initial Sensor 1 Angle of Attack Sweep . . . . . . . . . . . . . . . . . 86 A.8 Initial Sensor 2 Angle of Attack Sweep . . . . . . . . . . . . . . . . . 87 A.9 Initial Sensor 3 Angle of Attack Sweep . . . . . . . . . . . . . . . . . 87 A.10 Initial Sensor 4 Angle of Attack Sweep . . . . . . . . . . . . . . . . . 88 A.11 Initial Sensor 9 Angle of Attack Sweep . . . . . . . . . . . . . . . . . 88 A.12 Initial Sensor 1 Sideslip Angle Sweep . . . . . . . . . . . . . . . . . . 89 A.13 Initial Sensor 2 Sideslip Angle Sweep . . . . . . . . . . . . . . . . . . 89 A.14 Initial Sensor 3 Sideslip Angle Sweep . . . . . . . . . . . . . . . . . . 90 A.15 Initial Sensor 4 Sideslip Angle Sweep . . . . . . . . . . . . . . . . . . 90 A.16 Initial Sensor 9 Sideslip Angle Sweep . . . . . . . . . . . . . . . . . . 91 A.17 Linear Estimation at α = 0◦, β = 0◦, V = 3 m/s . . . . . . . . . . . . 91 A.18 Linear Estimation at α = 5◦, β = 5◦, V = 3 m/s . . . . . . . . . . . . 92 viii A.19 Linear Estimation at α = 10◦, β = 10◦, V = 3 m/s . . . . . . . . . . . 92 A.20 Linear Estimation at α = 15◦, β = 15◦, V = 3 m/s . . . . . . . . . . . 93 A.21 Linear Estimation at α = 20◦, β = 20◦, V = 3 m/s . . . . . . . . . . . 93 A.22 Linear Estimation at α = −5◦, β = −5◦, V = 3 m/s . . . . . . . . . . 94 A.23 Linear Estimation at α = −10◦, β = −10◦, V = 3 m/s . . . . . . . . . 94 A.24 Linear Estimation at α = −15◦, β = −15◦, V = 3 m/s . . . . . . . . . 95 A.25 Linear Estimation at α = −20◦, β = −20◦, V = 3 m/s . . . . . . . . . 95 A.26 Nonlinear Estimation at α = 0◦, β = 0◦, V = 2.5 m/s . . . . . . . . . 96 A.27 Nonlinear Estimation at α = 5◦, β = 5◦, V = 2.5 m/s . . . . . . . . . 96 A.28 Nonlinear Estimation at α = 10◦, β = 10◦, V = 2.5 m/s . . . . . . . . 97 A.29 Nonlinear Estimation at α = 15◦, β = 15◦, V = 2.5 m/s . . . . . . . . 97 A.30 Nonlinear Estimation at α = 20◦, β = 20◦, V = 2.5 m/s . . . . . . . . 98 A.31 Nonlinear Estimation at α = −5◦, β = −5◦, V = 2.5 m/s . . . . . . . 98 A.32 Nonlinear Estimation at α = −10◦, β = −10◦, V = 2.5 m/s . . . . . . 99 A.33 Nonlinear Estimation at α = −15◦, β = −15◦, V = 2.5 m/s . . . . . . 99 A.34 Nonlinear Estimation at α = −20◦, β = −20◦, V = 2.5 m/s . . . . . . 100 ix List of Abbreviations and Symbols AVL Autonomous Vehicle Laboratory CAD Computer-Aided Design IC Integrated Circuit MAV Micro-Aerial Vehicle MEMS Microelectromechanical Systems UAV Unmanned Aerial Vehicle A Area C Capacitance c Coefficient d Disturbance E Young’s Modulus G Gain or Plant I Identity Matrix K Controller L Length or Stability Derivative or Observer M Moment P Pressure or Stability Derivative p Pressure or Roll Rate R Resistance S Sensitivity Function s Laplace Variable t Time u Longitudinal Body Velocity or Control Input V Velocity or Voltage v Lateral Body Velocity W Weighting Function w Width or Vertical Body Velocity x State Y Stability Derivative y Output α Angle of Attack β Sideslip Angle ∆ Change or Uncertainty  Strain µ Structured Singular Value ν Gauge Factor ρ Density or Weighting Factor τ Time Period φ Roll Angle x Chapter 1: Introduction 1.1 Motivation and Previous Work Micro-air vehicles are becoming increasingly popular platforms for research, commercial, and military applications. The source of most difficulties in developing this type of technology is the limitation in size, weight, and power. These are even more of a problem when coupled with the increased agility seen in small- scale aircraft. Small Reynolds numbers, inertia, and flight speed are some of the characteristics gained by these vehicles [2]. Thus, developing robust, light-weight, low-power sensing and control capabilities is vital. Biology serves as a rich source of inspiration for engineering new methods of sensing and control. Flying insects are useful for this discussion as they demonstrate robustly stable flight with similar constraints on payload and computing power. Reynolds et al [3] discusses how a wind-sensing mechanism is used by insects for navigation, and suggests that wind-sensitive setae may be involved. At the Uni- versity of Maryland, a Kapton-based ’hair’ sensor has been developed to measure wind flow. This was conceived from the setae structures seen in nature which are commonly found covering the bodies of flying insects. Previous efforts to develop similar sensors are discussed in [4], [5], [6], [7], [8], [9], and [10]. The sensor used 1 in this work is a robust, lightweight, free standing, long, directional sensor system suitable for MAVs [11]. It is emphasized that no previous work with these types of sensors has been done to perform estimation or gust rejection, as is discussed in this thesis. 1.2 Strain Based Sensing The flow sensing device developed at the University of Maryland, College Park is a microelectromechanical system (MEMS) that utilizes strain gauge based sensing. The sensor has two layers to it, a Kapton film as the structural layer and a layer of gold strain gauge patterns. An analog signal conditioning board inputs the sensor voltage readings, provides 2-stage instrumental amplification, and low-pass filtering. The sensor (with casing and headers) and processing board weigh about 2.2 and 2.1 grams, respectively, and have maximum dimensions of 21.0 x 10.3 x 21.3 mm3 and 28.4 x 12.7 x 11.4 mm3, respectively. It should be noted that the size and weight of the sensor, processing board, and associated hardware are designed for rapid modification of the deployment strategy and not efficient payload design. Optimization of the deployment of this technology will require extensive efforts in the redesign of the power supply/regulation, signal processing, and mounting approach. As such, optimal estimation and gust rejection will not be the goal of this research. 2 1.3 Wind Frame Estimation and Gust Rejection Wind frame state estimation is well understood and relatively easy to per- form on large-scale aircraft, particularly fixed-wing vehicles. However, this is not the case for MAVs that cannot afford the weight and size of common windspeed sensors. Pitot tubes, air data probes, and electromechanical vanes are some of the more conventional methods for this type of estimation. Multiple (redundant) sensors and bulky mechanical connections might be required for the conventional sensing schemes [12]. Other problems seen with these types of sensors include digital band- width limitations (imposed by the controlling architecture) and operational ranges above the flight speeds of such small aircraft. Slow flight speeds are a problem be- cause assumptions such as inviscid fluid are no longer valid and flow field models in low Reynolds numbers are still underdeveloped [13]. Shen et al uses distributed pressure information on the wing of a fixed wing MAV for pitch (or α) control [14], but these sensors don’t offer the true wind speed or sideslip angle information that is often desired. [15] uses hot-film flow sensors to perform wind frame state estimation, where a neural network modeled the relationship between the sensors and estimated states. A few downsides to this method include placing sensors on the aerodynamic surfaces and the implementation of a complex, nonlinear neural network. Our goal is to have access to all three wind frame states (α, β, and V ), with sensors located on a fuselage-like structure and utilize a simple (static) estimation scheme. Most MAVs are not fixed wing and don’t have large aerodynamics surfaces. Thus it is desired that an alternative type of sensing device be made for MAV application. 3 Out-of-boundary-layer wind speed information can be obtained using hair sensors, and consequently wind frame state estimation can be directly performed. With proper location and orientation, it will be shown that is possible to measure angle of attack, sideslip angle, and wind speed with these unique sensors. The wind tunnel in the Autonomous Vehicle Laboratory (AVL) has a wind speed range of 0.5 – 3.7 m/s and test section dimensions of 60 x 30 x 30 cm3. The fuselage structure has a maximum diameter of 9.1 cm, which is the annular location where the sensors are mounted, and has a tip-to-rear length of 10.6 cm. Angle of attack and sideslip angle are varied by ± 30◦, with estimation equations being calculated using data between ± 20◦. Disturbances, such as (primarily) wind gusts, are known to have extremely adverse effects on the performance of MAVs. Much effort has gone into developing control strategies to subjugate these effects using pre-defined gust models, but the turbulent and unpredictable nature of these disturbances makes it too difficult for vehicles to react quick enough [16]. Simulation work provides promising results, but requires numerous simplifications [17]. Flow field estimation has also been used for disturbance rejection, which has incorporated effects such as blade flapping, blade drag, induced flow, and non-conventional aircraft platforms [18] [19]. Unfortunately, these models may not stay accurate for all conditions an MAV might be susceptible to, and may be computationally intense. Given a way to directly measure the gust disturbance, a vehicle’s performance could be vastly improved upon by cutting down reaction time. Gust rejection will be implemented and serve as starting point for improving MAV performance in the presence of gusts using hair sensors. 4 Feedback from a single sensor will be used on a quadrotor vehicle that was modified to be more easily disturbed by lateral wind gusts. A µ-based H∞ con- troller is designed to regulate lateral motion for an input disturbance with additive uncertainty. Cartesian displacement from the nominal path is reduced by 17.1% and lateral velocity is reduced by 19.7%. 1.4 Contributions The purpose of this thesis is to present the first efforts in the implementation of a unique, bio-inspired hair sensor for wind frame state estimation and gust rejection. More specifically, the contributions are: • Characterization of unique, bio-inspired hair sensors for the purpose of wind frame estimation on a (MAV) fuselage-like structure. Previous work with similar sensing technology has only been to estimate wind speed and doesn’t take implementation on a micro-air vehicle into consideration. • Development and validation of linear and nonlinear static estimation schemes compatible with the bio-inspired hair sensors, for estimation of wind speed, angle of attack, and sideslip angle in a wind tunnel. This is an expansion on the previous contribution in that all previous work hasn’t implemented similar sensing technologies for wind frame estimation. Utilizing this type of sensing technology for wind frame estimation provides a starting point for the development of a new light-weight, low-computation sensory system ideal for small unmanned aerial vehicles. 5 • Robust formulation of a gust rejection controller, which uses gust speed feed- back from bio-inspired hair sensors. When estimating a disturbance directly, rejecting (input) disturbances is typically performed using feedforward control. This strategy isn’t conducive to the formulation of robustly stable control, so a different approach was considered where the effect of the gust was reduced using gust state feedback. • Implementation of the robust controller on a small quadrotor vehicle with a bio-inspired hair sensor to demonstrate the gust rejection capability. These types of sensors haven’t previously been deployed on a free-flying vehicle. This contribution provides validation of the robust feedback control and the appli- cability of the unique, bio-inspired sensors for use on a micro-air vehicle. 1.5 Outline of Thesis The next chapter will discuss the sensor’s design and signal processing circuit board. Chapter 3 will discuss wind frame estimation in a low speed wind tunnel using three hair sensors mounted on a fuselage-like structure. The last chapter will discuss a real-time gust estimation scheme, the methodology behind the design of a robust µ-controller, then show performance of the controller on a quadrotor vehicle with regards to lateral state regulation. The quadrotor will already possess stability augmentation and the hair sensor feedback will act as additional outer loop feedback. 6 Chapter 2: Bio-Inspired Hair Sensing and Signal Processing The hair sensor used in these efforts has been developed by Badri Ranganathan (advised under Dr. J. Sean Humbert) and Ivan Penskiy (advised under Dr. Sarah Bergbreiter) at the University of Maryland. Funding was provided by Aurora Flight Sciences, working under contract with the U.S. Army Research Laboratory. The purpose of this research was to enable innovative capabilities for small unmanned aircraft systems (SUAS), thus increasing performance of the fixed wing vehicles that currently exist in the military. Most of the material in this section is referenced from [11], and instead of continuously referencing this paper I will simply state that this work should not be considered as one of my contributions. Instead, this chapter should be considered background material, in which I had a partial contribution. 2.1 Sensor Design Strain gauge sensing was chosen in order to satisfy bidirectional sensing and provide relatively simple fabrication requirements. Kapton [20] polyimide film was used as the structural component of the sensor, which provided a durable substrate that maintains the desired mechanical properties after the fabrication process. With 7 a gold strain sensing layer laid on top, the Kapton layer will deform based on the magnitude and direction of the flow. The deflecting portion of the sensor is designed with multiple cantilever structures where pairs of cantilevers are connected to paddles. Figure 2.1 displays a top-down image of the hair sensor as it seen in computer aided design (CAD). Figure 2.1: Hair Sensor Design (to scale) There are four cantilever-paddle structures per sensor. Three interfacing ter- minals exist: ground, power, and signal (Vout). The sensing strain gauge patterns are located on the roots of the cantilevers, and are connected in series. As each paired cantilever-to-paddle structure deforms, the nominal resistance will change according equation 2.1. ∆R R0 = (1 + 2ν) (2.1) 8 R0 is the nominal resistance of the gauge,  = ∆L L is the strain (L being nominal length of the gauge), and (1 + 2ν) is the gauge factor (about 2 for gold). The strain is the variable dependent on wind velocity, because the applied (total) pressure over the structure is a function of velocity. P = pstatic + 12ρairV 2 (2.2) Where pstatic is the static pressure that will be considered constant (since the altitude will hardly vary), ρair is the air density (also constant), and V is the wind speed perpendicular to the cantilever structure. Deflection will occur when there is a difference in pressure on each face of the cantilever structure. Assuming the flow velocity is only non-zero on the upstream side, the difference in pressure will be equal to 12ρairV 2. For simplicity, I will simply use P as the pressure difference. The dimensions shown in figure 2.2 are known constants and can be used in the formulas for moment of inertia I = wt 3 12 and area A = L 2 2 + 2wL1, where t is the cantilever thickness. 9 Figure 2.2: a. Sensor Geometry, b. Sensor Deflection Due to Flow (Credit: Badri Ranganathan) Thus, strain can be written as eq. 2.3, and ∆R is a function of wind speed.  = Mt 2EI = 12Mt 2Ewt3 = 6PAL1 Ewt3 = 6P (L22 + 2wL1)L1 Ewt2 (2.3) Where L1 = 4.8 mm, L2 = 1.6 mm, w = 0.8 mm, t = 13 µm, and (Young’s Modulus) E = 2.5 GPa. Looking back at figure 2.1, the series connection of the sensing gauges can be considered as a single (total) resistor that varies with wind speed. The pattern below the sensing gauges is another set of strain gauges connected in series, known as the reference resistor. This total resistance will not change as it is part of the sensor that will not be allowed to deform. The total sensing resistance and total reference resistance form a potential divider where the voltage (Vout) between them varies with the sensing resistance and is sent to a signal conditioning circuit board. 10 Multiple designs were considered for the cantilever area, most relevant of which is the design where the paddles are connected side-by-side and extended upward. This provided more sensitivity to wind speed and prevented fluttering from happen- ing in certain instances. Figure 2.3 is a picture of this design. It is glued to a 3D printed structure that will be discussed in the mount and casing section. Figure 2.3: Sensor with Connected and Extended Paddles, Mounted The fabrication process for this sensor is outside the scope of this thesis. For more information, refer to [11]. 2.2 Signal Processing The Vout signal can vary on the order of tens of microvolts up to millivolts, due to variability in the fabrication process. Thus this signal will require signifi- cant amplification and, consequently, low-pass-filtering. Two stage amplification is performed by two instrumental amplifier chips, INA 326 from Texas Instruments. 11 These chips require two input voltages, Vin+ and Vin−. One will come from the potential divider circuit on the sensor, and the other will come from a potential divider formed by two potentiometers. This forms a Wheatstone network, where the resistors are RS (sensing resistor), RR (reference resistor), RD1 (2 kOhm pot.), and RD2 (2 kOhm pot.). Figure 2.4 displays this network along with a simplified representation of the rest of the circuit. The complete schematic is shown in figure A.1. R S R D1 R R R D2 R f C f V out2 R 5 R 6 V DD V DD1INA -326 INA -326 V out1V in+ V in+ V in-V in- Figure 2.4: Signal Conditioning Circuit with Picture of 3 Circuit Boards Next to Quarter Dollar (to show size) VDD represents the voltage supplied to the Wheatstone network, which was set between 0.1v and 0.35v so as to reduce possible heat build-up from electrical current. The amplifier chips are powered by 3.3v which is set by an IC regulator from STMicroeletronics. This means the maximum voltage each chip can output is 12 3.3v, and that RD1, RD2 must be hand tuned until the first chip’s output is between 0 and 3.3v. In order to satisfy the same output range requirement in the second amplifier chip, another potential divider is used to set one of the inputs to the second stage. R5 is another 2 kOhm potentiometer that is adjusted by hand, and R6 is a fixed resistor to prevent the possibility of shorting. VDD1 is also connected to the 3.3v provided by the regulator. The output of the second stage is then low-pass filtered by Rf and Cf , which are chosen to set the cut-off frequency to 15.9 Hz. The amplifier gains are set by a pair of fixed resistors for each chip. They are R1,R2 and R3,R4 in figure A.1, which correspond to the first and second stage gains, respectively. Those gains are G1 = 2R2 R1 and G2 = 2R4 R3 for the first and second stage, respectively. The total gain has been varied from 400 to 4000 over the course of the research, depending on the sensors’ resistances. 2.3 Sensor Mount and Casing Since the sensor itself consists of only Kapton and gold traces, it is necessary to develop a structure to support the sensor. An OBJET EDEN350 3D printer was used to create this mounting structure, due to its rapid prototyping capability. The mount is a three part design created in Solidworks. The sensor is super glued to one of the parts, using Loctite 454 Instant Adhesive. 90◦ headers are used to interface with the sensor’s terminals. The header-to-terminal connection is secured using the other two parts of the mounting design. Figure 2.5 shows an exploded view of the three part mount design in CAD and a picture of the sensor glued to one part with 13 the headers fastened between the other two parts. Figure 2.5: Mount in CAD (exploded view), and Semi-Assembled Sensor on Mount Altogether the sensor, mount, and headers weigh about 1.1 grams. The max- imum dimensions (from end of cantilevers to tip of headers) are 21.9 x 17.7 x 7.5 mm3. As an additional means of protection and a more aerodynamic shape, a two part case was designed. Figure 2.6 shows the two case parts in CAD next to a picture of the mounted sensor inside the case. Figure 2.6: Sensor Case in CAD, and Picture of Mounted Sensor in Case The case also weighs about 1.1 grams, resulting in a sensor that weighs about 2.2 grams. The new maximum dimensions are 20.9 x 21.3 x 10.3 mm3. The signal 14 conditioning board weighs about 2.1 grams and has maximum dimensions of 28.4 x 12.7 x 11.4 mm3, resulting in a sensing package that weighs 4.3 grams and takes up 8697.0 mm3 (or 8.697e-6 m3) of space (excluding wiring and other installation materials). 2.4 Summary By placing gold strain gauges on Kapton film, a bio-inspired hair sensor was made to detect wind flow. The original design consists of four cantilever structures per sensor, with the strain gauges placed at the roots. The change in resistance of the gauges is proportional to the dynamic pressure (i.e. wind speed). With the resistors on the sensor and two potentiometers on the signal conditioning board, a Wheatstone bridge is formed. The difference in voltage provided by the bridge is amplified using an instrumental amplifier, the output of which is compared to another potential divider’s output voltage, and the difference is amplified using a second instrumental amplifier. The output of the second amplifier is then low-pass filtered before being considered as the final output voltage to be used for state estimation and gust rejection. The sensor is mounted on a three part set of 3D printed structures, which includes 90circ headers that interface with the sensor’s terminals. Surrounding the mounted sensor is a protective casing that also provides a more aerodynamic surrounding. The sensor and signal conditioning board weigh about 4.3 grams and are very small in volume. 15 Chapter 3: Wind Frame State Estimation Body frame coordinates are useful for understanding how an aircraft is moving at any given moment, since the axes are fixed to the vehicle. This frame also defines the aircraft’s orientation relative to the Earth (or inertial frame). However, aerodynamic forces and moments are often best expressed in the wind frame. Like the body frame, the wind axes have the origin at the vehicle’s center of gravity. The axes are oriented with one axis in the direction of the velocity relative to the air and the other two axes in directions similar to the body axes, but orthogonal to the air-velocity axis. Figure 3.1 is a picture from [1] that shows the body axis states, forces, and moments with the wind flow vector shown relative to the body frame. 16 Figure 3.1: Body Frame Relation to Air-Relative Velocity [1] Lift and drag can nominally be assumed to act in the negative z and negative x axes of the wind frame, respectively. A two angle Euler rotation relation can be used to translate the aerodynamic effects back to body frame forces and moment. Those angles are α and β shown in figure 3.1, which relate wind speed to body velocity in the following equations: u = V cosα cos β (3.1) v = V sin β (3.2) w = V sinα cos β (3.3) Thus, given a sensor that measures windspeed and wind frame orientation, we can directly calculate the translational motions of the aircraft. This chapter will 17 discuss the use of the hair sensors to estimate V , α, and β. 3.1 Wind Tunnel Experimental Setup All experiments in this chapter are performed using the AVL’s (very) low speed wind tunnel. This wind tunnel is fan-driven with a motor that is rated to about 3000 rpm. This rpm corresponds to a wind speed of about 3.7 m/s. Particle image velocity tests characterize the tunnel’s rpm to wind speed as an exponential relationship where V = 2.444 log(rpm)− 15.639 (3.4) from 0.58 m/s to 4.69 m/s. A wind speed of 4.69 m/s requires the motor to be over-driven to about 4000 rpm, so for safety reasons all tests were performed within the range the motor is rated (up to 3.7 m/s). After the sensor outputs are processed by the signal processing circuit boards, the voltage is read and recorded on a desktop computer. For this we used BNC-2110 terminals on a National Instruments PCI- 6224 Data Acquisition system and interfaced with this system using Labview. This setup introduced wall noise, which was dealt with by implementing another low-pass filter in Labview with a 10 Hz cut-off frequency. Voltage readings were sampled at 1000 Hz. Those 1000 samples were averaged every second and the average was recorded at the user’s discretion. 18 3.2 Initial Steps in Sensor Characterization The first step taken towards state estimation was to measure the sensor’s response over a wide range of orientations. These tests were performed at the start of this research, when the sensor design was a little different. The cantilever structure was made of silicon dioxide, shorter, extremely fragile, and consisted of 6 cantilever structures. Even with these differences, the information inferred from these tests is still valuable for setting up a state estimation scheme. Figure 3.2 shows the test setup with the old sensor. Figure 3.2: Initial Angle of Attack and Sideslip Angle Test Setup 19 For the angle of attack tests, 0◦ refers to the tips of the cantilevers pointed upstream, 90◦ is when the side of the cantilever that has the strain gauge patterns on it is facing upstream (as shown in the the top left part of figure 3.2), and -90◦ is when the strain gauge side is facing downstream. For the sideslip angle tests, 0◦ is when the the strain gauge side is facing upstream and the sensor is rotated ± 90◦ about the vertical axis. Both angle sweep tests were varied by 10◦. Wind speed tests were performed with the strain gauge side of the cantilevers facing upstream, while mounted on the sideslip angle test stand. Figures 3.3, 3.4, and 3.5 display the results from these tests for five different sensors. Figure 3.3: Initial Wind Speed Sweep Results 20 Figure 3.4: Initial Angle of Attack Sweep Results Figure 3.5: Initial Sideslip Angle Sweep Results 21 The y-axis for the wind speed and sideslip angle tests show the voltage as it reads, while the angle of attack tests show the change in output. The change in output was used to express angle of attack because the voltage reading needed to be adjusted between 90◦ ranges to prevent the output from saturating the amplifier limits. The starting (wind off) voltage is dependent on hand tuning the poten- tiometers on the conditioning board. Also, the magnitude of change for these tests is dependent on the resistance of each sensor, which varies from sensor to sensor. Therefore, the information of interest lies in the trends of the data. Note that the sign of the trend is different between sensors. This is a result of switching the po- sition of ground and power to the sensor (a requirement to send the appropriate voltages to the first stage amplifier on old conditioning board designs), effectively switching the RS and RR resistors in the Wheatstone bridge. With all of these considerations it is necessary to inspect each response individually. Each trend is plotted on a graph with its appropriate y-axis in figures A.2 – A.16. For wind speed tests, sensors 1 and 9 show fairly linear response without satu- rating while sensors 2, 3, and 4 show a decaying rate of change. The linear response is most desirable while the decaying response indicates a saturation effect. Visual inspection revealed that the cantilevers were deflecting to the point of mechanical saturation, corresponding to the voltage reading saturating. Data was not recorded with the intention to investigate statistical characteristics of these sensors, as that information will not be used in the estimation scheme. Visual inspection of voltage readings in real-time revealed the signal-to-noise ratio was large enough (>10) for the goal of performing first-time state estimation with this type of sensor. 22 Both angle sweep tests were performed at a constant wind speed of either 1.79 or 2.24 m/s, whichever speed elicited an informative response (i.e. not saturating but still responding for the majority of the sweep). Figure 3.4 shows that the outputs are most sensitive to angle of attack changes about the 0◦ orientation. Figure 3.5 shows that the orientation of greatest sensitivity is ± 90◦. These orientations are when the cantilevers are aligned with the flow, unlike the wind speed tests where the cantilevers are orthogonal to the flow. Moving forward towards performing state estimation, these orientations of greatest sensitivity will be the orientation of zero-pose. 3.3 Kapton Sensor Characterization Chronologically skipping iterations of sensor designs and tests, the Kapton sensor discussed in Chapter 2 is now the design that needs to be characterized for state estimation. At this point it should be noted that the thickness of the Kapton film used for wind tunnel tests and estimation is 12 µm. A slightly thicker film will be used in Chapter 4. These 12 µm sensors tend to curl, which is a result of the fab- rication procedure. Similar tests as the ones in the previous section were performed with Kapton sensors of four designs. Design 1 was with the paddles unconnected (see figure 2.1), design 2 was connected directly across, design 3 was connected and extended downward, and design 4 was connected and extended upward (see figure 2.3). The CAD outlines are shown in figure 3.6. 23 Figure 3.6: Kapton Sensor Design 2 (left), Design 3 (middle), and Design 4 (right) These designs were made to reduce the flutter effects that were seen in design 1. Design 4 showed the most desirable results, with effectively no flutter and the greatest sensitivity to wind speed. Shown below are wind speed sweep tests per- formed for three sensors of this design, which are mounted in a test stand similar to the sideslip angle stand shown in figure 3.2. Figure 3.7: Design 4 Forward and Reverse Wind Speed Tests 24 For this test and those from here on out the y-axis is shown as change in output. Zero flow initial conditions will be taken into consideration separately. The output’s trend vs. flow direction is reversed in future tests to give a more intuitive result. Recall that was a capability that was not yet developed for the initial tests. There is a clear bidirectional trend in the change in output. However, the initial increase in voltage at low speeds is concerning. This is credited to thermal effects, where the voltage change due to mechanical deflection becomes greater than thermal effects around 2 m/s. Thus, state estimation will be performed at wind speeds greater than 2 m/s so that directionality may be more easily distinguished. To estimate all three states of interest (α, β, V ), three hair sensors were mounted on a fuselage-shaped structure. The angle of attack and sideslip angle sensors are located on the port (left) side and top of the mount, respectively. Both are oriented with the cantilevers aligned with the flow (as discussed in the previous section) and are shown in figure 3.8. In order to disambiguate the pose estimations from variations at different wind speeds, a third sensor is necessary to estimate wind speed separately. This third sensor was mounted on the starboard (right) side and oriented with the strain gauge side of the sensor facing the incoming flow. It is shown in figure 3.8 (bottom left) that sensor curl is towards the strain gauge side of the cantilevers. 25 Figure 3.8: Fuselage Mount in Wind Tunnel Tangential flow of incompressible fluid over a sphere is Vθ = 32V∞ sin(θ) [21], so we expect the flow speed at the sensor to be higher than the freestream wind speeds by a similar amount. For reference, θ is 0◦ along the axis aligned with the front top of the fuselage. A wind speed sweep test with the fuselage at zero-pose (α = 0◦, β = 0◦) is shown below, in figure 3.9. 26 Figure 3.9: Wind Speed Sweep at α = 0◦, β = 0◦ It is clear that the wind speed at the sensor has increased since the wind speed output doesn’t decrease at low speeds before becoming positive. This is indicative that the thermal effects are less than the mechanical effects at all speeds. The wind speed sensor takes a quadratic form until about 3 m/s. This implies that the wind speed sensor output is proportional to the dynamic pressure, agreeing with the analysis in section 2.1. Saturation in the change in output starts around 3 m/s and appears to be complete around 3.7 m/s. Knowing this, it was decided to perform estimation in the 2–3 m/s wind speed range. It should be noted that angle of attack and sideslip angle sensor outputs are non-zero as the wind speed changes. This is due to the non-uniformity in the inherent curl. Non-zero output will be taken into consideration by using the output reading at zero-pose as the reference voltage, 27 instead of the zero wind speed reading as the reference. The wind speed sensor will still use the wind-off reading as its reference. Wind tunnel tests were performed with [−30 → 30]◦ angle sweeps for α and β separately (i.e. α = [−30 : 30]◦ while β = 0◦ and β = [−30 : 30]◦ while α = 0◦), at angle increments of 5◦. These α and β sweeps were performed at constant wind speeds of 2, 2.5, and 3 m/s. Figures 3.10 and 3.11 display the results for these tests Figure 3.10: Angle of Attack Sweep at β = 0◦ 28 Figure 3.11: Sideslip Angle Sweep at α = 0◦ In general, it can be inferred that the sensor responses are proportional to their corresponding states and wind speed squared (dynamic pressure). Angle of attack readings show unexpected nonlinearities past ±20◦, which is likely an attribute of the sensor curl. An equally undesirable effect is seen in the sideslip angle sensor when V=3 m/s, more precisely from [−20 → −25]◦. This is a result of a bi-modal plastic-like effect which is also attributed to the non-uniform curl. Therefore, sensor responses from [−20 → 20]◦ will be used for identification of estimation equation parameters. It should be noted that there were slight changes in the outputs of the α sensor during the β tests (and vice versa), but mostly at angles outside of ±20◦. It is reasonable to suspect that the sensors will have outputs correlated to the states corresponding to the other sensors, but those effects will be taken into consideration 29 by the system identification procedure. 3.4 System Identification and State Estimation Linear and nonlinear output models were constructed using least squares solu- tions with the data presented in figures 3.10 and 3.11. Using α, β, and V as states, the output model structures are as follows: Linear: y1 = c1α (3.5) y2 = c2β (3.6) y3 = c3V (3.7) Nonlinear: y1 = c4αV 2 (3.8) y2 = c5βV 2 (3.9) y3 = c6V 2 (3.10) The nonlinear model structure was determined using stepwise regression. Step- wise regression is a statistical technique that uses forward selection and backward elimination for modeling. This methodology is referenced from [1]. 30 Variables Meaning Dimension N number of samples scalar n number of regressors (model terms) scalar Θ model parameters n x 1 X matrix of regressors N x n z measured output N x 1 y true output N x 1 ν measurement noise (or residual) N x 1 p current number of terms in the model scalar Fp partial F ratio scalar s2 fit error variance scalar SSR regression sum of squares scalar The goal is to find the best Θ that minimizes ν in z = y + ν = XΘ + ν. Using the cost function J(Θ) = 12(z −XΘ) T (z −XΘ), it is known that the Θ that minimizes J (called Θˆ) is the least squares solution: Θˆ = (XTX)−1XT z (3.11) The purpose of stepwise regression is to determine what regressors that X should incorporate. A step-by-step procedure is given below: 1. Starting with a pool of candidate regressors, partial correlations are calculated for each candidate with the measured output z 31 2. Add the regressor with the highest partial correlation to the model Partial correlation: rjz = Sjz √ SjjSzz (3.12) where, X = [ζ1 ζ2 · · · ζn], Sjz = N∑ i=1 [ζj(i)− ζj][z(i)− z], Sjj = N∑ i=1 [ζj(i)− ζj] 2, Szz = N∑ i=1 [z(i)− z]2 3. Fp is calculated for all regressors in the model. All regressors with Fp below the cut-off value (Fpcut−off =20 for 95% confidence) are removed from the model. Fp = SSR(Θˆp+1)− SSR(Θˆp) s2 (3.13) 4. Use least squares modeling to orthogonalize the remaining candidates with re- gressors in the model (model the candidates with the regressors in the model). This removes variation (correlated to the output) in the remaining candidates that is already included in terms already in the model. Treat the residuals as the new pool of candidate regressors. 5. Repeat steps 1–4 until no more regressors can be added without subsequently being removed from the model. The regressors considered were α, β, V , αV , βV , V 2, αV 2, and βV 2. Note that the linear models were also calculated in a similar fashion, except the only regressors considered for each output were α, β, and V . The coefficients resulting from the solution 3.11 are shown in table 3.1. 32 Table 3.1: Linear and Nonlinear Estimation Parameters Parameter Value % Error c1 0.009 8.34 c2 0.0097 10.31 c3 0.3317 1.84 c4 0.0014 4.80 c5 0.0015 6.06 c6 0.0672 2.77 To perform static estimation, a simple inversion was performed. The estima- tion equations then become: Linear: α = y1 c1 = c′1y1 (3.14) β = y2 c2 = c′2y2 (3.15) V = y3 c3 = c′3y3 (3.16) where c′1 = 1 c1 = 111.1, c′2 = 1 c2 = 103.1, c′3 = 1 c3 = 3.01 Nonlinear: α = y1c6 c4y3 = y1c′4 c′6y3 (3.17) β = y2c6 c5y3 = y2c′5 c′6y3 (3.18) V = √ y3 c6 = √ c′6y3 (3.19) 33 where c′4 = 1 c4 = 714.3, c′5 = 1 c5 = 666.7, c′6 = 1 c6 = 14.88 Since the data used to identify these parameters was for tests where only one state was changed at a time, it is a reasonable prediction that these parameters only work well for uncoupled pose estimation. During validation tests both α and β were varied at the same time. A sweep of tests from [α β] = [-20 -20]◦ → [20 20]◦ (i.e. a diagonal sweep from down-and-left to up-and-right) at 5◦ increments was performed to test the performance of the estimation equations. Figures 3.12 and 3.13 show the average error during the first 2–3 seconds of the tests after the wind tunnel is allowed to reach the desired speed. It takes approximately 5 seconds for the wind tunnel to settle to the intended speed. Only the first few seconds are used in the error averaging because the signal can sometimes drift. Figure 3.12: Linear Estimation Validation Test Errors 34 Figure 3.13: Nonlinear Estimation Validation Test Errors The raw data for these tests is shown in figures A.17 – A.34. Note that the beginning of the tests show non-zero readings which depend on the references when the wind tunnel is running. While these results show that there is at least some capability to estimate pose in a wind tunnel, a manual adjustment of the estimation coefficients was performed to reduce the overall error results of the static estimation. These new errors were found by using the raw sensor data and recalculating the estimations with different coefficients. The resulting coefficients are shown in table 3.2 and the shifted errors are shown in figures 3.14 – 3.19. 35 Table 3.2: Updated Estimation Parameters Parameter Old Value New Value c′1 111.1 93 c′2 103.1 81 c′3 3.01 5.5 c′4 714.3 901 c′5 666.7 633 c′6 14.88 21.5 Figure 3.14: Linear Estimation with Updated c′1 36 Figure 3.15: Linear Estimation with Updated c′2 Figure 3.16: Linear Estimation with Updated c′3 37 Figure 3.17: Linear Estimation with Updated c′4 Figure 3.18: Linear Estimation with Updated c′5 38 Figure 3.19: Linear Estimation with Updated c′6 Similar improvements resulted from the gain changes for both linear and non- linear estimation coefficients. Improving the V estimation error was intuitive, in that the gains could simply be increased to reduce errors. α estimation errors weren’t found to have room for improvement. There was arguable room for improvement for β estimation, in that it was possible to improve negative angle estimation with the cost or worsening positive angle estimation. The improved negative angle esti- mation outweighed the worsened positive angle estimation and was the motivation for the new gain. Using intuition, it is hypothesized that the negative angles are more easily estimated because of the location of the sensors on the fuselage struc- ture. Looking back at the images in figure 3.8 we see that at negative angles of attack the sideslip angle sensor is most ’exposed’ to the incoming flow. At positive 39 angles of attack there is likely some amount of flow separation effects that reduce the sensor’s effectiveness. An analogous hypothesis can be said about the angle of attack sensor’s effectiveness being dependent on its location and the sideslip angle. As an additional measure to validate the estimative capabilities of these sensors, a final test was performed at α = −15◦, β = 15◦, and V = 2.5 m/s with these updated coefficients. Note that this orientation was chosen to support the hypothesis and simply to try an untested orientation. Figure 3.20: Static Linear and Nonlinear Estimation at α = −15◦, β = 15◦, and V = 2.5 m/s As before, the results shown in figure 3.20 are collected after the wind tunnel is ramped to the desired wind speed. The root mean square error of the linear estimator is 2.59◦ for α, 2.35◦ for β, and 0.68 m/s for V . The root mean square error of the nonlinear estimator is 1.99◦ for α, 1.11◦ for β, and 0.16 m/s for V . Both estimators show acceptable levels of performance. Thus, the use of static estimators with these bio-inspired hair sensors is sufficient for state estimation of 40 this fuselage-like structure in the flow speed regime seen in the AVL’s wind tunnel. 3.5 Summary The goal of this chapter was to show that wind frame state estimation can be performed with bio-inspired hair sensors. Early testing revealed that the sensor out- puts were most sensitive to angle variation about orientations where the cantilever arrays were aligned with the flow. A sensor design where the cantilever paddles were connected and extended upward performed the best in terms of low aerody- namic flutter and greatest amount of mechanical sensitivity to wind flow. Three sensors were mounted on a fuselage-like structure. Estimation was limited to wind speeds of 2 – 3 m/s for the most amount of bidirectionality in the sensor response, and orientations from -20◦ – 20◦ to avoid nonlinearities. Using stepwise regression and method of least squares, static linear and nonlinear estimation equations were developed. The estimation coefficients were adjusted to minimize errors seen in validation tests. One final validation test was performed using these modified pa- rameters. This test served as the final piece of validation that these sensors can be used for wind frame estimation. It was also hypothesized and shown that the effectiveness of the sensors’ estimation capabilities is dependent on their position on the fuselage structure and orientation of the structure. 41 Chapter 4: Gust Rejection Performing state estimation on a quadrotor vehicle was originally the next goal for these sensors. Two sensors were mounted on a quadrotor with the intention to perform system identification again. Ideally, the sensor readings would be correlated to translational and rotational velocity (depending on their location relative to the center of gravity). The translational velocities seen in the AVL’s flight test area do not exceed 2 m/s and there was little correlation found between the vehicle velocities and the sensor readings. Multiple sensor designs were used for these tests (like those seen in figure 3.6). Once design 4 (same design used in wind tunnel estimation) was implemented it was found that the sensors were becoming correlated with body accelerations. The explanation for this is that as the length and paddle size of the cantilevers increased, the inertia about the root of the cantilevers was large enough to cause deflection due to acceleration. Instead of attempting to design hair sensors that could act as accelerometers the goal was shifted towards gust rejection. Past experimentation revealed that lateral gust speeds of at least 10 m/s were necessary to significantly perturb a quadrotor vehicle. Since the 12 µm sensors will be saturated well before that speed (only shown in figure 3.9, but known from undocumented tests), we must use a stiffer (thicker) Kapton sensor. 23 µm thick Kapton sensors 42 were found to be suitable for this purpose. This chapter will discuss the use of a single 23 µm thick hair sensor used to improve the performance of a quadrotor vehicle in the presence of wind gusts. 4.1 Instrumentation and Flight Test Information Figure 4.1: AVL Flight Test Arena All tests were performed in the AVL’s flight test area (shown above in figure 4.1), which is 5.5 m2 in floor space. A DJI FlameWheel 330 quadrotor vehicle, inte- grated with an ArduPilot Mega avionics package, was used for this experimentation and is shown in figure 4.2. 43 Figure 4.2: DJI FlameWheel 330 with ArduPilot Mega A Vicon Tracker system was used to record true rigid body motion and feed- back height measurements to allow the quadrotor to hold a reference altitude. All tests were performed with altitude hold engaged, thus incorporating this feedback into the vehicle dynamics. A picture of the Vicon Tracker software interface is shown in figure 4.3. 44 Figure 4.3: Vicon Tracker Software Sensor data was wirelessly transmitted using XBee wireless communication modules and recorded using LabView at a rate of about 50 Hz. One of the devices is shown below. 45 Figure 4.4: XBee-PRO Wireless Communication Module Wind gusts were generated with a TORO Ultra Blower Vac (leaf blower). The vehicle was given a constant forward velocity, where it would pass a constant wind gust directed at the vehicle’s left side. The average distance of the quadrotor from the tip of the gust source’s nozzle was about 0.5 m, where the gust speed was measured to be about 9.6 m/s. Gust speed at varying distances from the source were measured with a hand-held La Crosse anemometer (model number: EA-3010U) and used for gust speed estimation. When the motors are throttled, there is a decrease in the 5 volts that the ArduPilot is capable of supplying. Since the hair sensor (and first potential divider on signal conditioning board) needs its own power supply, a separate 7.4 volt (2-cell LiPo) battery and 5 volt regulator (PTR08060) are used. They are shown below in 46 figure 4.5. Figure 4.5: Additional Battery and Voltage Regulator Fixed 5.5 kOhm resistors are used to step the voltage down from the regulator to the hair sensor and first stage potential divider, to about 0.2 volts (it varies for each sensor since each sensor’s total resistance can be different). As another reference, figure 4.6 displays an up-close picture of the signal conditioning board’s top side. Figure 4.6: Signal Conditioning Board The last addition to the quadrotor vehicle is an (anti-)aerodynamic surface meant to reduce the gust speed at which the vehicle would be significantly per- 47 turbed. This is necessary to guarantee that the sensor won’t mechanically saturate, which would prevent it from estimating gust speed. For this, a rectangular piece of cardboard provided a light-weight and stiff structure that could be easily modified. Figure 4.7 shows the 10.2 x 22.6 cm2 cardboard surface that was mounted in the x-z (forward-down) plane of the vehicle. Figure 4.7: Anti-aerodynamic Cardboard Surface 3D printed parts were designed to hold all of these necessary components for on-board gust speed estimation and rejection. The vehicle with all of these components is shown in figure 4.8. 48 Figure 4.8: Quadrotor Vehicle As Used In Gust Rejection Experimentation 4.2 Gust Speed Estimation Static estimation of the gust speed was performed, then be fed back for gust rejection. The 0 – 3.3v signal from the output of the conditioning board cannot be directly used for static estimation, as a reference voltage would be needed (like in chapter 3). Instead of manually setting a reference, the non-zero offset of the signal was removed with a band-pass filter. This was be performed by the ArduPilot which can convert the analog signal to digital through one of the available servo pins. The high-pass part of this filter removes the offset and drift effects. The low-pass part of this filter reduces the high frequency content that wasn’t filtered out by the low-pass filter on the conditioning board. This high frequency content was largely due to the 49 turbulent nature of the gusts generated from the leaf blower. A bode magnitude plot of the band-pass filter is shown in figure 4.9. Figure 4.9: Band-pass Filter Bode Diagram This is a 2nd order Butterworth filter with the frequency range of 0.87 – 8.47 rad/s being passed (> -3dB). An overshooting effect is seen in the output from the band-pass filter. To compensate for this, half-wave rectification was used. This rectification is applicable in this situation because the experiments use only unidi- rectional wind gusts. With the sensor connections configured so that the left side wind gusts will cause the signal to increase, a threshold level of 0.1v was used. In other words, any output from the band-pass filter less than 0.1 is set to 0. A 50 comparison of the raw analog signal to the filtered signal is shown in figure 4.10. Figure 4.10: Raw Analog Signal vs. Filtered and Rectified Signal The final step in this process is static estimation, which is effectively a scaling factor to convert from units of voltage to m/s because the estimation equation structure was assumed linear: V = cy. Nonlinear estimation would have been considered if this method didn’t show good enough performance in conjunction with the control law. c=38.6 (19% error) was determined using the least squares solution with two tests batched together. In these tests the sensor was exposed to the flow at distances where the gust speed was measured by the hand-held anemometer. Table 4.1 displays these measured gust speeds. Gust speeds were only taken in a straight line from the nozzle because the gust stream maintained a small width. The value of c served only as a starting point 51 Table 4.1: Gust Speeds at Distances from the Nozzle of the Leaf Blower Distance (m) Gust Speed (m/s) 0.5 9.61 0.75 7.60 1.0 5.81 1.25 4.92 1.5 3.58 since the gain of the controller will be hand-tuned to bring the controller magnitude within a reasonable (conservative) range. A block diagram of this estimation process is shown in figure 4.11. Figure 4.11: Gust Estimation Block Diagram This estimation process does not approximate with good accuracy given the limited window of operation of this sensor and unsophisticated estimation scheme. It does, however, offer a ’conservative’ estimate that will not drift from 0 unless a significant gust is affecting the vehicle. Figure 4.12 shows the estimation of the gust speeds listed in table 4.1. 52 Figure 4.12: Gust Speed Estimation The data used for the estimate above is part of the data used in the estimation parameter calculation. The root mean square error of this test is 2.34 m/s, which is too small to accurately describe the error of the estimation scheme since the zero gust speeds are all perfectly correct. Note that only the gust at about 9 m/s is well noticed by the sensor. This is acceptable since that is the gust speed that the vehicle will be subjected to, on average. 4.3 Robust Controller Design At first thought, a static feedforward control law might seem like the best way to perform gust rejection. In the most ideal situation, feedforward control can 53 entirely eliminate the effect of the measured disturbance on the process output [22]. In the future, that might be correct but an alternative control method was designed for this research. One sensor was able to estimate the gusts over only a small portion of the vehicle, while the entire vehicle passed the gust disturbance in the experiments. In an attempt to compensate for this unmeasured disturbance affecting the vehicle, a robustly stable µ-controller was designed using gust speed feedback. Robust stability means that the controller provides (or maintains) system stability for a range of plant uncertainty. The methodology behind the controller synthesis and performance analysis was referenced from [23]. The block diagram used for this design is shown below in figure 4.13. Figure 4.13: System Model Used for Disturbance Rejection Controller This system is modeled with additive uncertainty, input disturbance, and per- formance measured at the output. The uncertainty models that were considered were output uncertainty and additive uncertainty. For this system, the uncertainty model has no clear relation to the physics of the system. Whether the disturbance was considered to affect the output or input was also arbitrary, depending on how one interprets the effect of gust disturbances on the vehicle. The four possible com- 54 binations of uncertainty model and disturbance location were considered. Additive uncertainty and input disturbance were chosen to allow the highest bandwidth in the performance weighting (will be discussed in more detail later). Performance was chosen to be measured at the output because the goal of disturbance rejection is to reduce the effects of the disturbance on the states. The state labels and block names are listed in table 4.2. Table 4.2: Block Diagram Labels Name General Meaning Physical Value v Signal available to controller Negative of the gust estimate u Control inputs Lateral control input u∆ Input to the uncertainty block Weighted control input y∆ Output from uncertainty block Uncertainty added to output y Output from the plant Lateral states w Exogenous input Lateral gust z Regulated output Weighted states K Controller Gust rejection controller G Plant Lateral Dynamics WU Uncertainty weighting function ∆ Uncertainty block WP Performance weighting function Before moving on with the controller synthesis; G, WU, and WP need to be defined. The plant incorporates lateral dynamics for the states v (lateral velocity), 55 p (roll rate), φ (roll angle), and vg (gust velocity). The linear time-invariant (LTI) state-space equations of motion are written as     x˙ x˙d     =     A GdCd 0 Ad         x xd    + Bu + Bdd y = [ 0 1 ]     x xd     (4.1) where x =         v p φ         , y = xd =vg, u =uR Augmenting the original state space (A,B) model with the gust dynamics is necessary for state feedback. First-order Gauss-Markov processes have been used to model wind dynamics for the purpose of disturbance rejection in [24]. The shaping filter for the gust is then represented as x˙d = −1 τ xd + ρd (4.2) where τ=3.2 sec is the correlation time of the wind, ρ=1 is a weighting fac- tor, and d (as seen in 4.1) is a white noise process that drives the gust dynamics. Thus (Ad,Bd,Cd,Dd) = (-0.3125,1,1,0). The vehicle’s lateral dynamics (A,B) was be populated with first-order stability derivatives, which were calculated using sys- tem identification. The disturbance’s effect on these dynamics was defined by Gd. This matrix (3x1 here) was set equal to -A(:,1) (negative of the first column of A), 56 which can be interpreted as a gust moving in the positive y-axis (body frame) and is equivalent to the vehicle moving in the negative y-direction [25]. The rest of the state space model is written as A =         Yv Yp g Lv Lp Lφ Pv 1 Pφ         ,B =             YR LR PR 0             Bd =             0 0 0 1             Gd =         −Yv −Lv −Pv         (4.3) g is the gravitational constant. The bare frame (non-stabilized) dynamics of a quadrotor typically have Lφ, Pv, Pφ, YR, and PR equal to 0. With the ArduPilot avionics providing stability augmentation, it was found (using stepwise regression, again) that some of these terms hold significant weight in the open loop dynamics. Closed loop will refer to the gust feedback control loop (outer loop), where open loop will refer to the dynamics that include inner loop feedback (provided by ArduPilot). Open loop flight data was used to assign values to the stability derivatives. They are listed in table 4.3. 57 Table 4.3: Stability Derivatives Name Value % Error Yv -0.3380 6.85 Yp -0.2812 7.75 YR -0.0644 160 Lv 1.3324 19.2 Lp -0.5652 82.5 Lφ -32.0842 6.04 LR 11.3946 15.4 Pv 0.0175 56.5 Pφ -1.0410 7.37 PR 0.4348 17.2 These values result in the system being unstable. More specifically, there is one pole that is slightly in the right-half plane. This results in the system being un- dectectable, which is necessary for the controller synthesis. We know that dynamics are actually stable because of the avionics. To avoid spending excessive time to get slightly different parameters that result in system stability (and thus detectability) a few parameters were adjusted within their respective error bounds until the unsta- ble pole moved to the left-half plane. These adjusted parameters are: Lv=1.0824, Lp=-0.9652, and Lφ=-33.584. Now the system can be written as 58    x˙ x˙d     =             −0.3380 −0.2812 9.81 0.3380 1.0824 −0.9652 −33.584 −1.0824 0.0175 1 −1.041 −0.0175 0 0 0 −0.3125                 x xd    +             −0.0644 11.3946 0.4348 0             u +             0 0 0 1             d y = [ 0 0 0 1 ]     x xd     (4.4) which from now on will be referred to as x˙ = Ax + Bu+ Bdd, y = Cx At this point it may be noticed that the plant G(s) = C(sI − A)−1B = 0, since the only observed state is not dependent on vehicle’s states and is not affected by control inputs. Thus, an observer must be constructed so full state feedback can be assumed for the controller synthesis. A Luengberger observer was used for this purpose. The state estimate dynamics are ˙ˆx = Axˆ + Bu+ Bdd+ L(y − yˆ) yˆ = Cxˆ (4.5) L will simply be a static gain matrix which defines the observer dynamics. Nor- mally, L is designed such that the observer dynamics are ten times faster (i.e. eigen- values are 10x further in the left-half-plane) than the full-state-feedback closed-loop dynamics. This is not possible with this system because of the lack of observability. 59 In fact, only the observer dynamics associated with the gust state can be modified by L. So L will simply be a (4x1) matrix of ones. A qualitative interpretation of this observer is that it acts as an estimator of the states as they would change due only to effects from the disturbance. Now the controller will be synthesized assuming full state feedback. WU and WP are the last quantities to define before proceeding with the controller synthesis. These weighting functions act as tuning knobs for the controller. They can be set to enforce high performance in the controller with the trade-off of losing guaranteed nominal performance and robust stability. WU can be thought of as a weight which normalizes the uncertainty perturbation from the nominal plant (Gn) to be less than 1, where the identified plant is G = Gn + WU∆ (for additive uncertainty). The system can be expressed in M∆ form, shown in figure 4.14, where M is found by inspection of figure 4.13 while ignoring the disturbance input. Figure 4.14: M∆-Structure Block Diagram 60 M = WUK(I + GK)−1 = WUKS (4.6) S is the (output) sensitivity transfer function and I is the identity matrix The bound for uncertainty perturbation of 1 comes from the small gain theo- rem, which says that if ||M||∞ <1 the system is robustly stable. This assumes ∆ is full complex in structure (unstructured) and ||∆||∞ <1. The uncertainty weighting that was used in the final controller design was WU = 0.3 s 2 + 1 s 32 + 1 (4.7) This weight enforces 30% uncertainty at low frequencies, starts to increase at 2 rad/s, and allowing 478% uncertainty at high frequencies. It was found that robust stability was guaranteed for this system, while performance was difficult to achieve. WP is a weight designed to enforce the nominal performance objective, which is to suppress effects on the output from an input disturbance. 4.8 is derived by inspection of 4.13 (ignoring the uncertainty) and reveals that the SG is the quantity that reflects how the controlled system performs. z = WPy, y = G(w − u) = G(w −Ky)→ y = (I + GK)−1Gw = SGw → z = WPSGw (4.8) ||WPSG||∞ < 1 Attenuation of the input disturbance is improved when SG is low in magni- tude. Therefore a high magnitude is desired in WP. This was sought for frequencies 61 up to (<) 10 rad/s, but not for frequencies higher than that since the open loop system response drops off for frequencies that high. The final weight was designed with a bandwidth frequency of 5 rad/s because of implementation issues. As the bandwidth was allowed to increase, the controller dynamics pushed the limits of sta- bility, which resulted in unstable control signals during real-time implementation. The performance weighting function that was used in the final controller design is WP = s 5 + 5 s+ (5)(0.3) I (4.9) I is the 4x4 identity matrix, which is necessary to weigh all states respectively. Figure 4.15 shows the bode magnitude plots of these two weighting functions. Figure 4.15: Uncertainty and Performance Weighting Functions Now, proceeding with controller synthesis, a general control configuration must 62 be constructed. The block diagram for this is shown in figure 4.16, where P is determined by inspection of 4.13. Figure 4.16: General Control Configuration Block Diagram         u∆ z v         = P         y∆ w u         =         0 WU WU WP WPG WPG −I −G −G                 y∆ w u         (4.10) For robust stability, it was assumed that the perturbation ∆ was unstructured. This is the most conservative test for robust stability. ∆ could have been structured using our knowledge of the plant uncertainty, but the results revealed that was not necessary. Robust performance is a test similar to robust stability, except another performance ∆ (∆P) is joined with the uncertainty ∆ (in block-diagonal fashion). 63 This results in a new perturbation quantity that always has structure. Thus, a structured singular value (µ) must be calculated to determine robust performance. A structured singular value is a generalization of the singular value and the spectral radius [23], defined as: µ(M) , 1 min {km| det(I − kmM∆) = 0 for structured ∆, σ¯(∆) ≤ 1} (4.11) where σ¯ is the singular value and km is scalar. Note that µ(M) = σˆ(M) when ∆ is unstructured. It is desired that µ be less than 1, as a value of 1 indicates there is a pertur- bation just large enough to make I −M∆ singular. Regarding robust performance, the quantity for which µ is calculated is a linear fractional transformation (LFT) of P to N. Figure 4.17: General Block Diagram Using Lower LFT Form N =     −WUKS −WUSI WPS WPSG     (4.12) 64 which can be re-interpreted as the block diagram transformation shown in figure 4.18. Also, SI is the input sensitivity function. Figure 4.18: Block Diagram Formulation of Robust Performance as a Structured Robust Stability Test Finding the controller, K, that minimizes µ(N) requires an iterative process known as DK-iteration. This methodology is referenced from [23]. Note that MAT- LAB’s robust controller toolbox offers a function to compute this controller. This process finds the controller that minimizes the peak value over all frequencies of the upper bound min D∈D σ¯(DND−1), where D is the set of matrices that commute with ∆. i.e. min K (min D∈D ||DND−1||∞) (4.13) The iterations are initialized with an appropriately structured D(s), that is stable, then proceeds with the following steps: • K-step: synthesize an H∞ controller for the upper bound, while holding D(S) fixed. Note that the H∞ synthesis formula is also discussed in [23]. 65 • D-step: Find D that minimizes the upper bound at all frequencies, while holding N fixed. • Fit the magnitude of D(jω) at each element to a stable minimum-phase trans- fer function D(s) and repeat the previous steps until the H∞ norm no longer decreases by the designed improvement tolerance level. Combining this controller and simple observer in the equation 4.14 yields the controller that is implemented on the vehicle. Kfinal = K(sI− (A−BK− LC))−1L = −2.311s7 + 253.4s6 + 243.4s5 + 3846s4 + 8029s3 + 25180s2 + 15130s+ 2984 [s9 + 30.34s8 + 456.1s7 + 4357s6 + 27560s5 +113500s4 + 293700s3 + 436900s2 + 278600s+ 27960] (4.14) 4.4 Theoretical Analysis The first test to check is to make sure the controller maintains stability for a range of perturbations weighted by WU. Recall that this is guaranteed if ||M||∞ <1. The infinity norm of a matrix is the equivalent of the supremum of the maximum singular value. Noting that the upper left component of N (in 4.12) is M, it is also equivalent to compute the structured singular value (µ) of that portion of N with an unstructured perturbation. µ of the upper left portion of N is shown in figure 4.19 and reveals that the system is robustly stable. The computation of µ is too 66 computationally intense to get an exact value, but upper and lower bounds can be computed. If these bounds are sufficiently tight (as seen in figures 4.19, 4.20, and 4.21), then we can be confident that the computed values are correct. [23] provides greater detail on this subject. Figure 4.19: Singular Value Plot of M Also note that the bottom right portion of N is the weighted relationship between input disturbance and output. If the maximum µ(WPSG) <1, with a fully complex block structure, then nominal performance is achieved. Figure 4.20 reveals that this level of performance was not achieved by the synthesized controller. 67 Figure 4.20: Singular Value Plot of WPSG Figure 4.21: Structured Singular Value Plot of N 68 Figure 4.21 is shown for completeness, but it is known that robust perfor- mance will not be satisfied since nominal performance isn’t satisfied. The trends in figures 4.20 and 4.21 are nearly identical, meaning (not so surprisingly) nominal performance criteria was the primary cause of the controller not achieving robust performance. Even though the test for nominal performance was unsatisfied, we can still analyze the effects of the controller on the system to see how much improvement it offers. The performance weight was designed to reduce SG, which relates the input disturbance to the output. Without feedback, G relates the input disturbance to the output. These are compared in figure 4.22. Note that the K used to compute S is the controller without the observer dynamics. This is necessary to make GK square, and thus (I + GK) invertible. 69 Figure 4.22: Effect of Input Disturbance on Output There is clear improvement at frequencies up to 6.9 rad/s, where SG is slightly larger than G, until about 25.1 rad/s, where the singular values fall off together (as expected by performance weight design). As the performance bandwidth was increased, the peak of SG moved towards higher frequencies without decreasing in magnitude. This played an additional factor in the final choice of performance weight, as it was another reason not to push the performance requirements of the bandwidth. In order to analyze the system performance with regard to the controller that includes the observer dynamics, we are limited to looking at open loop performance. This is because the implemented controller is SISO and the only way we can analyze G is by considering full state output, which makes GK non-square and (I+GK) 70 non-invertible. In other words, only the gust state is used in feedback but we must consider C to be identity again, so G isn’t a static gain of 0. Furthermore, the system has been augmented with a gust state and is designed as a regulator. So while the controller can’t regulate the gust itself, it can regulate the states as they are affected by the gust. For good tracking performance G can be compared to GK, where K now contains the observer dynamics (as shown in eq. 4.14). Figure 4.23: Open Loop Transfer Function Comparison Significantly large magnitude of the open loop transfer function indicates good tracking (and disturbance rejection). Figure 4.23 shows that the reference tracking qualities were already very good for the uncontrolled G and that GK starts with decent low frequency performance, but falls off fairly quickly. To compensate for this, K can be multiplied by a static gain. A gain of 10 is chosen to show that the 71 open loop tracking and disturbance rejection performance can be brought back to the low frequency performance quality of the uncontrolled plant. Increasing the gain of K also reduces SG by a significant amount, as figure 4.22 shows. It isn’t clear how much the gain of K can be increased without reaching saturation issues. During implementation it was seen that the magnitude of the generated control input did not map to the magnitude range that the control input accepts. In addition, the input generated was limited to 67% of the maximum possible lateral input. This was to leave room for manual inputs to have the capability to over power the inputs generated by the hair sensor, in the event of unstable behavior. So the controller gain will be increased until expected deflection of the sensor cantilevers results in the maximum allowed control input. 4.5 Experimental Analysis Experimental implementation results will be used to validate the applicability of these sensors for gust rejection. The experimental procedure was to have the quadrotor vehicle hover at a position with its heading pointed along a path perpen- dicular to the gust stream. The vehicle was given a forward motion impulse input (from a human pilot), then left to move in a straight line until being perturbed by the gust. The vehicle was pushed laterally, giving it a non-zero lateral velocity. The closed loop results reveal the vehicle responded to the gusts and reduced the lateral velocity. Two quantities are used to quantify the gust rejection performance; lateral velocity, v, and cartesian displacement from the projected (undisturbed) path. Ten 72 trajectory segments were used in the performance comparison (each), which were chosen such that the open loop and closed loop tests were as close to each other as possible until the vehicle displayed signs that they were affected by the gust. This was the choice in trajectories because it guaranteed approximately equal distances from the gust source, and thus equal levels of applied disturbance. The cartesian trajectory comparison is shown in figure 4.24, and the lateral velocity is shown in figure 4.25. The individual trajectories are shown in figures 4.26 and 4.27. Figure 4.24: Trajectory Comparison 73 Figure 4.25: Lateral Velocity Comparison 74 Figure 4.26: Open Loop Trajectories 75 Figure 4.27: Closed Loop Trajectories Figure 4.24 reveals there was a 17.1% reduction in mean cartesian displacement from the projected undisturbed trajectory, when the hair sensor feedback was active. Note that this value would increase if there was more room for the vehicle to move after being affected by the gust. The length of the trajectories is determined by when human pilot commands took control to prevent flying into the wall. Figure 4.25 reveals a 19.7% reduction in the root-mean-square value of the lateral velocity. These numbers are not as impressive as one might expect for a device that can directly sense wind velocity, but are still indicative of the applicability of these sensors. Thus, the goal of first-time implementation of these sensors for gust rejection is achieved. 76 4.6 Summary A single hair sensor was deployed on a quadrotor vehicle, which (including the signal conditioning board) was powered by a 2-cell LiPo battery with a 5v voltage regulator. Rigid body motion during flight tests was recorded using a Vicon Tracker system. Voltage readings from the output of the signal conditioning board were transmitted using an XBee wireless communication module. Vicon data was recorded at the same frequency as the sensor data using Labview. The vehicle used was a DJI FlameWheel 330, controlled by an ArduPilot Mega. An anti-aerodynamic surface was mounted on the vehicle to increase sensitivity of the vehicle to lateral gusts, so the hair sensor would not saturate when exposed to gusts that would affect the vehicle. Gust speed estimation was performed by passing the analog signal (from the conditioning board) into the ArduPilot, using a band-pass filter and half-wave rec- tifier, and multiplying by a static linear estimation gain. Band-pass removes the non-zero offset of the signal, removes drift effects, and reduces high frequency con- tent within the gust. Half-wave rectification removes overshoot effects resulting from the band-pass filter. The static gain is the estimation coefficient determined by a least-squares solution of the sensor readings compared to actual gust speeds. This estimation scheme isn’t expected to perform exceptionally well, but was found to perform well enough during experimentation. A robust µ-controller was chosen to be implemented to generate gust rejecting control inputs. Additive plant uncertainty was used, with the disturbance affecting 77 the input, and performance weighted at the output. The plant contains lateral dynamics, augmented with lateral gust dynamics. The gust dynamics were defined as a first-order Gauss-Markov process with a correlation time of 3.2 seconds. The stable vehicle dynamics were determined using time-domain system identification. A static Luenberger observer was constructed to provide state estimates to a controller designed for full state feedback. The lack of observability meant the dynamics of the observer could only be as fast as the vehicle dynamics. To reduce the effect of the input disturbance on the output, the performance weight was designed to reduce SG at frequencies up to where the open loop plant falls off. A controller was synthesized attempting to achieve robust performance, by means of DK iteration. The controller was found to be robustly stable, but unable to achieve the level of nominal performance set by the weighting function. That being said, frequency domain analysis showed that there would still be reduction of the effect of input disturbances on the output. The controller was implemented in hardware to attempt gust rejection. 10 tests were performed with the vehicle flying past the gust disturbance with and without gust speed feedback (20 tests total). The distance the vehicle was perturbed from the nominal (undisturbed) path was reduced by 17.1%, when comparing the mean trajectories. The root mean square of the lateral velocity was reduced by 19.7%. 78 Chapter 5: Conclusion 5.1 Summary The work in this thesis demonstrates that unique bio-inspired hair sensors, developed at the University of Maryland, can be used for state estimation in a wind tunnel and for gust rejection on a micro-air vehicle. Chapter 2 discusses the sensor’s design, signal conditioning board, and sensor support/casing. The sensor has two parts to its structure: Kapton polymer film acting as a cantilever structure that deforms with wind flow, and gold strain gauge patterns which vary in resistance when the Kapton cantilevers deform. The signal provided from the sensor varies by an amount so small that it requires two-stage amplification. A signal conditioning board was constructed to provide amplification and filtering to reduce the amplified noise. Chapter 3 discusses sensor response characterization, motivation for sensor orientation and paddle configuration, and wind frame state estimation. The characterization revealed that the sensors were most sensitive to wind speed when the the largest amount of surface area was exposed to the flow and to angle variation when the least amount of surface area was exposed (i.e. cantilever array aligned with flow). Stepwise regression was used to determine linear and nonlinear estimation equation model structure. Least squares solutions provided the 79 estimation equation coefficients. Initial validation test errors were used to adjust the estimation coefficients to allow better estimation at coupled (non-zero angle of attack and sideslip angle) orientations. One final validation test at an untested orientation provided the final piece of support to claim sensors are capable of windframe state estimation. Errors for both estimation schemes are: 17.3% for linear α estimation, 15.7% for linear β estimation, 27.2% for linear wind speed estimation, 13.3% for nonlinear α estimation, 7.4% for nonlinear β estimation, and 6.4% for nonlinear wind speed estimation. Chapter 4 discusses instrumentation used for on-vehicle implementation of the sensors, gust speed estimation, and gust disturbance rejection via feedback control. The output from the signal processing board was passed through a digital band-pass filter and half-wave rectifier before being used for static- linear estimation of the gust speed. A robustly stable µ controller was designed to reduce the effect of an input disturbance on the output. Poor observability of the system required the construction of an observer, which served as an estimator of the states as they were affected by the gust. Implementation of the controller resulted in 17.1% reduction in mean cartesian displacement from the projected (undisturbed) path, and a 19.7% reduction in lateral velocity. While the gust rejection performance is modest, the results serve as evidence of the ability to implement these unique sensors for gust rejection. 80 5.2 Contribution The contribution of this research is the implementation of unique bio-inspired hair sensors for estimation of wind frame states in a wind tunnel and for gust rejection on a micro-air vehicle. More specifically, the contributions are: • Characterization of unique, bio-inspired hair sensors for the purpose of wind frame estimation on a (MAV) fuselage-like structure. Previous work with similar sensing technology has only been to estimate wind speed and doesn’t take implementation on a micro-air vehicle into consideration. • Development and validation of linear and nonlinear static estimation schemes compatible with the bio-inspired hair sensors, for estimation of wind speed, angle of attack, and sideslip angle in a wind tunnel. This is an expansion on the previous contribution in that all previous work hasn’t implemented similar sensing technologies for wind frame estimation. Utilizing this type of sensing technology for wind frame estimation provides a starting point for the development of a new light-weight, low-computation sensory system ideal for small unmanned aerial vehicles. • Robust formulation of a gust rejection controller, which uses gust speed feed- back from bio-inspired hair sensors. When estimating a disturbance directly, rejecting (input) disturbances is typically performed using feedforward control. This strategy isn’t conducive to the formulation of robustly stable control, so a different approach was considered where the effect of the gust was reduced 81 using gust state feedback. • Implementation of the robust controller on a small quadrotor vehicle with a bio-inspired hair sensor to demonstrate the gust rejection capability. These types of sensors haven’t previously been deployed on a free-flying vehicle. This contribution provides validation of the robust feedback control and the appli- cability of the unique, bio-inspired sensors for use on a micro-air vehicle. Development of the sensors is credited to Badri Ranganathan and Ivan Penskiy, whom I assisted by providing feedback of my implementation efforts. 5.3 Future Work Since this is the first attempt at wind tunnel state estimation and gust rejection using bio-inspired hair sensors, there are many areas open to improvement. Some of these areas could include the following: • Continued refinement and creation of new sensor designs to expand range of operation and improve performance • More rigorous analysis of how the cantilevers deflect with wind speed and orientation • Improvement of the estimation scheme(s) • Distribution of multiple sensors for improved detection of disturbances and/or performing more advanced sensing and estimation techniques 82 Appendix A: Additional Figures Figure A.1: Complete Signal Processing Board Schematic 83 Figure A.2: Initial Sensor 1 Wind Speed Sweep Figure A.3: Initial Sensor 2 Wind Speed Sweep 84 Figure A.4: Initial Sensor 3 Wind Speed Sweep Figure A.5: Initial Sensor 4 Wind Speed Sweep 85 Figure A.6: Initial Sensor 9 Wind Speed Sweep Figure A.7: Initial Sensor 1 Angle of Attack Sweep 86 Figure A.8: Initial Sensor 2 Angle of Attack Sweep Figure A.9: Initial Sensor 3 Angle of Attack Sweep 87 Figure A.10: Initial Sensor 4 Angle of Attack Sweep Figure A.11: Initial Sensor 9 Angle of Attack Sweep 88 Figure A.12: Initial Sensor 1 Sideslip Angle Sweep Figure A.13: Initial Sensor 2 Sideslip Angle Sweep 89 Figure A.14: Initial Sensor 3 Sideslip Angle Sweep Figure A.15: Initial Sensor 4 Sideslip Angle Sweep 90 Figure A.16: Initial Sensor 9 Sideslip Angle Sweep Figure A.17: Linear Estimation at α = 0◦, β = 0◦, V = 3 m/s 91 Figure A.18: Linear Estimation at α = 5◦, β = 5◦, V = 3 m/s Figure A.19: Linear Estimation at α = 10◦, β = 10◦, V = 3 m/s 92 Figure A.20: Linear Estimation at α = 15◦, β = 15◦, V = 3 m/s Figure A.21: Linear Estimation at α = 20◦, β = 20◦, V = 3 m/s 93 Figure A.22: Linear Estimation at α = −5◦, β = −5◦, V = 3 m/s Figure A.23: Linear Estimation at α = −10◦, β = −10◦, V = 3 m/s 94 Figure A.24: Linear Estimation at α = −15◦, β = −15◦, V = 3 m/s Figure A.25: Linear Estimation at α = −20◦, β = −20◦, V = 3 m/s 95 Figure A.26: Nonlinear Estimation at α = 0◦, β = 0◦, V = 2.5 m/s Figure A.27: Nonlinear Estimation at α = 5◦, β = 5◦, V = 2.5 m/s 96 Figure A.28: Nonlinear Estimation at α = 10◦, β = 10◦, V = 2.5 m/s Figure A.29: Nonlinear Estimation at α = 15◦, β = 15◦, V = 2.5 m/s 97 Figure A.30: Nonlinear Estimation at α = 20◦, β = 20◦, V = 2.5 m/s Figure A.31: Nonlinear Estimation at α = −5◦, β = −5◦, V = 2.5 m/s 98 Figure A.32: Nonlinear Estimation at α = −10◦, β = −10◦, V = 2.5 m/s Figure A.33: Nonlinear Estimation at α = −15◦, β = −15◦, V = 2.5 m/s 99 Figure A.34: Nonlinear Estimation at α = −20◦, β = −20◦, V = 2.5 m/s 100 Bibliography [1] Vladislav Klein and Eugene A Morelli. Aircraft system identification: theory and practice. American Institute of Aeronautics and Astronautics Reston, VA, USA, 2006. [2] Yongsheng Lian, Wei Shyy, Dragos Viieru, and Baoning Zhang. Membrane wing aerodynamics for micro air vehicles. Progress in Aerospace Sciences, 39(6):425– 465, 2003. [3] Andy M Reynolds, Don R Reynolds, Alan D Smith, and Jason W Chapman. A single wind-mediated mechanism explains high-altitude non-goal orientedhead- ings and layering of nocturnally migrating insects. Proceedings of the Royal Society B: Biological Sciences, 277(1682):765–772, 2010. [4] Jack Chen, Jonathan Engel, Nannan Chen, and Chang Liu. A monolithic integrated array of out-of-plane hot-wire flow sensors and demonstration of boundary-layer flow imaging. In 18th IEEE International Conference on Micro Electro Mechanical Systems, Miami, Florida, USA, pages 299–302, 2005. [5] Gijs JM Krijnen, Marcel Dijkstra, John J van Baar, Siripurapu S Shankar, Winfred J Kuipers, Rik JH de Boer, Dominique Altpeter, Theo SJ Lammerink, and Remco Wiegerink. Mems based hair flow-sensors as model systems for acoustic perception studies. Nanotechnology, 17(4):S84, 2006. [6] Yu-Hsiang Wang, Tzu-Han Hsueh, Rong-Hua Ma, Chia-Yen Lee, Lung-Ming Fu, Po-Cheng Chou, and Chien-Hsiung Tsai. A microcantilever-based gas flow sensor for flow rate and direction detection. In Design, Test, Integration and Packaging of MEMS/MOEMS, 2008. MEMS/MOEMS 2008. Symposium on, pages 142–145. IEEE/RSJ, 2008. [7] Yu-Hsiang Wang, Chia-Yen Lee, and Che-Ming Chiang. A mems-based air flow sensor with a free-standing micro-cantilever structure. Sensors, 7(10):2389– 2401, 2007. 101 [8] JM Engel, Jack Chen, Nannan Chen, Saunvit Pandya, and Chang Liu. De- velopment and characterization of an artificial hair cell based on polyurethane elastomer and force sensitive resistors. In Sensors, 2005 IEEE, pages 4–pp. IEEE, 2005. [9] Mahdi M Sadeghi, Rebecca L Peterson, and Khalil Najafi. Micro-hydraulic structure for high performance bio-mimetic air flow sensor arrays. In Electron Devices Meeting (IEDM), 2011 IEEE International, pages 29–4. IEEE, 2011. [10] C Song, AR Aiyar, S-H Kim, and MG Allen. Exploitation of aeroelastic effects for drift reduction, in an all-polymer air flow sensor. Sensors and Actuators A: Physical, 165(1):66–72, 2011. [11] Badri N. Ranganathan, Ivan Penskiy, William Dean, Sarah Bergbreiter, and Sean Humbert. Bio-inspired wind frame state sensing and estimation for mav applications. In [ ], 2015. [12] Sergio Callegari, Alessandro Talamelli, Michele Zagnoni, Alessandro Golfarelli, Veronica Rossi, Marco Tartagni, and Enrico Sangiorgi. Aircraft angle of attack and air speed detection by redundant strip pressure sensors. In Sensors, 2004. Proceedings of IEEE, pages 1526–1529. IEEE, 2004. [13] Gabriel Torres and Thomas J Mueller. Micro aerial vehicle development: de- sign, components, fabrication, and flight-testing. In AUVSI Unmanned Systems 2000 Symposium and Exhibition, pages 11–13, 2000. [14] He Shen, Yunjun Xu, and Charles Remeikas. Pitch control of a micro air vehicle with micropressure sensors. Journal of Aircraft, 50(1):239–248, 2012. [15] Haiping Fei, Rong Zhu, Zhaoying Zhou, and Jindong Wang. Aircraft flight parameter detection based on a neural network using multiple hot-film flow speed sensors. Smart materials and structures, 16(4):1239, 2007. [16] Sam Zarovy, Mark Costello, Ankur Mehta, Greg Gremillion, Derek Miller, Badri Ranganathan, J Sean Humbert, and Paul Samuel. Experimental study of gust effects on micro air vehicles. In AIAA Atmospheric Flight Mechanics Conference, 2010. [17] Steven L Waslander and Carlos Wang. Wind disturbance estimation and rejec- tion for quadrotor position control. In AIAA Infotech@ Aerospace Conference and AIAA Unmanned... Unlimited Conference, Seattle, WA, 2009. [18] Derrick Yeo, Elena Shrestha, Derek A Paley, and Ella Atkins. An empiri- cal model of rotorcraft uav downwash model for disturbance localization and avoidance. 2015. [19] Nitin Sydney, Brendan Smyth, Derek Paley, et al. Dynamic control of au- tonomous quadrotor flight in an estimated wind field. In Decision and Control (CDC), 2013 IEEE 52nd Annual Conference on, pages 3609–3616. IEEE, 2013. 102 [20] Summary of properties for kapton polyimide films. http://www.dupont.com/ content/dam/assets/products-and-services/membranes-films/assets/ DEC-Kapton-summary-of-properties.pdf. Accessed: 2015-03-03. [21] John David Anderson Jr. Fundamentals of aerodynamics. Tata McGraw-Hill Education, 1985. [22] Coleman Brosilow and Babu Joseph. Techniques of model-based control. Pren- tice Hall Professional, 2002. [23] Sigurd Skogestad and Ian Postlethwaite. Multivariable feedback control: anal- ysis and design, volume 2. Wiley New York, 2007. [24] Jyotirmay Gadewadikar, Frank L Lewis, Kamesh Subbarao, Kemao Peng, and Ben M Chen. H-infinity static output-feedback control for rotorcraft. Journal of Intelligent and Robotic Systems, 54(4):629–646, 2009. [25] Robert C Nelson. Flight stability and automatic control, volume 2. WCB/McGraw Hill, 1998. 103