Multi-core implementation of F-16 flight surface control system using GA based multiple model reference adaptive control algorithm

Size: px
Start display at page:

Download "Multi-core implementation of F-16 flight surface control system using GA based multiple model reference adaptive control algorithm"

Transcription

1 The University of Toledo The University of Toledo Digital Repository Theses and Dissertations 2011 Multi-core implementation of F-16 flight surface control system using GA based multiple model reference adaptive control algorithm Xiaoru Wang The University of Toledo Follow this and additional works at: Recommended Citation Wang, Xiaoru, "Multi-core implementation of F-16 flight surface control system using GA based multiple model reference adaptive control algorithm" (2011). Theses and Dissertations This Thesis is brought to you for free and open access by The University of Toledo Digital Repository. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of The University of Toledo Digital Repository. For more information, please see the repository's About page.

2 A Thesis entitled Multi-Core Implementation of F-16 Flight Surface Control System Using GA Based Multiple Model Reference Adaptive Control Algorithm by Xiaoru Wang Submitted to the Graduate Faculty as partial fulfillment of the requirements for the Master of Science Degree in Electrical Engineering Dr. Mohsin M. Jamali, Committee Chair Dr. Mohammed Y. Niamat, Committee Member Dr. Hong Wang, Committee Member Dr. Patricia R. Komuniecki, Dean College of Graduate Studies The University of Toledo May 2011

3

4 An Abstract of Multi-Core Implementation of F-16 Flight Surface Control System Using GA Based Multiple Model Reference Adaptive Control Algorithm by Xiaoru Wang Submitted to the Graduate Faculty as partial fulfillment of the requirements for the Master of Science Degree in Electrical Engineering The University of Toledo May 2011 This thesis first of all simulates previously developed F-16 flight surface control system using direct Model Reference Adaptive Control (MRAC). It simulates all three rotation motion controls such as pitch, roll and yaw. It then incorporates numerical solution of differential equation using 4 th order Runge-Kutta algorithm in the simulation. A Multiple Model Reference Adaptive Control (MMRAC) with Genetic Algorithm (GA) based model selection scheme has been proposed. The second part of this thesis is focused on implementation of the proposed algorithm on a 4-core-Architecture of Intel i5 CPU. The sequential code was first written in C++ on.net Framework 4. Parallel processing approaches were exploited for parallelization of the GA based MMRAC algorithm. Several optimization techniques were used to achieve the maximum speed up. iii

5 Acknowledgements I sincerely thank my advisor Dr. Mohsin Jamali for giving me the opportunity to pursue my research under his guidance. It has been a great learning experience working with him. I would like to express my deepest gratitude towards him for offering instructive advice at all times, treating me with endurance, and constantly pushing me to do better every time. I would also like to thank my thesis committee members Dr. Mohammed Y. Niamat and Dr. Hong Wang for their enthusiastic guidance through this endeavor. Last, but not the least, I thank my family, fiancé, and friends who have been a constant source of encouragement and support for me throughout my journey in the Masters Degree program. v

6 Contents Abstract..iii Acknowledgements v Contents.vi List of Tables.ix List of Figures....xi 1. Introduction Background Research Approach Organization Model Reference Adaptive Control (MRAC) Introduction to Adaptive Control Definitions and Concepts Examples of Adaptive Controller Model Reference Adaptive Control (MRAC) Model-following MIT rule Normalized MIT rule A MRAC Example F-16 Flight Surface Control Model 16 vi

7 3.1 F-16 Flight Model Mathematical Model of F-16 Aircraft MRAC controller of F-16 Aircraft Structure of F-16 Aircraft Body and MRAC Control system Simulation Architecture Simulation Model Building Blocks MATLAB Flight Model Initial State of Pitch Rotation System Initial State of Roll Rotation System Initial State of Yaw Rotation System MRAC based F-16 Flight Surface Control Simulation Pitch Rate Control Runge-Kutta 4th Order Method Roll Control Yaw Control Genetic Algorithm Based Multiple Model MRAC Multiple-Model MRAC (MMRAC) The need for MMRAC Multiple-Model Reference Adaptive Control Model switching Genetic Algorithm (GA) Basics of GA vii

8 4.2.2 Why Genetic Algorithm GA based MMRAC MMRAC mapping onto flight surface control GA mapping onto flight surface control system MMRAC Controlled flight surface control system simulation Parallel Processing Using Multi-Core Multi-core Architecture Advantage of Multi-core Computing Overhead behind Multi-core Computing Multi-core CPU F-16 Flight Surface Control System Simulation in C Analysis of the C++ Code Restructure of Parallel Program Cache hits and memory allocation Increasing Parallelism by Reducing Repeated Processes Other Possible Code Optimization Methods Performance of Optimized Parallel Program Conclusions and Future Work Conclusions Future Work References.78 viii

9 List of Tables 3-1 Relationship between Roll, Yaw, Pitch and Aileron, Elevator and Rudder Degree limits of various deflections and actuators Model parameters Controller parameters Physical meanings of computational functions Initial State and Command Signals for pitch position tracking control Initial State and Command Signals for roll position tracking control Initial State and Command Signals for yaw position tracking control Yaw Rate and Throttle Command Value Parent selection A new generation GA model generator Comparison of MSE for yaw control system Comparison of MSE for pitch control system Comparison of MSE for roll control system MSE comparison for three rotation control systems Specifications of Intel Core TM i5-520m Execution Time of Serial C++ Simulation Execution Time of Parallelized single model MRAC C++ Simulation Execution Time of Optimized Parallel single model MRAC C++ Simulation ix

10 5-5 Execution Time of Optimized Parallel GA based MMRAC C++ Simulation Comparison of execution time for different serial and parallel programs x

11 List of Figures 1-1 Structure of Model Reference Adaptive Control Structure of 4-CPU Architecture Block diagram of basic MRAC controlled system A SISO system with a general regulator Block diagram of a MRAC embedded system Aircraft 3-axis rotation (NASA) Surfaces on an airplane (NASA) F-16 aircraft body system architecture Computational flow of flight surface control Simulation flow chart of MRAC based F-16 surface control system Pitch Rate control result using ODE Comparison of pitch control with the function ODE45 and the custom code Magnitude between the pitch control tracking and the command signal Rate control result in comparison with the command pattern Error magnitude between the roll control tracking and the command signal Yaw rate control result in comparison with the command pattern Yaw control result under a new command signal Structure of MMRAC An example of one-time reproduction An example of mutation under probability of xi

12 4-5 The crossover step The mutation step Block diagram of GA based MMRAC GA based MMRAC yaw control Comparison between square-errors from normal MRAC and GA embedded MRAC for yaw control MMRAC embedded pitch control result Comparison between square-errors from normal MRAC and GA embedded MRAC for pitch control MMRAC embedded roll control result in comparison with command signal Comparison between square-errors from normal MRAC and GA based MRAC for roll control Parallel Computation Program partitioning process Pitch Control Tracking of GA based MMRAC system in C CPU Usage of Serial Program CPU Usage of Parallel Program Pyramid Data Storage Architecture of a calling Function Snapshot of Execution Result Pitch tracking using serial and parallel programs xii

13 Chapter 1 Introduction 1.1 Background A good system controller is known for its accurate response trajectory and fast responding speed [1]. For highly non-linear time-variant systems, the desire for such a wellperformed controller grows even greater. Due to the complexity of systems such as flight control, adaptive control first appeared in the early 1950s and proved its overwhelming success in the 1980s [2]. The idea of adaptive control came from the researches of aircraft systems [1]. The accuracy of the system response relies largely on the design of adaptive controllers [3]. Among various adaptive control schemes, Model Reference Adaptive Control (MRAC) is known for its accurate tracking of model and stable response process [1]. Therefore the system controller will use MRAC based algorithm. A structure of such a system is given in Figure 1.1. A model is pre-designed as a learning example. The controller and parameter adjustment block modify the system parameters according to the model. As a result, the system gets closer and closer to the model. 1

14 Pre-selected Model Parameter Adjustment U Controller Controlled System Figure 1.1: Structure of Model Reference Adaptive Control Figure 1.1 shows only a simplified block diagram of a MRAC controlled system. Sometimes a single model is not able to fully represent all the conditions under which the system will be working [1]. Therefore number of models has to be designed along with a switching system which keeps the system learning from different models according to different conditions. Later in this thesis, a Multiple Model MRAC (MMRAC) controller and a model selection scheme will be developed to further improve system performance. The response time of the system on one hand depends on the converging speed of the controller based on the of system designs; on the other hand, it will also depend on the execution time of the program based on the real time performance of the control system. The second part and the key section of this thesis are to speedup of the control system program using parallel computing technology [4]. Modern processors cannot offer higher frequency or faster computer time according to Moore s law. Processor manufactures have reached a road block and the way around this road block is via multi-cores. Parallel computing has been revived and every processor manufacturer is offering some kind of multi-core and parallel processing capability [5]. Parallel computing is a special form of execution in which many instructions are carried out simultaneously. Large scale of computation can often be divided into smaller ones, as processes, which are then solved concurrently. There are several different forms of parallel 2

15 processing: data-level, instruction level, loop level and functional level parallelism [4]. The power consumption and consequently heat generation of the modern processors has become an issue in recent years. Figure 1.2 shows a basic idea of 4-CPU architecture. As Figure 1.2 shows, the program is saved in the main memory which is placed at the center of the figure. There are four processors that are able to work together concurrently sharing the main memory. The program is able to gain extra speedup if it is properly partitioned and ran on all the CPUs in parallel. CPU CPU Memory CPU CPU Figure 1.2: Structure of 4-CPU Architecture There are many multi-core platforms available besides traditional CPUs which include GPUs and multi-unit microprocessors [4] [5]. Developments in the gaming industry are also leading revolution of Graphic Processing Units (GPUs) [4]. Today, these GPUs can also be exploited for other math intensive problems such as control, signal, image and other computational intensive processing. One of the successful GPU example is Nvidia s Compute Unified Device Architecture (CUDA) enabled GPU [4]. Nvidia has invented the CUDA parallel computing architecture that is now being shipped in GeForce, ION, Quadro, and Tesla GPUs. Most CUDA enabled GPUs nowadays have more than 400 cores that can be utilized to run mathematically intensive programs in parallel [4]. 3

16 IBM has introduced a multi-core processor called the Cell Broadband Engine (Cell BE) processor [5]. The Cell BE processor is a nine-core processor which includes one Power Processing Element (PPE), eight Synergistic Processing Elements (SPEs), and a Memory Transfer Engine (MTE). This processor is embedded into Sony Playstation 3 [5]. This thesis uses Intel i5 core as the computing platform and exploits multi-core capability under.net Framework 4 [4]. The i5 core has been specially designed as a parallel computing platform for PC market. Parallel processing schemes, program partitioning and optimization approaches will be elaborated in Chapter Research Approach This thesis proposes a Genetic Algorithm (GA) based Multiple Model Reference Adaptive Control (MMRAC) algorithm for F-16 flight surface control system. The system is first simulated using built-in function free or numerical methods approach in MATLAB. The developed control system is transformed into C++ under.net Framework 4 based system for embedded processing. Parallel processing techniques are applied to the control system. Different designs are developed and compared with each other in order to optimize the execution time of the control system. Different parallel processing techniques are applied to the C++ control system program in order to maximize its overall speedup. The optimal goal is to design the most accurate and a fast control system. 1.3 Organization In Chapter 2, adaptive control algorithm and MRAC algorithm will be introduced and the specific controller for flight surface control will be developed along with the stability 4

17 analysis. Chapter 3 will focus on the flight model design and MATLAB simulation results. The aircraft model will be divided into different building blocks for the ease of understanding and simulation. The focus is to get an accurate control for pitch, roll and yaw position tracking. Chapter 4 will develop a Genetic Algorithm (GA) based Multiple Model MRAC control (MMRAC) algorithm. The simulation results will be provided and will be compared with those obtained from the previous control scheme. In Chapter 5, parallel processing techniques will be applied onto the C++ program. Several optimization approaches will be used to improve its computational performance. The execution times will be optimized and will be used to assess performance of the proposed control system. 5

18 Chapter 2 Model Reference Adaptive Control (MRAC) 2.1 Introduction to Adaptive Control The adaptive control was first introduced from the extensive researches of aircrafts auto piloting issues in the early 1950s [1]. It was found that systems such as aircrafts operate over various altitudes, speeds, aerodynamics, gravity and other conditions. Therefore, command feedback control algorithms which only work for one operating condition would no longer fit the new situation. While, the word adapt in adaptive control means to conform one to new or different conditions. Accordingly, an adaptive controller is able to modify its control scheme in accordance to the new circumstances, not simply one operating condition [2]. On the other hand, with the development of system identification, stability theory, coefficient estimation and stochastic control theory in 1960s, adaptive control algorithms became implementable theoretically. In the early 1980s, extensive research was conducted in this area and adaptive control became a field of study. Adaptive control can be used for practical applications. Adaptive control algorithm based control systems can be implemented using modern computing technology [3] [6]. 6

19 2.2 Definitions and Concepts Most adaptive controllers perform the control process in two ways. One of them is to make changes to the controller itself (gains); the other is to change the system parameters (damping) in response to changes in operating conditions. As such, they can be simply viewed as just another kind of control-law, only in a non-linear and complex way [7]. The common definition assumes that controller parameters are selected by the adaptation process. The adaptation is associated with the information learned by the adaptive controller. Following are mathematical definitions that are used in this work [8]. 1. Adaptive means to conform one to new or different conditions [1]. 2. An Adaptive System is one that measures its performance relative to a given index of performance and modifies its parameters to approach an optimum set of values (Eveleigh, 1967) [2]. 3. Adaptation is the ability of self-adjustment or self-modification in accordance with changing conditions of environment or structure (Aseltime et al., 1958) [3]. 4. A system A is adaptive with respect to a family { }, of input sets = { }, where each is a vector of inputs to A. If the performance function obtained when is applied to A is acceptable, i.e. belongs to the set W of acceptable performance function values then A is adaptive with respect to G and W. A maps G into W adaptively [7]. Thus a process/controller system is adaptive with respect to a specified set of environmental changes, external disturbances, etc., if its performance function is acceptable for all such changes. 7

20 Without defining adaptive directly, Tsypkin (1971) described some characteristic features of adaptation [7]. The most characteristic feature of adaptation is an accumulation and a slow usage of the current information to eliminate the uncertainty due to insufficient a priori information and for the purpose of optimizing a certain selected performance index. An input to a partially known system has the dual effect; 1. It will drag the output to move toward a desired value; 2. It will lead the output to change in a manner that will allow some of the unknown parameters of the system to be determined [8]. 2.3 Examples of Adaptive Controller Generally speaking, adaptive control theory offers a balance of many aspects of control theory including stability, parameter estimation and control law design. There are lots of different adaptive control schemes available in the literature [9] [10]. A few adaptive approaches would be discussed next. Gain Scheduling is a possibility when one group of system parameters is not enough for the whole operating conditions. It is literally open-loop and actually one step removed from having gains selected from tables by human operators. Data is sensed to determine an operating region from a lookup table and operating region is defined as a part of the entire state space [1]. Self-tuning Regulators is an adaptive approach in which the system is identified and the system information is used to design various parameters of a controller. It is a close-loop control process and during each loop, system and controller parameters are determined using the system identification process [2]. 8

21 Model Reference Adaptive Control (MRAC) is characterized mainly by the predefined system model. The controller parameters are adjusted towards the model so that the system would finally behave as the model. There are also many variants of Model Reference Adaptive Control such as direct MRAC and indirect MRAC etc. One commonly used variant of direct MRAC is to introduce several models at the same time in accordance with complex operating conditions [11]. In this thesis, the focus is to control an F-16 flight surface system. The system is highly non-linear in nature and the operating conditions are changing from time to time. Due to the nature of flight system, a Multiple-Model MRAC controller is designed and embedded into the flight system to control the aircraft surface. In the next section, MRAC theory will be introduced and the stability analysis would be provided. 2.4 Model Reference Adaptive Control (MRAC) Model Reference Adaptive Control introduces a reference model which describes the desired performance of the controlled plant. The basic structure of a direct MRAC controlled system is illustrated in Figure 2.1 [9]. Without the reference model, the entire system would be nothing but an ordinary feedback control system. Error e is the difference between the plant output and the model output. The adjust mechanism has all parameters that are going to be changed according to the error e. Thus, two loops, the ordinary feedback loop and the adjust mechanism loop could be treated as inner loop and outer loop, respectively. 9

22 Model Adjustment Mechanism U c Controller Plant Figure 2.1: Block diagram of basic MRAC controlled system There are basically three approaches of designing a Model Reference Adaptive system, the gradient approach, the Lyapunov functions and the Passivity theory [2]. The gradient approach assumes that parameters change more slowly than other coefficients in the system. This is important for the computation of the sensitivity derivatives which is an essential part of the adaptation mechanism. Both the Lyapunov s stability theory and passivity theory have been used to change the adaptation mechanism. This work will focus on using gradient method (MIT rules) to design a MRAC controller Model-following The model reference adaptive method provides a general method for adjusting the parameters so that the close-loop transfer function will be close to a pre-defined model. This kind of problem is called model-following [6]. Model-following is an efficient way of solving servo control problems as the basic idea is simple and useful. A specified or predefined model, linear or non-linear, would be given to achieve the desired response. The parameters in the system would be adjusted in order to get output of the plant as close as possible to output of the model for given input signals. Although perfect model-following could be obtained only in ideal situations, analysis of it gives insight into the design problem. Consider a Single Input Single Output (SISO) system as shown in Figure

23 Regulator T Sy u Process y Figure 2.2: A SISO system with a general regulator The transfer function of the system in Figure 2.2 is expressed as: (2.1) In which u is the control signal and y is the output signal. A and B represent polynomials and use differential or difference equations. If a regulator needs to be identified then the relation between the command signal and the desired output signal is given by (2.2) In which and are again polynomials and contains differential or difference equations. A general linear control law is described as: (2.3) where R, S and T are polynomials. Equation 2.3 represents a negative feedback with the transfer operator and a feedforward with the transfer operator. Elimination of in Equations 2.1 and 2.3 results in the following equation for the closed-loop system: (2.4) must divide in order to obtain the desired response [6]. 11

24 2.4.2 MIT rule The basic idea in adjusting controller parameters in MRAC is commonly known as the gradient approach. The gradient approach was first developed at the MIT s Instrumentation Laboratory. Thus, the gradient method of MRAC is often called the MIT rule [1]. Controller parameters of the regulator are changed in the direction that brings the difference between the process output and the model output to zero. A cost function is used as description of the controller parameter in terms of the error e. The cost function of the controller parameter is changed in such a way as to reduce the error. Controller parameters are denoted by. A common cost function is given as: (2.5) In order to tune towards zero, J should be minimized by changing the parameter in the direction of the negative gradient of J, for example, (2.6) The derivative is the sensitivity derivative of the system. The adjustment rule of Equation 2.6 is referred as the MIT rule. Equation 2.6 also applies to the case of a vector of adjustable parameters. In that case, should be a vector and the sensitivity derivative should be the gradient of the error with respect to the controller parameters. The MIT rule performs well when the adaptation gain is small. The size of is dependent on the value of the reference signal and the gain of the system. Moreover, the convergence rate depends critically on Therefore there is no fixed limits that the control process would be stable. This is why we also have the normalized MIT rule. 12

25 2.4.3 Normalized MIT rule As MIT rule does not guarantee stability, it is imperative for people to modify it. As mentioned above, MIT rule let the users decide the critical parameter, which determines the rate of decrease of the cost function [7]. Thus it is possible to obtain a modified rule in which the rate of decrease would not depend on, nor the value of the command signal. One successful way is to normalize and replace the MIT rule with The existence of the parameter is introduced in case of division by zero. A saturation parameter is introduced to avoid any calculation error and to keep the adjustment rate below a certain limit. Thus the adjustment rule is changed as: in which, (2.9) Equation 2.8 is called the normalized MIT rule which makes the adjustment rate not totally dependent on. With the introduction of the parameter, a predefined limit is set to avoid the rate of decrease from becoming too large. Thus the stability of MRAC algorithm is guaranteed [7]. 13

26 2.4.4 A MRAC Example In order to make a clear view of the Model Reference Adaptive Control, a system with a forward gain (k) will be given as an example. Figure 2.3 shows the block diagram of a forward gain system with MRAC as an embedded controller [10]. θ u Figure 2.3: Block diagram of a MRAC embedded system From the diagram, the transfer function of the plant is obviously (2.10) In which k is an unknown parameter, but a could be introduced in the model and let the system keep moving closer towards the model through the adaptation process. Therefore, the model is defined by the transfer function of the plant with multiplication by a new constant. (2.11) A similar cost function is selected as given in Equation 2.5, which gives the adaptation result as specified by Equation 2.6. In terms of the transfer function of this particular system, the error equals to (2.12) 14

27 where θ is the controller parameter that needs to be adjusted as it is affecting error e. In terms of the system output, the sensitivity derivative is expressed by: (2.13) At the last step, MIT rule is applied and the mechanism to adjust θ is determined. (2.14) Equation 2.14 is used to tune the system towards the model and it will result in getting closer to [10]. Adaptive control is useful for complex and highly non-linear systems. MRAC system is one of the most common algorithms in the area of adaptive control. Due to the nature of F- 16 flight surface control system, MRAC is selected to adjust the system parameters according to a preset model or a series of models. In the next chapter, the F-16 aircraft model will be illustrated and the specific MRAC control law will be developed in regards to the flight model. 15

28 Chapter 3 F-16 Flight Surface Control Model 3.1 F-16 Flight Model Model Reference Adaptive Control (MRAC) algorithm has been proven to be accurate in response, fast in convergence and stable during control process. It is also very appropriate for use in a highly non-linear system. Flight control models generally are highly complex in nature and the deviation of flight surface changes the aerodynamic forces and moments which are also highly non-linear [12]. In addition, the rapidly changing temperature and air pressure influences the speed and altitude. Stevens and Lewis [14] have described F-16 aircraft flight model in their book Aircraft Control and Simulation. The F-16 aircraft flight model is provided in great details and various associated program codes with various look up tables are also available. Kamalasadan and Ghandakly have provided a neural network and fuzzy logic based MRAC system for this F-16 aircraft model [13]. Therefore choice of MRAC in this work is very appropriate to perform flight surface control system [13]. An aircraft has three axis namely longitudinal, vertical and lateral. There are also three parameters roll, yaw and pitch that affect the rotation of a flight in the air. These three rotations are controlled by surfaces including ailerons, rudders and elevators. Three rotations 16

29 of an aircraft are shown in Figure 3.1 (Figure obtained from NASA). A detailed diagram of an aircraft with its various surface control system is shown in Figure 3.2 (Figure obtained from NASA). Figure 3.1: Aircraft 3-axis rotation (NASA) [15] There are three motions along three axes (longitudinal, lateral and vertical) of an aircraft: front and back along the longitudinal axis; side to side along the lateral axis; up and down along the vertical axis. Besides, there are three rotations around these axes: pitch (movement around lateral axis), roll (movement around longitudinal axis) and yaw (movement around vertical axis). Pitch rotations make an aircraft move upward or downward; roll rotations make an aircraft roll along longitudinal axis (roll around its body); yaw rotations make an aircraft turn right or left. Since the aircraft has three rotations and three motions, therefore an aircraft system is called 6-DOF (Degree Of Freedom) system. 17

30 Figure 3.2: Surfaces on an airplane (NASA) [16]. As Figure 3.2 shows, the ailerons are located on the trailing edge of wings, near the wing tip of an airplane. They can be used to generate roll rotations. Ailerons are used in opposite directions which means that when left ailerons deflect upward, the ones on the right have to move downward. For example, when the left ailerons tilt up and right ailerons tilt down, more lift is created on the left side and less on the right side. This would result in the aircraft rolling to the right. Elevators are located at the trailing edge of the horizontal stabilizer. They control the pitch motion, which means that the plane lifts its nose up and down. When elevators are deflected downward, more lift will be accumulated at the horizontal stabilizers and the aircraft will move downward. In order that the planes fly horizontally, the total sum of pitch moments must be zero [16]. Thus altitude changing requires the elevators momentary going down after going up in order to keep the flight parallel to the ground. On the other hand, as these elevators are parallel to ailerons, they also have effects on roll controls [17]. Rudders are located at the trailing edge of the vertical stabilizer which control yaw motions [18]. Rudders are extended so that they obstruct the airflow [19]. In turn, the airflow 18

31 will push hard on the rudders. Unbalance will be created between the side where the rudders are obstructing the airflow and the side where they are not. Aircrafts will finally move away from the side where rudders are extended. Therefore, when rudders tilt to the right, more lift is created on the right, which will push the vertical stabilizer to the left. This will cause the airplane to yaw to the right [20]. Table 3.1 lists the relation between three rotation motions and surfaces. Rotation motions Roll Pitch Yaw Table 3.1: Relationship between Roll, Yaw, Pitch and Aileron, Elevator and Rudder Surfaces that affect Deflection of conventional wing-mounted ailerons and differential deflection of the horizontal stabilizers Elevators deflection Rudder deflection thesis. The specifications and control of all three rotations systems will be presented later in this 3.2 Mathematical Model of F-16 Aircraft A mathematical model for the six degree of freedom for the F-16 aircraft has been developed by NASA-Langley and is also given by Steven and Lewis [14]. A mathematical F- 16 flight model is provided in terms of body dynamics, aerodynamics and force equations [21]. The steady state trim [22] conditions will be developed thereafter. The mathematical model developed from the data obtained from NASA-Langley wind tunnel test applies to a speed range up to Mach number=0.6 [14]. The Mach number describes the speed of the aircraft. The model confines limits to various actuators including leading edge flap deflection, horizontal stabilizer, differential tail, aileron and rudder. These limits are listed in Table

32 Table 3.2: Degree limits of various deflections and actuators Actuator Degree of limit(deg) Leading edge flap deflection 0 to 25 Horizontal stabilizer -25 to 25 Differential tail to 5.38 Aileron to 21.5 Rudder -30 to 30 The aircraft model is based on force, kinematics, moment and navigation equations. These equations are also available in [13, 14]. Force equations are represented as: (3.1) (3.2) (3.3) Kinematic equations are represented as: (3.4) (3.5) (3.6) Moment equations are represented as: (3.7) (3.8) (3.9) Navigation equations are represented as: 20

33 (3.10) (3.11) (3.12) The total control input vector could be written as (3.13) Equations from 3.1 to 3.13 are system equations which provide the back bone of the entire surface control. Various parameters used in this model are shown in Table 3.3. Table 3.3: Model parameters Parameters name Practical meaning U V W P Q R Velocity along longitudinal axis (km/s) Velocity along lateral axis (km/s) Velocity along vertical axis (km/s) Roll rate (rad/s) Pitch rate (rad/s) Yaw rate (rad/s) Force along longitudinal axis (N) Force along lateral axis (N) Force along vertical axis (N) Euler angle along longitudinal axis (rad) Euler angle along lateral axis (rad) Euler angle along vertical axis (rad) 21

34 Mathematical equations of the F-16 aircraft model are supported by look up tables. They provide basis of the aircraft flight surface control. These look up tables provide coefficients for equations of motions according to different flying conditions. They are obtained from the steady state flight trim conditions and corresponding dynamic conditions [13] MRAC controller of F-16 Aircraft This thesis is focused on surface control of the F-16 aircraft. This work is concerned with the pitch, roll and yaw control. These controls can be described as: Pitch rotation is determined solely by deflection of elevators. Therefore it can be controlled by following equations. (3.14) Where represents gain on elevators and is expressed as follows: (3.15) Both and are four-element 1-D arrays. is composed of accumulated changes of. is expressed as an array and is given as: (3.16) Where is the desired pitch rate value and is the current pitch rate value whose unit is. Similar to pitch control process, yaw rotation is influenced only by rudder. Yaw control can be described as: (3.17) Where is the gain on rudder and has been shown in Equation The only difference is that in this case is expressed as: 22

35 (3.18) where is the desired yaw rate value and is the current yaw rate value. Roll rate control process is slightly different from the previous two rotations (pitch and yaw) and is determined by both ailerons and horizontal stabilizers. Therefore, roll control can be described as: (3.19) At the same time, elevators need to change its value in the following way: (3.20) The parameter in both Equation 3.19 and Equation 3.20 equals to which is the same as pitch and yaw rotations. The difference lies in that and is stated as: (3.21) The MRAC controller parameters in Equations 3.14 to 3.21 are summarized in Table 3.4. Table 3.4: Controller parameters Parameter name Practical meaning Pitch rate (rad/s) Yaw rate (rad/s) Roll rate (rad/s) Gain on elevators (rad) Gain on rudders (rad) Gain on ailerons (rad) Accumulated change of (rad) Current Pitch, Yaw, Roll rate (rad/s) Desired Pitch, Yaw, Roll rate (rad/s) 23

36 3.2.2 Structure of F-16 Aircraft Body and MRAC Control system Figure 3.3 describes computational model of the F-16 Aircraft flight surface control system. It shows main computational blocks inside the object body and it is surrounded by other computational sub-blocks. Figure 3.3 also shows various inputs going to different computational sub-blocks. Computation of Mach number and dynamic pressure Computation of aerodynamic forces and moments coefficients Altitude Velocity Surface angles Object Body 1 Values of Ailerons, Rudders, Elevators and Flaps. 2 Description of engine model. 3 Calculation of atmosphere density, dynamic pressure and navigation equations. 4 MRAC Controller. Throttle angle, altitude, Mach number Angle of attack Computation of engine thrust Add damping derivatives Figure 3.3: F-16 aircraft body system architecture Computation of the entire model is encapsulated in Figure 3.4. It is divided into three major blocks of input parameters, computational block and output values. Figure 3.3 serves as a plant and is shown as one of two computational blocks in Figure

37 Input Block Velocity (U,V,W), Altitude, Mach number, Moment rates (P,Q,R), Kinematics ( ) Computational Plant Force Equations: Equations 3.1 to 3.3 Kinematic Equations: Equations 3.4 to 3.6 Moment Equations: Equations 3.7 to 3.9 Navigation Equations: Equations 3.10 to 3.12 Computational Controller Rotation Control Process (Controller) Pitch Rotation Control (3.14 to 3.16) Yaw Rotation Control: (3.15, 3.17 and 3.18) Roll Rotation Control: (3.19 to 3.21) Output Block Pitch, Yaw or Roll Rates ( ) Figure 3.4: Computational flow of flight surface control 3.3 Simulation Architecture Model Reference Adaptive Controller (MRAC) based surface flight control model has been presented in previous sections. In order to validate correctness of the model and the control system, it should be simulated first. Kamalsadan in his Ph. D. dissertation provides MATLAB code for pitch control using MRAC approach. This thesis takes his work one step further and first simulates three rotation controls (pitch, roll and yaw) for flight surface control system. One of the stated goals of this thesis is to develop an embedded flight control system exploiting parallel processing and utilize available modern Multi-Core system to achieve real time embedded flight surface control system. 25

38 3.3.1 Simulation Model Building Blocks The F-16 6-DOF aircraft model and its associate MRAC based surface flight control system consist of two main computational blocks of plant and controller as shown in Figure 3.4. The computational blocks also rely upon computation of sub-blocks such as engine thrust and power command, aerodynamics, atmosphere block, Mach number, dynamic pressure and damping derivatives. Main computational blocks and sub-computational blocks heavily rely on the concept of look up tables for various coefficients. It should also be noted that all control systems involve computation of partial differential equation in the form of (3.22) This equation tunes towards zero and requires minimization of J by varying the parameter in the direction of the negative gradient of J. The MRAC system is adjusting parameter θ and error e between system output and model output. The surface flight control system involves control of three rotations and following sections describe various initial conditions MATLAB Flight Model The computational flow of aircraft surface control system has been developed in Figure 3.4. The aircraft surface system and MRAC controller blocks have been designed as shown in Figure 3.5. Since MATLAB focuses only on digital systems, the continuous models have to be transferred into its discrete counterpart. During discretization, the entire process is distributed on a time line. The time parameter is represented by T and is used as 180. A step size or sampling rate h is used. The total number of samples equals to T/h. 26

39 Start Input Block Command Signal (RCOM,QCOM,PCOM) Surface angles (Elevator, Aileron, Rudder) Velocity (U,V,W) Moment rates (P,Q,R) Aerodynamics (F1-F3) Aerodynamics (F4-F10) iteration Computational Block Force Equations:,, Kinematic Equations: Moment Equations: Navigation Equations: Engine (F11-F13) Damping (F14) MRAC Controller Pitch Rotation Control Yaw Rotation Control Roll Rotation Control Discretization Process Output Figure 3.5: Simulation flow chart of MRAC based F-16 surface control system 27

40 Functions from F1 to F14 in Input Block and Computational Block are computational functions that calculate various parameters. Physical meanings of these functions are shown in Table 3.5. Table 3.5: Physical meanings of computational functions Function Number Physical meaning F1 to F3 F4 to F7 F8 to F10 F11 to F13 F14 Aerodynamics around three axes Aerodynamics on ailerons, rudders, elevators and flaps Aerodynamics along three axes Engine power and thrust Damping derivatives It can be seen that flight surface control system utilizes input signals to compute movement parameters such as forces, kinematics, moments and navigation values of aircrafts and these parameters are transferred to the MRAC controller as inputs. Controller block calculates how much surface angles (Elevators, Ailerons and Rudders) need to be adjusted and return the adjustments back to the input block as a completion of one discretization step. The tracking results ( ) will be shown in terms of matrix or figures. In this thesis, the final surface tracking results will be graphically displayed. Figures will have the x-axis as the time line T and y-axis will be the rotation changing rates ( ) Initial State of Pitch Rotation System The MRAC system adjusts the degree of deflection of elevators. Besides elevators, other surfaces also play important roles in pitch rotations since they are able to balance the other 28

41 two axes of the aircraft system. The pitch angle is mainly determined by elevators. In rotation control systems, all surfaces need to have initial values and these values keep the aircraft fly smoothly if no external command were given. The initial state of the aircraft is given in Table 3.6. These data are given by Stevens and Lewis [14]. Table 3.6: Initial State and Command Signals for pitch position tracking control Elevator (degree) Aileron (degree) Rudder (degree) Initial surface angles during steady state Time (second) <10 <20 <40 <100 <150 Pitch Rate (Degree/sec) Throttle Value (Degree) Aileron (Degree) Rudder (Degree) Control vector and command values Initial State of Roll Rotation System Roll position control is similar to the pitch control. The MRAC updates the angles of both ailerons and horizontal stabilizers. The initial state and command pattern of roll control are listed in Table 3.7. It shows that the initial values of surfaces and throttle angles remain the same as pitch control but it will have different command signal. Command values for three rotations are specified in random fashion for simulation purposes. 29

42 Table 3.7: Initial State and Command Signals for roll position tracking control Elevator (degree) Aileron (degree) Rudder (degree) Throttle Value in the control process Time(second) <10 <20 <40 <100 <150 Pitch Rate(Degree/sec) Throttle Value(Degree) Aileron(Degree) Rudder(Degree) Control vector and command values Initial State of Yaw Rotation System The MRAC system adjusts rudder angle for the yaw rotation. Its initial state and control pattern is given in Table 3.8. The yaw rotation will have different command signal as previously suggested. 30

43 Table 3.8: Initial State and Command Signals for yaw position tracking control Elevator (degree) Aileron (degree) Rudder (degree) Throttle Value in the control process Time(second) <10 <20 <80 <150 Yaw Rate(Degree/sec) Throttle Value(Degree) Aileron(Degree) Rudder(Degree) Control Vector and command signal 3.4 MRAC based F-16 Flight Surface Control Simulation Pitch Rate Control The MATLAB simulation for pitch rate control similar to Kamalasadan [13] is shown in Figure

44 Figure 3.6: Pitch Rate control result using ODE45 One of the advantages of MATLAB is that it provides built-in functions for many modern computational needs with the availability of its various tool boxes. One can quickly simulate a fairly complex system using MATLAB and its associated tool boxes. If special purpose hardware needs to be designed for real time applications which will require either C/C++ code or low level implementation then one of the task would be to replace all existing built-in functions in the MATLAB code. The existing code has similar situation and utilizes built-in Runge-Kutta function ODE45. Efforts were directed to replace ODE45 with custom code and duplicate existing results. This effort of replacing ODE45 which is a Runge-Kutta function for the solution of partial differential equation is described in the next section Runge-Kutta 4th Order Method Runge-Kutta is a technique that solves differential equations and it was developed by German mathematicians C. Runge and M. W. Kutta around Among the family of 32

45 Runge-Kutta, the 4th order method is the most commonly used in solving differential equations. It could be represented as follows. An initial value is specified as follows. (3.23) (3.24) Then the Runge-Kutta method is given by the following equations. (3.25) (3.26) (3.27) (3.28) Basically, Runge-Kutta changes the process of solving differential equations into iterative computations. A step size h is chosen and a continuous problem is discretized. Original MATLAB code was modified and the ODE45 function was replaced with the Runge-Kutta 4 th order code. As expected, the output is almost similar to one with the ODE45 function and is shown in Figure 3.7. In Figure 3.7, the result from ODE45 is represented with red dot line and the result from the new code is represented with blue solid line. The slight difference between the two can only be seen on the up-edges when t=10 and t=40 and the down-edge when t=20. For the rest of the position tracking process, these two different pieces of code performs exactly the same. This is due to the fact that MATLAB s ODE45 function also uses Runge-Kutta algorithm. 33

46 Figure 3.7: Comparison of pitch control with the function ODE45 and the custom code The MRAC system performs pitch control and the error between the command pattern and the tracking result is shown in Figure 3.8. Figure 3.8: Error magnitude between the pitch control tracking and the command signal It can be seen that the error is high only at the transition points and it quickly subsided later on. Therefore it can be concluded that the MRAC system is achieving its goal. 34

47 3.4.3 Roll Control The MRAC system was simulated using the custom Runge-Kutta code for the roll control and its result is shown in Figure 3.9. Figure 3.9: Roll rate control result in comparison with the command pattern The roll position tracking performs as well as the pitch rate control although the system converges a little bit slow when Roll Rate=2. The rest of the process gives quick response and provides accurate results. The error was also plotted and is shown in Figure It can again be seen that there is large error only at the transition points. 35

48 Figure 3.10: Error magnitude between the roll control tracking and the command signal Yaw Control The yaw control tracking with the MRAC is shown in Figure In Figure 3.11, the solid blue line represents the tracking result of yaw control and the red dot line represents the command signal. The yaw control track from the MRAC system deviates from the command signal. It can be seen that the control system is converging slowly due to the MIT based MRAC. The reason is that the deflection of rudder is not enough for yaw control and requires larger rudder deflection. 36

49 Figure 3.11: Yaw rate control result in comparison with the command pattern According to video demonstrations [17] available on Youtube, when an aircraft makes a yaw rotation, a roll rotation is always accompanied. This failure of convergence could be diminished by enhancing roll rotation control. Another option would be to utilize multiplemodel MRAC controller as discussed in the next chapter. 37

50 Chapter 4 Genetic Algorithm Based Multiple Model MRAC A MRAC system for three rotation motions of F-16 aircraft was presented in Chapter 3. The MRAC system is considered as a single-model system that may have some disadvantages. The system relies only on one single model and tries to perform as best as it can. It was observed that both the pitch and roll control system response quickly and accurately under a predefined model over the entire control process. Unfortunately, yaw control process results in a non-stable system. Its system response fails to converge on the command signal. To overcome this issue, on one hand a new control scheme could be designed which holds better stability; on the other hand, a better model or multiple models within the framework of MRAC [12] can be employed. In this thesis, the idea of number of models within the framework of MRAC is pursued. An intelligent approach may be employed to select the best model for a given situation [23]. This chapter presents the development of a Multiple-Model MRAC (MMRAC) controller and series of models which represent different flight conditions will be generated. Genetic Algorithm (GA) technique as an intelligent mechanism will be used to generate and select models to make safe switching decisions. For every control command value, a best model will be selected by a properly developed fitness law [24]. 38

51 4.1 Multiple-Model MRAC (MMRAC) The need for MMRAC A single predefined model was used in the previous chapter for the MRAC for the flight surface control system. The simulation result shows that both pitch and roll control result satisfy tracking trajectories in reasonable time. The problem arises from yaw control which results in slow convergence rate. That is to say, given the same processing time as pitch and roll control, single-model MRAC for yaw control makes it unstable. Figure 4.1: Yaw control result under a new command signal A test command signal for the demonstration of yaw control is designed and is provided in Table 4.1. Table 4.1: Yaw Rate and Throttle Command Value Time(sec) <10 <20 <80 <150 <180 Yaw Rate(Deg) Throttle Value(Deg)

52 Figure 4.1 shows that the single-model MRAC controller designed for yaw motion control is stable but it takes long response time to stabilize. The yaw control command only changes once and gives the system long tracking time (from t=10 to t=180) and allows monitoring of its stabilization time. Figure 4.1 shows that the system converges at t=35, which proves that the controller is stable for the yaw control system but just taking long time to converge. The reason why it takes long response time to converge is that the predefined model for the system is not able to provide desired result. Therefore, the initial error between the model and system is too much to be offset in a short response time. A Multiple-Model MRAC [24] may solve this problem since the initial difference between system output and model output can be minimized by selecting the best model from a pre-generated model pool [27]. Next two sections will introduce MMRAC structure and safe switching scheme Multiple-Model Reference Adaptive Control It is assumed that for multiple-model reference adaptive control, the unknown system is represented by series of nominal plants or at least one member of them. Each nominal plant corresponds to a presumed stable controller which gives the unknown system a satisfactory performance. The overall objective of MMRAC is to converge to the best controller for the unknown system after a finite time [27]. For some of the cases, the determination of the best controller is definite. But for others, this determination falls into an uncertainty zone. For example, given the nominal system, there is a hypothesis that makes the unknown system falls into the uncertainty zone around. It is the supervisor s job to determine the best and select the best 40

53 corresponding controller. Figure 4.2 shows the structure of a MMRAC system without any system disturbances [28]. Model Selection System U System Estimation Figure 4.2: Structure of MMRAC There are m nominal systems from to. Each of the nominal systems corresponds to a Controller. Each output corresponds to a nominal system and y corresponds to the output of the unknown system. The difference between the outputs of the unknown system S and m system model is. The model selection block computes various performance parameters and selects an appropriate model which is closest to the unknown system. It determines a suitable based on the information of Model switching The model selection system in Figure 4.2 relies on a concept of monitoring signals which are defined by the following equation. (4.1) This monitoring signal gives a measurement of the closeness between the unknown system and possible models [27]. It should also be emphasized that the choice of is based on the satisfaction of the performance for the model. 41

54 The model selection system does not wait for the monitoring signal to converge to zero. That is to say, if the unknown system S is time-varying, the controller may never settle down on a specific. The model selection system considers unknown time-varying system as number of time invariant systems. Only in this way, at a specific time t, a nominal model could be selected and a corresponding controller will in fact control the system. Multiple-Model Reference Adaptive Control system is capable of providing superior performance than a single model based approach [28]. Therefore a MMRAC has two basic building blocks. One of them contains multiple models of the system. The second one which is a model selection system contains an intelligent scheme to properly select an appropriate model for certain conditions and based on certain performance parameters. It is easy to provide multiple models but development of model selection system can be a challenging task [31]. There are number of intelligent techniques that can be used to develop and adopt a model selection system. These intelligent techniques can be based on fuzzy logic, neural network, or genetic algorithm and others [33]. Researchers have used fuzzy logic and neural network based approaches extensively in the past. More recently there is lot of interest in use of genetic algorithms [35]. Obviously there are tradeoffs in the use of all these approaches. Selecting one can be challenging as it would require extensive simulation and performance evaluation. In this thesis, genetic algorithm based model selection system has been proposed. 4.2 Genetic Algorithm (GA) Basics of GA Genetic Algorithm (GA) is a computational model that came from the natural evolution back in the 1970 s [35]. The implementation of GA begins with a population of 42

55 chromosomes which represents specific variables of a problem. Then the individuals that keep the population better evolving are assigned with greater possibility of reproduction and those who fail in the natural selection would finally be ruled out [36]. The evaluation scheme of chromosomes is called fitness functions, which is defined by the designer. A one-time reproduction is illustrated in Figure 4.3 [35]. Figure 4.3: An example of one-time reproduction In Figure 4.3, both solid and diagonally hatched block represent genes. GA presumes that the solution to a problem is an individual that could be represented by a set of parameters. These parameters are in turn the genes of the chromosomes and represented by an array of binary digits [37]. The initial genes of a chromosome are usually randomly picked. With the evaluation of the fitness function, better genes are retained and losers from the competition get deleted from the population. The size of the initial population varies from problem to problem [35]. In every reproduction step, the next generation is created from the current generation. The genes of the parent generation will be mixed and combined into the ones of their offspring as shown in Figure 4.3. For a well-designed GA process, better genes should take larger number of places in the offspring [38]. A commonly used technique for selecting the best individual chromosome is called roulette wheel selection. It is described by following three steps [39]: 1. Calculate the sum of the fitness of every individuals of the parent generation, as S; 2. Randomly generate a number between 0 and S, namely n; 3. Return the first individual whose fitness value added to S is greater or equal to n. 43

56 There are two techniques for terminating GA process. The first one is that the designer presets a cycle number and the reproduction process stop when this number is reached. The best individual is returned according to the fitness value. The other method is that the designer presets a termination fitness value. When there is an individual who reaches the criterion, the entire process stops [36]. There are two fundamental operators that facilitate the evolution cycles, crossover and mutation [35]. Figure 4.3 could be viewed as a one-time crossover. After each crossover, every individual is applied with mutation from which genes could be altered. They could be changed to other genes in the population or new genes that never exist could be introduced into the pool. The mutation is applied under a relatively small possibility in order to keep the evolution towards a fixed direction. For example, one of the solid blue genes on the parent side of Figure 4.3 has the possibility of 0.01 that could be altered to a black-dot one as illustrated in Figure 4.4. Figure 4.4: An example of mutation under probability of 0.01 A desired fitness value of 30 and 100 cycles of reproduction have been selected to illustrate operation of GA algorithm. The chromosomes are represented by binary digits and the fitness values are listed following the chromosomes as shown in Table 4.2. There are four individuals in the first generation and their fitness values are provided in Table

57 Table 4.2: First Generation Parent selection Fitness Value During the parent selection, the lower two individuals are selected as they hold the greater fitness value than the first two individuals [35]. It should also be noted that the fitness value can be selected either greater or lower and it determines the direction of reproduction. The crossover point is selected to be after the fifth digit of every chromosome. The crossover process is shown in Figure Figure 4.5: The crossover step These two chromosomes interchange with each other their first 5 digits and last 11 digits. Mutation process changes binary digits with a predefined probability. Mutation offers a possibility of improving genes. Therefore after each crossover there is a possibility of mutation as shown in Figure

58 Fitness value= Fitness value= Figure 4.6: The mutation step Next, these two new individuals will be inserted into the population and a new generation will be created as shown in Table 4.3. Table 4.3: A new generation First Generation Fitness Value At last, after 100 cycles of reproduction, the best chromosome which holds the fitness value is returned. The binary number then is decoded back into a decimal one as the final result [40] Why Genetic Algorithm The mathematical representation of the trim condition F-16 aircraft model is given as: (4.2) It is a simple calculation in which and are two coefficients that both have their own value domains; and are two parameters of MRAC adjuster. For every iteration previously computed values of and are used. Two coefficients of and are 46

59 first selected randomly and then they are generated by the GA algorithm. Error is computed by the following equation. (4.3) (4.4) where is the angle of rudder, which is the parameter that needs to be adjusted and is also fixed within every iteration. The best model is the one that produces the least error from the system output and that particular model is selected for control purposes. The simple approach of randomly picking coefficients first and obvious fitness law makes genetic algorithm the best choice to select the best model for every command value. 4.3 GA based MMRAC MMRAC mapping onto flight surface control It is possible to design an F-16 flight surface control system with a genetic algorithm acting as a model selection system. For the first step, a basic architecture should be designed in order to have a clear view of the control process. A genetic algorithm based MMRAC structure is shown in Figure

60 Adaptive Adjustment Control Law Unknown System Models GA model generator Figure 4.7: Block diagram of GA based MMRAC The MMRAC system contains arrow-crossed block labeled as Models and this model block will store multiple models. The other arrow-crossed block labeled as Control Law computes values of changes needed in the system parameters. GA model generator will evaluate these models according to a predefined fitness function. It will select an appropriate model for the given command. A general monitoring signal is previously defined by Equation 4.1. This equation can be simplified for this flight surface control system as: (4.5) The surface flight control system needs to be viewed as a combination of set of time invariant subsystems and the GA model generator acting as model selector. The command signal is subdivided into sections which will have constant command values. In this thesis, the system is separated into the same number of subsystems as the number of different command values. For example, for the roll control system, if there are six command values then a subsystem will be identified for each command value. A model will be selected that will satisfy performance parameter for that particular command value. This model will remain the same for the duration of specific command value. 48

61 4.3.2 GA mapping onto flight surface control system The fitness function for the F-16 flight surface control system is defined by Equation 4.5. The candidate model output is used as and the system output is. In the mathematical error model given in Section 4.3, the model output is determined by the two parameters and. Both of these two parameters are limited to particular predefined values in order to keep a stable controller. (4.6) These values are obtained from the MATLAB simulation experiments. Results show that the system remains stable if these two parameters are within above limits. Therefore, both and are converted into binary numbers and taken as two genes. These two genes together form a complete chromosome. Every time the decimal value of a particular chromosome exceeds the limit domain as given by Equation 4.6, it is deleted from the population. The Table 4.4 describes the specific design of the GA model generator and model selector for this aircraft flight surface control system. Table 4.4: GA model generator GA parameter name Value Initial Population 20 Randomly generated Initial Population Within [0, 49] Chromosome Length 32 Crossover Point The point after 16 th digit Fitness function Mutation Possibility 2% 49

62 The next step is to apply the genetic algorithm to the MMRAC and embed the control scheme into the flight surface control system. The entire process is simulated in MATLAB to validate the GA based MMRAC system. 4.4 MMRAC Controlled flight surface control system simulation Single model MRAC system was described and simulated in Chapter 3. It was noted that only the yaw rotation control failed to perform within specified limits. Figure 4.8 shows tracking of the yaw control command with the GA based MMRAC system. Figure 4.8: GA based MMRAC yaw control The error is plotted in Figure 4.9 based on single model MRAC and GA based MMRAC. It can be seen that MMRAC was able to perform better than the single model MRAC. 50

63 Figure 4.9: Comparison between square-errors from normal MRAC and GA embedded MRAC for yaw control Figure 4.8 shows the command track in solid blue for GA based MMRAC and green dash-dot line track belongs to the one with single model MRAC. It can be seen that the MMRAC system converges very well from t=20 to t=80 and from t=150 to t=180. For the region between (10 & 20) and (80 & 140), the system requires more convergence time in order to obtain better control. The Mean Square Errors (MSE) of tracking results generated by GA based MMRAC and single model MRAC are shown in Table 4.5. Table 4.5: Comparison of MSE for yaw control system Controller MSE (rad/s) GA based MMRAC Single model MRAC It can be seen that yaw rotation control system response generated by GA based MMRAC has much smaller error than single model MRAC. 51

64 Pitch rotation control is plotted in Figure It shows tracks from the command line in red dash, single MRAC in green dash-dot and GA based MMRAC in solid blue. It can be seen that MMRAC is still performing better than the one with single model MRAC. Figure 4.10: MMRAC embedded pitch control result The square error with respect to command, the single model MRAC and the GA based MMRAC is shown in Figure Figure 4.11: Comparison between square-errors from single model MRAC and GA based MMRAC for pitch control 52

65 It can be seen from Figure 4.11 that from t=40 to t=42, the trajectory generated by GA based MMRAC which is represented by solid line drops much faster than the trajectory generated by single model MRAC which is the dotted line. The MSEs of GA based MMRAC and single model MRAC control systems are shown in Table 4.6. Table 4.6: Comparison of MSE for pitch control system Controller MSE (rad/s) GA based MMRAC Single model MRAC It can be seen that system response generated by GA based MMRAC has much smaller mean square error than single model MRAC. The simulation result for MMRAC for roll motion control system is shown in Figure Figure 4.12: MMRAC embedded roll control result in comparison with command signal The square error with respect to command, the single model MRAC and the GA based MMRAC for pitch control is shown in Figure

66 Figure 4.13: Comparison between square-errors from normal MRAC and GA based MRAC for roll control Figure 4.13 provides the comparison of square errors generated by GA based MMRAC which is represented by solid line and single model MRAC which is represented by dotted line. It can be seen that solid line drops much faster than the dotted line. Therefore system response from GA based MMRAC has less error than the single model MRAC. The mean square errors of both control schemes are shown in Table 4.7. Table 4.7: Comparison of MSE for roll control system Controller MSE (rad/s) GA based MMRAC Single model MRAC It can be seen that GA based MMRAC results in slightly smaller MSE than single model MRAC. The MSEs generated by GA based MMRAC and single model MRAC for all three rotation control systems namely yaw, pitch and roll are shown in Table

67 Table 4.8: MSE comparison for three rotation control systems (rads/seconds) Rotation control system Control Scheme Yaw Pitch Roll Single model MRAC GA based MMRAC For all three rotation control systems, GA based MMRAC controller controls the position tracking more accurately and is more stable than the single model MRAC controller. 55

68 Chapter 5 Parallel Processing Using Multi-Core The execution time of the MATLAB simulation program for MRAC and GA based MMRAC for embedded F-16 flight surface control system takes from 300 to 330 seconds. It means that for any change in command signal, the system has to wait around several seconds for the system to stabilize. This time may be too large for a comfortable ride in the plane. With the development of multi-thread computing technology and the availability of multicore CPUs and GPUs, improvement in terms of execution time is possible if these control algorithms are implemented and mapped onto a multi-core architecture [41]. In order to take advantage of multi-core techniques, programming languages such as C/C++ and other languages are necessary. The availability of multi-core processors from Intel [42] in desktop or laptop computers and.net Framework 4 from the Microsoft [43] make an attractive alternative for parallel processing and high speed computation. It was decided to port simulation to.net framework. Another reason was to exploit parallel processing for high speed computation that will bring this work one step close to its real time implementation. The simulation program uses C++ and is appropriate for its conversion into parallel program. A Parallel Patterns Library (PPL) of.net Framework 4 is available for users to parallelize computation processes in C++. Within.NET Framework 4, a Concurrency Runtime is specially designed for multi-core applications [44]. 56

69 In this chapter, multi-core architecture will be introduced and several available implementations of multi-core programming will be provided. The comparison between C++ simulation results and MATLAB simulation results will be performed. The C++ program will be analyzed, partitioned, parallelized and optimized for parallel execution. The speedups gained by several program optimization methods will be shown and compared. 5.1 Multi-core Architecture Before multi-core technology, speedup has been achieved by increasing clock speed. Over the past decades, clock speeds have been increasing exponentially. When CPU clock speed rose into the range of 3-4 GHz, the amount of electrical power generated prohibits it from going faster [45]. Issues such as power consumption, heat dissipation and leakage current make it impossible to rely only on the increasing clock speed. The new trend is to introduce multi-core processors [44]. Semiconductor manufacturers are on a band wagon of multi-cores and producing multi-core processors, many core processors, multi-core Digital Signal Processors (DSPs), Graphic Processors Units (GPUs), and General Purpose Graphic Processors Units (GPGPUs) etc. These multi-core processors will also require use of parallel processing Advantage of Multi-core Computing For single-core processors, only a single instruction can be executed at a time. This computing pattern is called serial computation. In serial computation, the execution time of a specific program highly depends on the CPU s clock speed. Faster the clock speed is higher the number of operations performed in a given time. Compared to serial 57

70 computation, multi-core architecture provides users an opportunity to perform computations in parallel. A basic parallel computation process is shown in Figure 5.1. CPU1 Program CPU2 CPU3 Figure 5.1: Parallel Computation It can be seen that a program can be partitioned into number of processes and each processes is executed by a CPU. Therefore, multiple processes execute concurrently minimizing the program execution time. Generally speaking, there are two ways of parallel processing a program as it will depend on the structure of the program. A user can identify parts of the program that can be executed in parallel or compiler can identify any inherent parallelism hidden in the program. A user can exploit parallelism at data, loop and function level. A user needs to identify part of the code that is independent of the data and instructions. The user can then exploit data level parallelism by executing independent instructions in parallel. Some applications may have loops and if they have independent data then loop level parallelism can be exploited. A loop should not be dependent on results from previous loops. In other cases, computations may be heavily dependent on each other. Therefore in order to execute the next loop, the previous loop has to complete first. But parallelism can still be applied because within a specific loop, there may be independent functions or processes that could be executed in a parallel fashion giving a function level parallelism. Functional level parallelism can also be characterized by commonly known term of Multiple Instructions Multiple Data (MIMD). 58

71 An entire program needs to be partitioned into number of independent processes which can be executed independently. A process can be further partitioned into number of threads which are group of instructions. Processes are assigned to different CPUs and threads are in the waiting queue for the next execution cycle. The job of assignment is performed by a scheme called process scheduler. Each process executes as a part of a program. These processes are independent with each other; therefore they can be executed concurrently. The partitioning process is shown in Figure 5.2. Thread1 Thread1 Thread1 Thread1 Thread2 Thread2 Thread2 Thread2 Threadi Threadi Threadi Threadi Core 1 Core 2 Core 3 Core n Process Scheduler Process 1 Process 2 Process 3 Process n Figure 5.2: Program partitioning process Overhead behind Multi-core Computing Multi-core parallel programming can result in communication overhead. When a program is partitioned into different tasks or processes, data pieces have to be transferred into local memories of different CPUs from global memory or vice versa. Therefore the effort of data transferring and writing back to different memories is considered as an overhead. 59

72 The amount of computation of a process has to be large as compared to the overhead generated by partitioning. The larger a process gets, the less overhead becomes relatively. It is important to note that an individual partition should always be as large as possible in order to offset the cost of overhead Multi-core CPU In this thesis, Intel Core TM i5-520m is selected as the multi-core processor for GA based MMRAC F-16 flight surface control system. Some of the important specifications of i5 are listed in Table 5.1 [37]. Table 5.1: Specifications of Intel Core TM i5-520m Processor Number i5-520m Number of Cores 2 Number of Threads 4 Clock Speed 2.4 GHz Max Turbo Frequency GHz Intel Smart Cache Instruction Set 3 MB 64-bit 5.2 F-16 Flight Surface Control System Simulation in C++ A new simulation program in C++ is developed with similar structure as discussed in Chapter 3. For the ease of illustration, only pitch position tracking results will be shown in this chapter. The new C++ program shows pitch position tracking trajectories similar to the one previously obtained using MATLAB simulation. One of the limitations of.net Framework 4, is that figures could not be plotted by the environment itself. In order to show 60

73 the final tracking trajectory, tracking data is saved in a.dat file and MATLAB is used again to call the.dat file and to show data graphically. The pitch position tracking of GA based MMRAC control system is shown in Figure 5.3. Figure 5.3: Pitch Control Tracking of GA based MMRAC system in C++ The objective of exploiting available multi-core technology is to gain as much speedup as possible. Therefore, the execution time of this C++ simulation program has to be recorded as a base line for future coding optimization. The simulation program was executed ten times and its execution time of each run was recorded. The average time is saved as the final execution time. The execution time of future parallelized programs will also be computed in similar fashion. For the serial C++ program, the execution time is shown in Table

74 Table 5.2: Execution Time of Serial C++ Simulation Run Number Execution Time (s) Average Time Analysis of the C++ Code The flight surface control system contains main object body as the major loop as was shown in Figure 3.3. The object body contains code for Runge-Kutta to solve partial differential equations iteratively in numerical fashion. The object body needs to iterate times. The program was explored to uncover opportunities for exploitation of the parallel processing. It was discovered that every execution of objects body required computation of fourteen independent functions. It should also be noted that it was repeated times. Therefore the program provided an opportunity to exploit function level parallelism. Fourteen independent functions were coded to exploit function level parallelism. 62

75 .NET Framework 4 provides Parallel Pattern Library (PPL) which enables exploitation of parallel processing. This library contains several keywords including parallel_for and parallel_invoke. parallel_for is perfect for SIMD which runs a single instruction a number of times over multiple data. parallel_invoke invokes several processes at the same time and all of them can be executed in parallel. Therefore, parallel_invoke feature is used and program was restructured accordingly. The computation time of the new structured parallel program reduced from to Figure 5.4 shows percentage of CPU utilization for execution of serial program. Similarly Figure 5.5 shows percentage of CPU utilization for execution of parallel program. It can be seen from both figures that the CPU utilization jumps from 19% to almost 100% in case of parallel program. Table 5.3 shows execution times of newly structured parallel program. It can be seen that the average execution time is seconds. Figure 5.4: CPU Usage of Serial Program 63

76 Figure 5.5: CPU Usage of Parallel Program Without changing the structure of the program, the function level parallelized C++ code performs already a lot better than its serial counterpart. 64

77 Table 5.3: Execution Time of Parallelized single model MRAC C++ Simulation Run Number Execution Time(s) Average Time Speedup Next, new parallel program is further explored for reducing execution time via optimization of cache hits, memory allocation, increase in parallelized functions and reducing any other repeated processes. 5.4 Restructure of Parallel Program Cache hits and memory allocation Cache is a kind of memory that transparently stores data so that future requests for that piece of data can be accessed in reduced time. Cache provides access time faster than the memory and slower than on-chip registers. The data storage can be structured in a pyramid 65

78 form as shown in Figure 5.6. Higher the storage option is in the pyramid; faster the data can be accessed. Data can be saved into cache right after its computation and it remains in cache until it is replaced by other data. This replacement is performed when either no more requests for this data occurs in a certain time or space is needed by some other processes. CPU Cache Memory Figure 5.6: Pyramid Data Storage Generally modern processors are organized in three levels of caches namely L1, L2 and L3. A piece of data in L1 which gets no more requests is downgraded into L2 and then to L3 if it is not accessed by the processor on regular basis. It could be sent to the main memory if it is not used for certain duration. One way to increase its execution speed is to increase data fetching from the cache. This will require a rearrangement of the entire program. Consider following code 1 parametera= processa( ); 2 parameterb= processb( ); 3 parameterc=processc( ); 4 processd( ); // independent of A,B or C 5 processe( );//independent of A,B or C n parameterf=function (parametera, parameterb, parameterc); 66

79 In this code parametera, parameterb and parameterc are calculated at the beginning of this code and then they are fetched again after some time as calling data to execute four functions. In this case these parameters are not used for some time and might have moved back to the main memory. They were called again and then they need to be moved to L1 cache for further processing of functions. This data fetching after long time will contribute to unnecessary waste of time especially if it is performed times. Therefore, in order to increase cache hits, the code can be rearranged as: 1 parametera= processa( ); 2 parameterb= processb( ); 3 parameterc=processc( ) ; 4 parameterf=function (parametera, parameterb, parameterc); 5 processd( ); // independent of A,B or C 6 processe( );//independent of A,B or C Similar to cache hits, memory allocation is another important issue in data transfer process especially for large amount of data or large number of repeated operations. This is true due to availability of multiple memories such as global, local or on-chip memories. Every single modification saves a bit of time on data fetching and writing back. If this saving is achieved on every of the iterations then it can lead to lot of savings in the computation time. The primary idea is to allocate memory space for data in such a memory space that can reduce data communication time. There are fourteen functions that are executed in parallel. Ten of the fourteen functions have approximately 108 pieces of data that are stored in the form of look up tables inside the function itself. Data for the pointer function *damp has the following form: 67

80 1 functiona( ) { 2 double coefficient matrix [9][12]; //initiate a 9*12 matrix 3 parameterb= processb( ); // a number from matrix is needed 4 parameterc=processc( ) ; //a number from matrix is needed 5 parameterd=processd;// a number from matrix is needed 6 Return value; }; Therefore this data will be moved first from one memory storage area to another. It will also require rebuilding of this data structure in every function call. If there are calls then there will be lot of execution time allocated to the data initialization. In C++, data claimed within { } needs to be initialized every time the function gets called. In another word, any data initialization within a function is defined in local memory. As an alternative, data could also be initialized outside a function as global data. This kind of data only needs to be defined once and would be available until the entire program is terminated. One idea is to move data access from a local memory to a global memory so it can be accessed without any kind of initialization process. This movement and initialization at one time only will save enormous amount of time especially if it is called times. A modified version of this 9 12 data matrix used as a look up table will have the following form: 1 double coefficient matrix [9][12]; //initiate a 9*12 matrix 2 functiona( ) { 3 parameterb= processb( ); // a number from matrix is needed 4 parameterc=processc( ) ; //a number from matrix is needed 5 parameterd=processd;// a number from matrix is needed 6 Return value; }; With this change in look up table, the compiler will simply fetch the matrix from the global memory for this function functiona only once. This function runs times 68

81 contributing towards enormous time saving. This flight surface control program has ten such functions and this allocation of data at another location results in computational time savings Increasing Parallelism by Reducing Repeated Processes Functions utilize a number of parameters and series of instructions to compute an array of results as shown in Figure 5.7. Parameters Line 1 Line 2 Line 3 Line N Return Values Figure 5.7: Architecture of a calling Function The main idea is to detect whether there are other series of instructions that conform the pattern in Figure 5.7 and are a candidate to become a function. Further analysis of the flight surface controller revealed following code inside the main code of object body and was being executed times. This code was formed into a function and was moved out of the object body. This movement of data resulted in avoiding execution of this code times. As an example, the following codes computes one value ( parameterx ) based on two parameters ( a and b ). 69

82 1 parametera=processa(a, b) ; 3 parameterb= processb(a, b); 4 parameterc=processc(a, b) ; //every instruction depends on a and b 5 parametern=processn(a,b); 6 parameterx=processx(parametera,.); It could be transformed into one function as a new calling function that can be executed in parallel. One of the goals of the parallel processing is to keep every core busy all the time. The other aspect is to partition code uniformly so all cores are busy. Therefore, it will be necessary to keep equal amount of code and reduce any unnecessary data transfer. Another objective is to reduce unnecessary assignment of constant values inside the loop especially if the loop is being executed thousands of time. The main idea behind this is to make sure constant values or values that are not changing inside the loop needs to be moved out of the loop. Any parameter that is shared with several (ten in this example) functions needs to stay in the main function. It will avoid unnecessary loading of the sharable parameters. For example, within fourteen functions, ten of them need to calculate indexes to fetch data from look up tables. These indexes are the same for all functions. Therefore this index calculation process should be executed in the main function and just transfer the indexes to the calling functions. With this modification, the process only needs to be calculated once instead of ten times and repeated times. 70

83 5.4.3 Other Possible Code Optimization Methods There are other possible code modifications and optimization techniques and four of them are given as [40]: 1. Parameters calculated by internal built-in functions such as cos, sin and abs etc. could be saved as another parameter in order to avoid their repeated computation. This scheme has been exploited in this flight surface control system. 2. Reduce if, else statements as these conditional branch processes can slow the program execution. This is due to the use of pipeline execution of instructions by the most modern processors. 3. Remove as much as possible any data initializations such as constant matrices in order to reduce data communication. 4. Reduce parameter numbers that needs to be transferred from one calling functions to another in order to decrease data communication. This will require truncation of code in partitioning process at appropriate locations to reduce data communications. It is important to note that every code optimization method is sensitive to communication overhead. For a specific piece of program, some methods work much more effectively than others. Careful computation time optimization is necessary. Repeated experiments should be planned out and execution time should be recorded in order to select the best optimized solution. 5.5 Performance of Optimized Parallel Program After repeated experiments and comparisons, the entire program is restructured and optimized to a level that is parallelized to the most extent as possible. The screen shot of the 71

84 execution result of pitch rotation control system with single model MRAC is shown in Figure 5.8. Figure 5.8: Snapshot of Execution Result The execution time of the pitch control program with single MRAC controller was recorded and is shown in Table

Design and Development of Unmanned Tilt T-Tri Rotor Aerial Vehicle

Design and Development of Unmanned Tilt T-Tri Rotor Aerial Vehicle Design and Development of Unmanned Tilt T-Tri Rotor Aerial Vehicle K. Senthil Kumar, Mohammad Rasheed, and T.Anand Abstract Helicopter offers the capability of hover, slow forward movement, vertical take-off

More information

1. INTRODUCTION. Constrained Control Allocation for Systems with Redundant Control Effectors

1. INTRODUCTION. Constrained Control Allocation for Systems with Redundant Control Effectors 1. INTRODUCTION Control allocation algorithms determine how the controls of a system should be positioned so that they produce some desired effect. Constrained controls have limits on their maximum positions

More information

Design & Optimization Fuzzy Logic Controller for General Helicopter Model

Design & Optimization Fuzzy Logic Controller for General Helicopter Model Design & Optimization Fuzzy Logic Controller for General Helicopter Model Hasan A. AbuMeteir Graduated Student of Control Engineering IUG Gaza-Palestine hmeteir@gmail.com Abstract Helicopter aviation is

More information

2. REVIEW OF LITERATURE

2. REVIEW OF LITERATURE 2. REVIEW OF LITERATURE Early attempts to perform control allocation for aircraft with redundant control effectors involved various control mixing schemes and ad hoc solutions. As mentioned in the introduction,

More information

A Simplified Vehicle and Driver Model for Vehicle Systems Development

A Simplified Vehicle and Driver Model for Vehicle Systems Development A Simplified Vehicle and Driver Model for Vehicle Systems Development Martin Bayliss Cranfield University School of Engineering Bedfordshire MK43 0AL UK Abstract For the purposes of vehicle systems controller

More information

AERODYNAMIC MODELING USING FLIGHT MECHANICAL SIMULATIONS, FLIGHT TEST AND OPTIMIZATION

AERODYNAMIC MODELING USING FLIGHT MECHANICAL SIMULATIONS, FLIGHT TEST AND OPTIMIZATION 25 TH INTERNATIONAL CONGRESS OF THE AERONAUTICAL SCIENCES AERODYNAMIC MODELING USING FLIGHT MECHANICAL SIMULATIONS, FLIGHT TEST AND OPTIMIZATION Per Weinerfelt*, Roger Larsson* Saab Aerosystems Flight

More information

Aircraft Stability and Performance 2nd Year, Aerospace Engineering. Dr. M. Turner

Aircraft Stability and Performance 2nd Year, Aerospace Engineering. Dr. M. Turner Aircraft Stability and Performance 2nd Year, Aerospace Engineering Dr. M. Turner Basic Info Timetable 15.00-16.00 Monday ENG LT1 16.00-17.00 Monday ENG LT1 Typical structure of lectures Part 1 Theory Part

More information

OPTIMIZED TRAJECTORY TRACKING FOR A HYPERSONIC VEHICLE IN VERTICAL FLIGHT

OPTIMIZED TRAJECTORY TRACKING FOR A HYPERSONIC VEHICLE IN VERTICAL FLIGHT OPTIMIZED TRAJECTORY TRACKING FOR A HYPERSONIC VEHICLE IN VERTICAL FLIGHT By ERIK J. KITTRELL A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

More information

5. GENERALIZED INVERSE SOLUTIONS

5. GENERALIZED INVERSE SOLUTIONS 5. GENERALIZED INVERSE SOLUTIONS The Geometry of Generalized Inverse Solutions The generalized inverse solution to the control allocation problem involves constructing a matrix which satisfies the equation

More information

AIR LOAD CALCULATION FOR ISTANBUL TECHNICAL UNIVERSITY (ITU), LIGHT COMMERCIAL HELICOPTER (LCH) DESIGN ABSTRACT

AIR LOAD CALCULATION FOR ISTANBUL TECHNICAL UNIVERSITY (ITU), LIGHT COMMERCIAL HELICOPTER (LCH) DESIGN ABSTRACT AIR LOAD CALCULATION FOR ISTANBUL TECHNICAL UNIVERSITY (ITU), LIGHT COMMERCIAL HELICOPTER (LCH) DESIGN Adeel Khalid *, Daniel P. Schrage + School of Aerospace Engineering, Georgia Institute of Technology

More information

State Space System Modeling of a Quad Copter UAV

State Space System Modeling of a Quad Copter UAV Indian Journal of Science Technology, Vol 9(27), DOI: 10.17485/ijst/2016/v9i27/95239, July 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 State Space System Modeling of a Quad Copter UAV Zaid

More information

Horizontal Flight Dynamics Simulations using a Simplified Airplane Model and Considering Wind Perturbation

Horizontal Flight Dynamics Simulations using a Simplified Airplane Model and Considering Wind Perturbation Horizontal Flight Dynamics Simulations using a Simplified Airplane Model and Considering Wind Perturbation Dan N. DUMITRIU*,1,2, Andrei CRAIFALEANU 2, Ion STROE 2 *Corresponding author *,1 SIMULTEC INGINERIE

More information

Lecture VI: Constraints and Controllers

Lecture VI: Constraints and Controllers Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening

More information

Figure (2) The arrows show the directions of the hinge vectors and the hinge orientation angles (φ h )

Figure (2) The arrows show the directions of the hinge vectors and the hinge orientation angles (φ h ) In this example we will analyze a rocket vehicle during level flight. It is controlled by five aerosurfaces and a fixed engine, similar to the vehicle shown in Figure (1). The control surfaces are: two

More information

AERODYNAMIC DESIGN OF FLYING WING WITH EMPHASIS ON HIGH WING LOADING

AERODYNAMIC DESIGN OF FLYING WING WITH EMPHASIS ON HIGH WING LOADING AERODYNAMIC DESIGN OF FLYING WING WITH EMPHASIS ON HIGH WING LOADING M. Figat Warsaw University of Technology Keywords: Aerodynamic design, CFD Abstract This paper presents an aerodynamic design process

More information

Fixed Wing Models 45

Fixed Wing Models 45 Fixed Wing Models 45 FLAP FLAPERON Flap Flaperon Mixer Aileron Rudder Mixer Aileron Differential Mixer The mixer "F-A" allows an adjustable portion of the flap control system to be fed to the aileron channels

More information

Experimental study of UTM-LST generic half model transport aircraft

Experimental study of UTM-LST generic half model transport aircraft IOP Conference Series: Materials Science and Engineering PAPER OPEN ACCESS Experimental study of UTM-LST generic half model transport aircraft To cite this article: M I Ujang et al 2016 IOP Conf. Ser.:

More information

Introduction to Computing and Systems Architecture

Introduction to Computing and Systems Architecture Introduction to Computing and Systems Architecture 1. Computability A task is computable if a sequence of instructions can be described which, when followed, will complete such a task. This says little

More information

Introduction. AirWizEd User Interface

Introduction. AirWizEd User Interface Introduction AirWizEd is a flight dynamics development system for Microsoft Flight Simulator (MSFS) that allows developers to edit flight dynamics files in detail, while simultaneously analyzing the performance

More information

Design and Analysis of Control Bay Used in Guided Missile

Design and Analysis of Control Bay Used in Guided Missile Design and Analysis of Control Bay Used in Guided Missile Ragam Prashanth 1, D.Muppala 2, Nirmith Mishra 3 1PG Student, Department of Aerospace, MLR Inst of Tech and Management, Hyderabad, Telangana, India

More information

Study of a neural network-based system for stability augmentation of an airplane

Study of a neural network-based system for stability augmentation of an airplane Study of a neural network-based system for stability augmentation of an airplane Author: Roger Isanta Navarro Report Supervisors: Oriol Lizandra Dalmases Fatiha Nejjari Akhi-Elarab Aeronautical Engineering

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

What s New in AAA? Design Analysis Research. Version 3.3. February 2011

What s New in AAA? Design Analysis Research. Version 3.3. February 2011 Design Analysis Research What s New in AAA? Version 3.3 February 2011 AAA 3.3 contains various enhancements and revisions to version 3.2 as well as bug fixes. This version has 287,000 lines of code and

More information

Exploiting a database to predict the in-flight stability of the F-16

Exploiting a database to predict the in-flight stability of the F-16 Exploiting a database to predict the in-flight stability of the F-16 David Amsallem and Julien Cortial December 12, 2008 1 Introduction Among the critical phenomena that have to be taken into account when

More information

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY BHARAT SIGINAM IN

More information

Introduction to ANSYS CFX

Introduction to ANSYS CFX Workshop 03 Fluid flow around the NACA0012 Airfoil 16.0 Release Introduction to ANSYS CFX 2015 ANSYS, Inc. March 13, 2015 1 Release 16.0 Workshop Description: The flow simulated is an external aerodynamics

More information

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li International Conference on Applied Science and Engineering Innovation (ASEI 215) Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm Yinling Wang, Huacong Li School of Power and

More information

OPTIMAL CONTROL SURFACE MIXING OF A RHOMBOID WING UAV

OPTIMAL CONTROL SURFACE MIXING OF A RHOMBOID WING UAV OPTIMAL CONTROL SURFACE MIXING OF A RHOMBOID WING UAV E Miles*, BA Broughton**, *Council for Scientific and Industrial Research, **Incomar Aeronautics emiles@csir.co.za, bbroughton@incoaero.com Keywords:

More information

An object in 3D space

An object in 3D space An object in 3D space An object's viewpoint Every Alice object has a viewpoint. The viewpoint of an object is determined by: The position of the object in 3D space. The orientation of the object relative

More information

DETERMINING PARETO OPTIMAL CONTROLLER PARAMETER SETS OF AIRCRAFT CONTROL SYSTEMS USING GENETIC ALGORITHM

DETERMINING PARETO OPTIMAL CONTROLLER PARAMETER SETS OF AIRCRAFT CONTROL SYSTEMS USING GENETIC ALGORITHM DETERMINING PARETO OPTIMAL CONTROLLER PARAMETER SETS OF AIRCRAFT CONTROL SYSTEMS USING GENETIC ALGORITHM Can ÖZDEMİR and Ayşe KAHVECİOĞLU School of Civil Aviation Anadolu University 2647 Eskişehir TURKEY

More information

CFD ANALYSIS OF UAVs USING VORSTAB, FLUENT, AND ADVANCED AIRCRAFT ANALYSIS SOFTWARE. Benjamin Sweeten

CFD ANALYSIS OF UAVs USING VORSTAB, FLUENT, AND ADVANCED AIRCRAFT ANALYSIS SOFTWARE. Benjamin Sweeten CFD ANALYSIS OF UAVs USING VORSTAB, FLUENT, AND ADVANCED AIRCRAFT ANALYSIS SOFTWARE BY Benjamin Sweeten Submitted to the graduate degree program in Aerospace Engineering and the Graduate Faculty of the

More information

Validation of a numerical simulation tool for aircraft formation flight.

Validation of a numerical simulation tool for aircraft formation flight. Validation of a numerical simulation tool for aircraft formation flight. T. Melin Fluid and Mechatronic Systems, Department of Management and Engineering, the Institute of Technology, Linköping University,

More information

Flight Test Research

Flight Test Research Flight Test Research Principal Investigator:Mike Bragg and Tom Ratvasky Post Doc s: Andy Broeren Sam Lee Graduate Students: James Melody Edward Whalen Core Technologies SMART ICING SYSTEMS Research Organization

More information

Robust Controller Design for an Autonomous Underwater Vehicle

Robust Controller Design for an Autonomous Underwater Vehicle DRC04 Robust Controller Design for an Autonomous Underwater Vehicle Pakpong Jantapremjit 1, * 1 Department of Mechanical Engineering, Faculty of Engineering, Burapha University, Chonburi, 20131 * E-mail:

More information

EFFICIENT ATTACKS ON HOMOPHONIC SUBSTITUTION CIPHERS

EFFICIENT ATTACKS ON HOMOPHONIC SUBSTITUTION CIPHERS EFFICIENT ATTACKS ON HOMOPHONIC SUBSTITUTION CIPHERS A Project Report Presented to The faculty of the Department of Computer Science San Jose State University In Partial Fulfillment of the Requirements

More information

Make to Innovate Cardinal Flight Aerodynamics Team

Make to Innovate Cardinal Flight Aerodynamics Team Make to Innovate Cardinal Flight Aerodynamics Team Group Members: Alexander Scott Benjamin Vanduyne Brandon Ganey Joseph Cairo Lyle Sorensen 1 Abstract The purpose for this milestone was to construct an

More information

EE6102 Multivariable Control Systems

EE6102 Multivariable Control Systems EE612 Multivariable Control Systems Homework Assignments for Part 2 Prepared by Ben M. Chen Department of Electrical & Computer Engineering National University of Singapore April 21, 212 EE612 Multivariable

More information

Trajectory Planning for Reentry Maneuverable Ballistic Missiles

Trajectory Planning for Reentry Maneuverable Ballistic Missiles International Conference on Manufacturing Science and Engineering (ICMSE 215) rajectory Planning for Reentry Maneuverable Ballistic Missiles XIE Yu1, a *, PAN Liang1,b and YUAN ianbao2,c 1 College of mechatronic

More information

DYNAMICS OF A VORTEX RING AROUND A MAIN ROTOR HELICOPTER

DYNAMICS OF A VORTEX RING AROUND A MAIN ROTOR HELICOPTER DYNAMICS OF A VORTEX RING AROUND A MAIN ROTOR HELICOPTER Katarzyna Surmacz Instytut Lotnictwa Keywords: VORTEX RING STATE, HELICOPTER DESCENT, NUMERICAL ANALYSIS, FLOW VISUALIZATION Abstract The main goal

More information

Vector Decomposition

Vector Decomposition Projectile Motion AP Physics 1 Vector Decomposition 1 Coordinate Systems A coordinate system is an artificially imposed grid that you place on a problem. You are free to choose: Where to place the origin,

More information

ET312 GPS-UAV Development Platform. Part 2: Flight dynamics and control theory

ET312 GPS-UAV Development Platform. Part 2: Flight dynamics and control theory ET312 GPS-UAV Development Platform Part 2: Flight dynamics and control theory ET312 GPS-UAV Development Platform This is the second part of a three part series of manuals for the ET312 GPS-UAV. The first

More information

LESSONS FROM WIND TUNNEL MODELS MADE BY RAPID PROTOTYPING

LESSONS FROM WIND TUNNEL MODELS MADE BY RAPID PROTOTYPING LESSONS FROM WIND TUNNEL MODELS MADE BY RAPID PROTOTYPING Ehud Kroll Faculty of Aerospace Engineering Technion Israel Institute of Technology Technion City, Haifa 32000, Israel Dror Artzi Faculty of Aerospace

More information

CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH

CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH 27 CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH 2.1 INTRODUCTION The standard technique of generating sensor data for navigation is the dynamic approach. As revealed in the literature (John Blakelock

More information

Zero Launch Angle. since θ=0, then v oy =0 and v ox = v o. The time required to reach the water. independent of v o!!

Zero Launch Angle. since θ=0, then v oy =0 and v ox = v o. The time required to reach the water. independent of v o!! Zero Launch Angle y h since θ=0, then v oy =0 and v ox = v o and based on our coordinate system we have x o =0, y o =h x The time required to reach the water independent of v o!! 1 2 Combining Eliminating

More information

Wind tunnel experiments on a rotor model in yaw

Wind tunnel experiments on a rotor model in yaw Nord-Jan ermeer Faculty of Civil Engineering and Geosciences Stevinweg 8 CN Delft The Netherlands Tel: + 78 Fax: + 78 7 E-mail: n.vermeer@ct.tudelft.nl http://www.ct.tudelft.nl/windenergy/ivwhome.htm The

More information

Design of a Three-Axis Rotary Platform

Design of a Three-Axis Rotary Platform Design of a Three-Axis Rotary Platform William Mendez, Yuniesky Rodriguez, Lee Brady, Sabri Tosunoglu Mechanics and Materials Engineering, Florida International University 10555 W Flagler Street, Miami,

More information

Caution Notes. Features. Specifications. A3-L User Manual V1.0

Caution Notes. Features. Specifications. A3-L User Manual V1.0 Caution Notes Thank you for choosing our products. If any difficulties are encountered while setting up or operating it, please consult this manual first. For further help, please don t hesitate to contact

More information

Effect of Uncertainties on UCAV Trajectory Optimisation Using Evolutionary Programming

Effect of Uncertainties on UCAV Trajectory Optimisation Using Evolutionary Programming 2007 Information, Decision and Control Effect of Uncertainties on UCAV Trajectory Optimisation Using Evolutionary Programming Istas F Nusyirwan 1, Cees Bil 2 The Sir Lawrence Wackett Centre for Aerospace

More information

VIBRATION ISOLATION USING A MULTI-AXIS ROBOTIC PLATFORM G.

VIBRATION ISOLATION USING A MULTI-AXIS ROBOTIC PLATFORM G. VIBRATION ISOLATION USING A MULTI-AXIS ROBOTIC PLATFORM G. Satheesh Kumar, Y. G. Srinivasa and T. Nagarajan Precision Engineering and Instrumentation Laboratory Department of Mechanical Engineering Indian

More information

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm Acta Technica 61, No. 4A/2016, 189 200 c 2017 Institute of Thermomechanics CAS, v.v.i. Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm Jianrong Bu 1, Junyan

More information

Validation of an Unstructured Overset Mesh Method for CFD Analysis of Store Separation D. Snyder presented by R. Fitzsimmons

Validation of an Unstructured Overset Mesh Method for CFD Analysis of Store Separation D. Snyder presented by R. Fitzsimmons Validation of an Unstructured Overset Mesh Method for CFD Analysis of Store Separation D. Snyder presented by R. Fitzsimmons Stores Separation Introduction Flight Test Expensive, high-risk, sometimes catastrophic

More information

Missile External Aerodynamics Using Star-CCM+ Star European Conference 03/22-23/2011

Missile External Aerodynamics Using Star-CCM+ Star European Conference 03/22-23/2011 Missile External Aerodynamics Using Star-CCM+ Star European Conference 03/22-23/2011 StarCCM_StarEurope_2011 4/6/11 1 Overview 2 Role of CFD in Aerodynamic Analyses Classical aerodynamics / Semi-Empirical

More information

Modeling and Control of a Simulated Flight of a Mini Helicopter Using Matlab/Simulink

Modeling and Control of a Simulated Flight of a Mini Helicopter Using Matlab/Simulink International Conference on Computer, Communications and Information Technology (CCIT 2014) Modeling and Control of a Simulated Flight of a Mini Helicopter Using Matlab/Simulink Mohamed Yacine Chachou,

More information

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION Kevin Worrall (1), Douglas Thomson (1), Euan McGookin (1), Thaleia Flessa (1) (1)University of Glasgow, Glasgow, G12 8QQ, UK, Email: kevin.worrall@glasgow.ac.uk

More information

Application of Wray-Agarwal Turbulence Model for Accurate Numerical Simulation of Flow Past a Three-Dimensional Wing-body

Application of Wray-Agarwal Turbulence Model for Accurate Numerical Simulation of Flow Past a Three-Dimensional Wing-body Washington University in St. Louis Washington University Open Scholarship Mechanical Engineering and Materials Science Independent Study Mechanical Engineering & Materials Science 4-28-2016 Application

More information

This was written by a designer of inertial guidance machines, & is correct. **********************************************************************

This was written by a designer of inertial guidance machines, & is correct. ********************************************************************** EXPLANATORY NOTES ON THE SIMPLE INERTIAL NAVIGATION MACHINE How does the missile know where it is at all times? It knows this because it knows where it isn't. By subtracting where it is from where it isn't

More information

SMALL HEIGHT DUCT DESIGN FOR MULTICOPTER FAN

SMALL HEIGHT DUCT DESIGN FOR MULTICOPTER FAN SMALL HEIGHT DUCT DESIGN FOR MULTICOPTER FAN Stremousov K.*, Arkhipov M.*, Serokhvostov S.* *Moscow Institute of Physics and Technology, Department of Aeromechanics and Flight Engineering 16, Gagarina

More information

Dynamical Modeling and Controlof Quadrotor

Dynamical Modeling and Controlof Quadrotor Dynamical Modeling and Controlof Quadrotor Faizan Shahid NUST PNEC Pakistan engr.faizan_shahid@hotmail.com Muhammad Bilal Kadri, Nasir Aziz Jumani, Zaid Pirwani PAF KIET Pakistan bilal.kadri@pafkiet.edu.pk

More information

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS Emre Alpman Graduate Research Assistant Aerospace Engineering Department Pennstate University University Park, PA, 6802 Abstract A new methodology

More information

Adaptive back-stepping control applied on octocopter under recoil disturbance

Adaptive back-stepping control applied on octocopter under recoil disturbance Journal of Engineering Science and Military Technologies ISSN: 2357-0954 DOI: 10.21608/ejmtc.2017.401.1004 Adaptive back-stepping control applied on octocopter under recoil disturbance GuangXue Zhang 1

More information

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions Data In single-program multiple-data (SPMD) parallel programs, global data is partitioned, with a portion of the data assigned to each processing node. Issues relevant to choosing a partitioning strategy

More information

3-axis Gyro & Flight Stabilizer for fixed-wing

3-axis Gyro & Flight Stabilizer for fixed-wing A3 Super II 3-axis Gyro & Flight Stabilizer for fixed-wing User Manual 2015.4.20 Revision For Firmware Version V1.1, V1.0, Data Version V1.0 Copyright 2011-2015 HOBBYEAGLE. All Rights Reserved. http://www.hobbyeagle.com

More information

REALTRIM PROFESSIONAL

REALTRIM PROFESSIONAL VERSION [2.0.0.0] REALTRIM PROFESSIONAL PRESENTED BY: KURT KÄFERBÖCK THIS MANUAL WAS COMPILED FOR USE ONLY WITH THE REAL TRIM SOFTWARE FOR MICROSOFT FLIGHT SIMULATOR X. THE INFORMATION CONTAINED WITHIN

More information

CLOTH - MODELING, DEFORMATION, AND SIMULATION

CLOTH - MODELING, DEFORMATION, AND SIMULATION California State University, San Bernardino CSUSB ScholarWorks Electronic Theses, Projects, and Dissertations Office of Graduate Studies 3-2016 CLOTH - MODELING, DEFORMATION, AND SIMULATION Thanh Ho Computer

More information

Revision of the SolidWorks Variable Pressure Simulation Tutorial J.E. Akin, Rice University, Mechanical Engineering. Introduction

Revision of the SolidWorks Variable Pressure Simulation Tutorial J.E. Akin, Rice University, Mechanical Engineering. Introduction Revision of the SolidWorks Variable Pressure Simulation Tutorial J.E. Akin, Rice University, Mechanical Engineering Introduction A SolidWorks simulation tutorial is just intended to illustrate where to

More information

Instantaneously trained neural networks with complex inputs

Instantaneously trained neural networks with complex inputs Louisiana State University LSU Digital Commons LSU Master's Theses Graduate School 2003 Instantaneously trained neural networks with complex inputs Pritam Rajagopal Louisiana State University and Agricultural

More information

Graphical Analysis of Kinematics

Graphical Analysis of Kinematics Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and

More information

ACCURACY MODELING OF THE 120MM M256 GUN AS A FUNCTION OF BORE CENTERLINE PROFILE

ACCURACY MODELING OF THE 120MM M256 GUN AS A FUNCTION OF BORE CENTERLINE PROFILE 1 ACCURACY MODELING OF THE 120MM M256 GUN AS A FUNCTION OF BORE CENTERLINE BRIEFING FOR THE GUNS, AMMUNITION, ROCKETS & MISSILES SYMPOSIUM - 25-29 APRIL 2005 RONALD G. GAST, PhD, P.E. SPECIAL PROJECTS

More information

Solving Tracking Problem of a Nonholonomic Wheel Mobile Robot Using Backstepping Technique

Solving Tracking Problem of a Nonholonomic Wheel Mobile Robot Using Backstepping Technique Solving Tracking Problem of a Nonholonomic Wheel Mobile Robot Using Backstepping Technique Solving Tracking Problem of a Nonholonomic Wheel Mobile Robot Using Backstepping Technique Noor Asyikin binti

More information

Lecture #3: PageRank Algorithm The Mathematics of Google Search

Lecture #3: PageRank Algorithm The Mathematics of Google Search Lecture #3: PageRank Algorithm The Mathematics of Google Search We live in a computer era. Internet is part of our everyday lives and information is only a click away. Just open your favorite search engine,

More information

An Affine Parameter Dependent Controller of An Helicopter for Various Forward Velocity Conditions İsmail Hakki Şahin 1,2, a, Coşku Kasnakoğlu 1,b

An Affine Parameter Dependent Controller of An Helicopter for Various Forward Velocity Conditions İsmail Hakki Şahin 1,2, a, Coşku Kasnakoğlu 1,b Applied Mechanics and Materials Vols. 789-79 (215) pp 167-172 (215) Trans Tech Publications, Switzerland doi:1.428/www.scientific.net/amm.789-79.167 An Affine Parameter Dependent Controller of An Helicopter

More information

Residual Advantage Learning Applied to a Differential Game

Residual Advantage Learning Applied to a Differential Game Presented at the International Conference on Neural Networks (ICNN 96), Washington DC, 2-6 June 1996. Residual Advantage Learning Applied to a Differential Game Mance E. Harmon Wright Laboratory WL/AAAT

More information

Automated calculation report (example) Date 05/01/2018 Simulation type

Automated calculation report (example) Date 05/01/2018 Simulation type Automated calculation report (example) Project name Tesla Semi Date 05/01/2018 Simulation type Moving Table of content Contents Table of content... 2 Introduction... 3 Project details... 3 Disclaimer...

More information

STUDY ABOUT THE STABILITY AND CONTROL OF A ROTOR AIRPLANE

STUDY ABOUT THE STABILITY AND CONTROL OF A ROTOR AIRPLANE STUDY ABOUT THE STABILITY AND CONTROL OF A ROTOR AIRPLANE Victor Stafy Aristeu Silveira Neto victorstafy@aero.ufu.br aristeus@ufu.br Fluid Mechanics Laboratory- MFlab, Federal University of Uberlândia-

More information

ECLIPSE 500. Flight Controls. Do Not Use For Flight

ECLIPSE 500. Flight Controls. Do Not Use For Flight ECLIPSE 500 Flight Controls Do Not Use For Flight 3. Flight Controls 3.1 General The flight control system consists of primary flight controls (ailerons, rudder, and elevator) and secondary flight controls

More information

Estimating Vertical Drag on Helicopter Fuselage during Hovering

Estimating Vertical Drag on Helicopter Fuselage during Hovering Estimating Vertical Drag on Helicopter Fuselage during Hovering A. A. Wahab * and M.Hafiz Ismail ** Aeronautical & Automotive Dept., Faculty of Mechanical Engineering, Universiti Teknologi Malaysia, 81310

More information

Aerodynamic Analysis of Forward Swept Wing Using Prandtl-D Wing Concept

Aerodynamic Analysis of Forward Swept Wing Using Prandtl-D Wing Concept Aerodynamic Analysis of Forward Swept Wing Using Prandtl-D Wing Concept Srinath R 1, Sahana D S 2 1 Assistant Professor, Mangalore Institute of Technology and Engineering, Moodabidri-574225, India 2 Assistant

More information

Design and Optimization of SUAV Empennage

Design and Optimization of SUAV Empennage From the SelectedWorks of Innovative Research Publications IRP India Summer June 1, 2015 Design and Optimization of SUAV Empennage Innovative Research Publications, IRP India, Innovative Research Publications

More information

Autonomous Control of Tilt Tri-Rotor Unmanned Aerial Vehicle

Autonomous Control of Tilt Tri-Rotor Unmanned Aerial Vehicle Indian Journal of Science and Technology, Vol 9(36), DOI: 10.17485/ijst/2016/v9i36/102160, September 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Autonomous Control of Tilt Tri-Rotor Unmanned

More information

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Necmettin Kaya Uludag University, Mechanical Eng. Department, Bursa, Turkey Ferruh Öztürk Uludag University, Mechanical Eng. Department,

More information

Optimizing Data Locality for Iterative Matrix Solvers on CUDA

Optimizing Data Locality for Iterative Matrix Solvers on CUDA Optimizing Data Locality for Iterative Matrix Solvers on CUDA Raymond Flagg, Jason Monk, Yifeng Zhu PhD., Bruce Segee PhD. Department of Electrical and Computer Engineering, University of Maine, Orono,

More information

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Control Part 4 Other control strategies These slides are devoted to two advanced control approaches, namely Operational space control Interaction

More information

Small Height Duct Design for 17 Multicopter Fan Considering Its Interference on Quad-copter

Small Height Duct Design for 17 Multicopter Fan Considering Its Interference on Quad-copter Small Height Duct Design for 17 Multicopter Fan Considering Its Interference on Quad-copter Stremousov K.*, Arkhipov M.* **, Serokhvostov S.* ** * Moscow Institute of Physics and Technology, Department

More information

MINISTAB SYSTEM DESCRIPTION

MINISTAB SYSTEM DESCRIPTION MINISTAB SYSTEM DESCRIPTION Quote From Grampaw Pettibone: When you are flying a helicopter with an AFCS, you re not flying the helicopter you are flying the AFCS! The sooner you learn that, the sooner

More information

INTEGRATING EXPERIMENTS AND CFD IN WEAPON AERODYNAMICS

INTEGRATING EXPERIMENTS AND CFD IN WEAPON AERODYNAMICS INTEGRATING EXPERIMENTS AND CFD IN WEAPON AERODYNAMICS T J Birch Contents Introduction to weapon aerodynamics Airframe design and aerodynamic data requirements Aerodynamic data sources Engineering methods,

More information

AMSC/CMSC 664 Final Presentation

AMSC/CMSC 664 Final Presentation AMSC/CMSC 664 Final Presentation May 9, 2017 Jon Dehn Advisor: Dr. Sergio Torres, Leidos Corporation Project Goal Build a framework for testing compute-intensive algorithms in air traffic management First

More information

Polar and Polygon Path Traversal of a Ball and Plate System

Polar and Polygon Path Traversal of a Ball and Plate System Polar and Polygon Path Traversal of a Ball and Plate System Aneeq Zia Electrical Engineering Department, LUMS School of Science and Engineering D.H.A, Lahore Cantt, 54792, Pakistan aneeq91@hotmail.com

More information

CFD Simulations of Flow over Airfoils:

CFD Simulations of Flow over Airfoils: CFD Simulations of Flow over Airfoils: An Analysis of Wind Turbine Blade Aerodynamics By: John Hamilla, Mechanical Engineering Advisor: Maria-Isabel Carnasciali, Ph.D. Abstract Wind turbines are rapidly

More information

GEOG 4110/5100 Advanced Remote Sensing Lecture 4

GEOG 4110/5100 Advanced Remote Sensing Lecture 4 GEOG 4110/5100 Advanced Remote Sensing Lecture 4 Geometric Distortion Relevant Reading: Richards, Sections 2.11-2.17 Review What factors influence radiometric distortion? What is striping in an image?

More information

Projectile Trajectory Scenarios

Projectile Trajectory Scenarios Projectile Trajectory Scenarios Student Worksheet Name Class Note: Sections of this document are numbered to correspond to the pages in the TI-Nspire.tns document ProjectileTrajectory.tns. 1.1 Trajectories

More information

EFFECT OF YAW-TILTED HINGE AXIS ON DEPLOYMENT ROBUSTNESS OF MARS AIRPLANE

EFFECT OF YAW-TILTED HINGE AXIS ON DEPLOYMENT ROBUSTNESS OF MARS AIRPLANE EFFET OF YAW-TILTED HINGE AXIS ON DEPLOYMENT ROBUSTNESS OF MARS AIRPLANE Koji Fujita* Hiroki Nagai** and Akira Oyama* * Institute of Space and Astronautical Science Japan Aerospace Exploration Agency --

More information

An Educational Rigid-Body Dynamics Physics Engine TJHSST Senior Research Project Proposal Computer Systems Lab

An Educational Rigid-Body Dynamics Physics Engine TJHSST Senior Research Project Proposal Computer Systems Lab An Educational Rigid-Body Dynamics Physics Engine TJHSST Senior Research Project Proposal Computer Systems Lab 2009-2010 Neal Milstein April 9, 2010 Abstract The goal of this project is to create a rigid-body

More information

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing Visual servoing vision allows a robotic system to obtain geometrical and qualitative information on the surrounding environment high level control motion planning (look-and-move visual grasping) low level

More information

Identification of a UAV and Design of a Hardware-in-the-Loop System for Nonlinear Control Purposes

Identification of a UAV and Design of a Hardware-in-the-Loop System for Nonlinear Control Purposes Identification of a UAV and Design of a Hardware-in-the-Loop System for Nonlinear Control Purposes Myriam Manaï and André Desbiens LOOP, Université Laval, Quebec City, Quebec, G1K 7P4, Canada Eric Gagnon

More information

ZYX User Manual V Revision

ZYX User Manual V Revision ZYX User Manual V.00 206.07.26 Revision Contents Warning and Disclaimer... 3 I. Product Introduction... 4 II. Product List... 5. Package Contents... 5 III. Mounting & Configuration... 6. Gimbal Controller

More information

Numerical Simulation Study on Aerodynamic Characteristics of the High Speed Train under Crosswind

Numerical Simulation Study on Aerodynamic Characteristics of the High Speed Train under Crosswind 2017 2nd International Conference on Industrial Aerodynamics (ICIA 2017) ISBN: 978-1-60595-481-3 Numerical Simulation Study on Aerodynamic Characteristics of the High Speed Train under Crosswind Fan Zhao,

More information

Flow Structures Extracted from Visualization Images: Vector Fields and Topology

Flow Structures Extracted from Visualization Images: Vector Fields and Topology Flow Structures Extracted from Visualization Images: Vector Fields and Topology Tianshu Liu Department of Mechanical & Aerospace Engineering Western Michigan University, Kalamazoo, MI 49008, USA We live

More information

Yaw-Roll Coupled Oscillations of a Slender Delta Wing

Yaw-Roll Coupled Oscillations of a Slender Delta Wing Yaw-Roll Coupled Oscillations of a Slender Delta Wing John C. Worley * Auburn University Aerospace Engineering, Auburn, Alabama, 3683 Reported are the results of experiments conducted on a slender delta

More information

Unmanned Aerial Vehicles

Unmanned Aerial Vehicles Unmanned Aerial Vehicles Embedded Control Edited by Rogelio Lozano WILEY Table of Contents Chapter 1. Aerodynamic Configurations and Dynamic Models 1 Pedro CASTILLO and Alejandro DZUL 1.1. Aerodynamic

More information