MPE Mathematical Problems in Engineering 1563-5147 1024-123X Hindawi Publishing Corporation 10.1155/2014/208253 208253 Research Article Stable Hovering Flight for a Small Unmanned Helicopter Using Fuzzy Control http://orcid.org/0000-0002-2637-9819 Khizer Arbab Nighat 1,2 Yaping Dai 1 Amjad Ali Syed 2,3 Xiangyang Xu 1 Xu Qingsong 1 School of Automation Beijing Institute of Technology Beijing 100081 China bit.edu.cn 2 Mehran University of Engineering and Technology Jamshoro, Sindh Pakistan muet.edu.pk 3 School of Mechatronics Beijing Institute of Technology Beijing 100081 China bit.edu.cn 2014 3182014 2014 31 03 2014 01 06 2014 14 06 2014 31 8 2014 2014 Copyright © 2014 Arbab Nighat Khizer et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Stable hover flight control for small unmanned helicopter under light air turbulent environment is presented. Intelligent fuzzy logic is chosen because it is a nonlinear control technique based on expert knowledge and is capable of handling sensor created noise and contradictory inputs commonly encountered in flight control. The fuzzy nonlinear control utilizes these distinct qualities for attitude, height, and position control. These multiple controls are developed using two-loop control structure by first designing an inner-loop controller for attitude angles and height and then by establishing outer-loop controller for helicopter position. The nonlinear small unmanned helicopter model used comes from X-Plane simulator. A simulation platform consisting of MATLAB/Simulink and X-Plane flight simulator was introduced to implement the proposed controls. The main objective of this research is to design computationally intelligent control laws for hovering and to test and analyze this autopilot for small unmanned helicopter model on X-Plane under ideal and mild turbulent condition. Proposed fuzzy flight controls are validated using an X-Plane helicopter model before being embedded on actual helicopter. To show the effectiveness of the proposed fuzzy control method and its ability to cope with the external uncertainties, results are compared with a classical PD controller. Simulated results show that two-loop fuzzy controllers have a good ability to establish stable hovering for a class of unmanned rotorcraft in the presence of light turbulent environment.

1. Introduction

Unmanned aerial vehicles (UAVs), particularly small unmanned helicopters, are gaining more interest from worldwide researchers due to their hovering ability and vertical takeoff and landing (VTOL) capability . Demand for these capabilities has increased, especially in military and civil applications, which, in turn, results in greater demands on automated control systems . Miniature helicopters come with various advantages such as small size, light weight, and low cost. However, they are under actuated, strongly coupled, and they have unmodeled dynamics and highly nonlinear systems [3, 4]. All these characteristics create significant challenges for flight control design including trajectory control and attitude control. Another major problem rarely addressed by researchers is that of the presence of wind. Wind turbulence can create large thrust variations to the helicopter, which create a challenge to maintaining a constant height. Generally, an unmanned helicopter is controlled by a remote pilot or it is autonomous according to the preprogrammed flight plans created by sophisticated dynamic automation systems. A large number of effective flight control methods have been reported for small unmanned helicopter including robust adaptive control , H control , state-dependent Riccati equation control , sliding mode control (SMC) , trajectory tracking control , back stepping control [14, 15], fuzzy logic control [16, 17], and neural network control [18, 19]. Among these methods, fuzzy logic control has received significant attention from researchers because of its ability to handle nonlinearities [6, 20]. Recently, fuzzy control has been successfully proposed for control and navigation of miniature VTOLs  and fixed wing UAVs . Hybrid intelligent control systems were used for minihelicopter , addressing the stabilization of the helicopter without requiring Takagi-Sugeno methodology. Fuzzy control was used for landing systems along with autonomous flight using MATLAB and Aerosim aeronautical simulation block set . A work on design of a fuzzy gain scheduled attitude/altitude controller for the unmanned helicopter under wind and gusts environment was reported in . Flight testing of UAVS in real environment has always been expensive due to high aviation fuel costs. Additionally, new emerging technologies require extensive flight testing; therefore, real environment testing is too expensive and uneconomical. A viable alternative is to test the flight systems in a simulation-based environment. A commercially available flight simulator “X-Plane” can be used as an engineering tool to test and validate flight characteristics of fixed and rotary wing UAVs. Due to its built-in capability of communicating flight parameters, it has been widely used for modeling and control of UAVs .

In this paper, Mamdani-based fuzzy control is proposed for small unmanned helicopter at hovering under turbulent environment, which is the most important, complicated, and sensitive flight mode. Hovering refers to the ability to hold position, height, and heading during constant flight mode; therefore, helicopter control systems require guaranteed stability at first to hold the helicopter. In order to control the hover state, the control system is synthesized by applying pilot expertise in its simplest form by means of two-loop (inner-loop and outer-loop) fuzzy control. Inner-loop design contains pitch, roll, and yaw angles and height control while outer-loop constitutes the position control. In addition, external disturbance such as air turbulence is taken into account within the system model. The small Rapter-30 V2 helicopter is selected to test this proposed fuzzy control scheme comes from X-Plane simulator. It is the most realistic flight simulator in the flight aviation domain. Additionally, another main purpose of this research is to demonstrate the possibility of modifying and testing this intelligent flight control in a fast and easy way using an appropriate flight simulator tool such as X-Plane.

The paper is organized as follows. Section 2 describes the dynamical model of small unmanned helicopter. Section 3 discusses the simulation platform consisting of flight simulator X-Plane and MATLAB. Section 4 details proposed fuzzy laws for inner- and outer-loop control. Section 5 presents the simulation results. Finally, Section 6 outlined conclusion and future research work.

2. Dynamical Model of Small Unmanned Helicopter

The nonlinear model used for small helicopter is a physical model based on . Newton’s second law and Euler equations of motion of rotation are applied to helicopter model because it is considered as a rigid body. It is also important to determine force and torque vectors which are acting upon it. Therefore, the whole motion profile of a helicopter model can be derived from the six degrees of motions equations. Three of them are translational motions and other three are assigned to rotational movement. The helicopter model shown in Figure 1 includes specific forces, velocities, angles, and related reference frames.

Helicopter model.

This paper assumed some suppositions in order to simplify and derive the final form of equations of motion. These are given as follows.

The inertial cross product is negligible.

The effect of the main rotor induced air flow on the fuselage is negligible.

There is always uniform and steady inflow at the main rotor.

Air density is assumed to be constant in hovering mode.

Rotor blade distortions are neglected during the computation of rotor thrust.

No twist is considered on the main rotor blades.

Planes of symmetry exist along the z x -axis, therefore I x y = I y z = 0 .

Planes of symmetry exist for mass along the Y Z -axis, this implies   I x z = 0 .

Small helicopter mathematical model is described in  and is divided into different submodels which interact with each other because of heavy dynamical coupling. These small submodels can be divided into two categories; one is helicopter controls and other refers to helicopter body dynamics as shown in Figure 2.

Integrated helicopter model.

2.1. Helicopter Control Surfaces

A helicopter has four control inputs to control attitude and movement. The first aileron servo control input    ( δ lat ) controls the lateral cyclic pitch on the main rotor which results in roll motion that makes the helicopter moves in the lateral direction. The second elevator servo input    ( δ long ) controls the longitudinal cyclic pitch on the main rotor which results in pitch motion that makes the helicopter moves in the longitudinal direction. The third collective pitch    ( δ coll ) controls the collective pitch on the main rotor which results in heave motion that makes the helicopter moves in the vertical direction. Finally the rudder servo input    ( δ ped ) controls the collective pitch on the tail rotor which results in yaw motion as shown in Figure 3.

Helicopter control surfaces.

2.2. Main Rotor Model

The primary source of forces and moments generation on the helicopter is due to rotation of main rotor and which usually consists of two blades and one hub. When it rotates, the blade and air-relative motion produces air power, while the hub is used to connect the blade and rotational axis. Based on classical momentum theory, thrust, induced velocity can be given as follows : (1) T mr = ( w blade - v i ) · ρ Ω R 2 a mr B c 4 , v i 2 = ( v ^ 2 2 ) 2 + ( T mr 2 · ρ · A ) 2 - v ^ 2 2 , w blade = w r + 2 3 Ω · R [ δ coll + 3 4 θ twist ] , w r = w + ( a 1 s + i s ) · u - b 1 s · v , v ^ 2 = u 2 + v 2 + w 2 · ( w r - 2 v i ) , A = π R 2 . The description of all variables is given in nomenclature. Moment equations are given as (2) L =    ( K s + T mr h mr ) sin ( b ) , M = ( K s + T mr h mr ) sin ( a ) , N = - C q A Ω 2 R 3 ρ , C q = C mr ( v i - w ) Ω R + C d 0 b c [ 1 + 7 ( u 2 + v 2 ) / 3 Ω 2 R 2 8 π R ] . The flapping dynamic equations of the main rotor are expressed in  as (3) a ˙ =    - q - a τ f +    A lon τ f δ lon , b ˙ = - p - b τ f + B lat τ f δ lat .

2.3. Tail Rotor Model

The tail rotor is used to compensate the torque about z -axis by producing a counter side force and to help in course correction. The helicopter is equipped with a gyroscope which controls tail rotor blade pitch needed to maintain angular velocity ( r ) at zero as well as adjust the thrust of tail rotor so that the helicopter does not rotate about the z -axis. As a result, the helicopter is only able to yaw by using the pedal input controlling the tail rotor. The tail rotor model is given in Figure 4. Consider (4) T tr = ( w btr - v itr ) · ρ Ω R 2 a tr B c 4 , v itr 2 = ( v ^ tr 2 2 ) 2 + ( T tr 2 · ρ · A ) 2 - v ^ tr 2 2 , w btr = w tr + 2 3 Ω · R [ δ ped + 3 4 θ twist ] , w tr = v - r d tr + p h tr , v ^ tr 2 = u 2 + ( w + q d tr ) 2 + w tr ( w tr - 2 v itr ) , Y tr = - T tr , L tr = Y tr h tr , N tr = - Y tr d tr .

Tail rotor system.

2.4. Fuselage Model

The fuselage model equations are defined under the condition v trim = u a 2 + v a 2 + w a 2 : (5) v t r i m < v i X fus = - 0.5 ρ S fus x u a v i , Y fus = - 0.5 ρ S fus y v a v i , Z fus = - 0.5 ρ S fus z ( w a - v i ) v i , v t r i m v i X fus = - 0.5 ρ S fus x u a v trim , Y fus = - 0.5 ρ S fus y v a v trim , Z fus = - 0.5 ρ S fus z ( w a - v i ) v trim .

2.5. Vertical Fin Model

The vertical fin model describes the force which is produced by tail rotor around the z -axis of the system and affects the behavior of helicopter body according to . Consider (6) Y v f =    0.5    ρ    S v f ( C l a v f | u a | v a + | u a | u a ) , | Y v f | = 0.5 ρ S h t ( u a 2 + v a 2 ) , N v f = - Y v f d v f .

2.6. Rigid Body Dynamics and Attitude Kinematics

Consider (7) u ˙ = ( v r - w q ) - g sin θ + F x m (8) v ˙ = ( w p - u r ) + g cos θ sin ϕ + F y m (9) w ˙ = ( u q - v p ) + g cos θ cos ϕ + F z m (10) p ˙ = q r ( I y y - I z z ) + L I x x (11) q ˙ = r p ( I z z - I x x ) + M I y y (12) r ˙ = p q ( I x x - I y y ) + N I z z (13) ϕ ˙ = p + q sin ϕ tan θ + r cos ϕ tan θ (14) θ ˙ = q cos ϕ - r sin ϕ (15) ψ ˙ = q sin ϕ sec θ + r cos ϕ sec θ .

3. Simulation Platform

The simulation platform is implemented using MATLAB and X-Plane, a commercially available flight simulator developed by Laminar Research. In this work X-Plane is used to provide the model of small unmanned helicopter control and to simulate its dynamics. Two computers are used for this simulation platform and communication is done through a UDP (user datagram protocol) data communication bus as shown in Figure 5.

Simulation platform.

3.1. X-Plane Flight Simulator

X-Plane flight simulator was chosen because it is certified by the Federal Aviation Administration (FAA) to train pilots  and its aircraft models are extremely accurate which ensures the simulation with high degree of accuracy as an actual flight. Apart from its realistic flight simulation capability, X-Plane also incorporates additional useful features which make it an ideal choice for experimenting and validating UAVs. It has plane marker tool which uses engineering method known as blade element theory, allows the division of aircraft model into small elements and then finds the forces acting on each element several times per second . The control algorithm is developed and stored in Simulink. During each sampling period, the control algorithm receives signals from X-Plane and outputs the control commands to X-Plane through the UDP connection. Figure 6 depicts the X-Plane input/output data window used to perform a simulation and allows the user to adjust the update rate from 1 to 99 packets per second in UDP rate.

X-Plane input/output data selecting window.

The communication speed between software is 40 packets/second were selected for this work. The UDP packet size and type depend on the amount of data being exported. Generally, the pattern of data packets being sent by X-Plane is of the following format: the first four bytes indicate the type of packet i-e “DATA,” the fifth byte is used for an internal policy, the next incoming four bytes represent what type of parameter is being sent to Simulink, and the following four bytes represent the value in single-precision float . A pattern of data packet is shown in Figure 7.

UDP packet format.

3.2. MATLAB/Simulink

MATLAB has user graphical environment and a libraries set that allow users to design, simulate, implement, and test a variety of time-varying systems relating to controls, communications, and signal/video/image processing areas. Simulink is integrated with MATLAB, which provides instant access to an extensive range of tools used to develop algorithms, analyze and visualize simulations, customize the modeling environment, and define the signal and parameters of data tested .

In this simulation platform, the MATLAB /Simulink is used as software which is responsible for processing the UDP data to and from X-Plane and controls the system for processing of data simulation. Figure 8 shows how MATLAB /Simulink and X-Plane are interconnected for this hovering control system.

Simulink-X-Plane interconnection.

4. Fuzzy Control Design

The proposed fuzzy system for hovering mode under light air turbulent environment is composed of two-loops, i-e inner-loop and outer-loop, responsible for attitude, height, and position control, respectively. First, attitude angles are used as feedback information in order to keep the helicopter stable. Second, after achieving stability through attitude angles, a height fuzzy controller is designed to control the altitude of the helicopter with high holding ability. Finally, based upon positional feedback information, an outer-loop position fuzzy controller is designed. The fuzzy inference system (FIS) for hovering mode is shown in (16) and an overall fuzzy control structure is depicted in Figure 9. Consider (16) C coll = FIS ( Height ) , C long = FIS ( pitch ) , C lat = FIS ( roll ) , C ped = FIS ( yaw ) , C pitch = FIS ( longitudinal ) , C roll = FIS ( lateral ) .

Overall fuzzy control structure.

Assume that the helicopter is working clockwise and its operation phenomena are based on the experiences of a human pilot [36, 37]. Consider the following.

While the helicopter pitching angle is negative, increase the longitudinal cycle variable which is responsible for making the pitch angle positive so that balanced attitude can be achieved.

While the helicopter fuselage is deflecting towards the left, increase latitudinal cycle variable pitch positively to balance the attitude.

While increasing the collective positively, the pedal will also be increased positively to keep the yaw balanced.

While the helicopter vertical position and velocity are negative, increase collective variable to hold the helicopter at desired height.

4.1. Inner-Loop Control

Inner-loop control constitutes of attitude and height Mamdani fuzzy control for small helicopter flight and is further divided into three angles controller i-e pitch, roll, and yaw control. Attitude angular velocity and z -position are considered to be input while cyclic pitch (longitudinal and lateral both), tail rotor pitch, and collective pitch are an output of the inner-loop control. The inner-loop control structure is depicted in Figure 10.

Inner-loop control structure.

4.1.1. Pitch Fuzzy Control

The pitch fuzzy controller is mainly concerned with the longitudinal cyclic pitch as an output and pitch angle error ( e θ ) and pitch rate ( q ) as input is shown in Figure 11 where g 1 and g 2 are input quantifying factors and g o is the output scaling factor.

Pitch angle fuzzy control framework.

The inputs and output of pitch control are divided into seven, five, and nine fuzzy intervals, respectively, as shown in Figure 12 to ensure the control sensitivity and stability. Gaussian MF is selected due to its higher smoothness level than triangular MF for input and output variables. The associated rules are given in the appendix.

Input and output Gaussian MF of pitch fuzzy control.

The other two roll and yaw fuzzy controls are designed in a same way and their detailed rule description is available in the appendix.

4.1.2. Height Fuzzy Control

For height fuzzy control, it is assumed that main rotor speed has constant value; therefore the collective control corresponds to the error of vertical position ( z ) and vertical rate ( w ) . The height input and output MF are shown in Figure 13 and rules are given in the appendix.

Input and output Gaussian MF of height fuzzy control.

4.2. Outer-Loop Control

The outer-loop includes longitudinal and lateral position control of small unmanned helicopter. The control is mainly handled by main rotor longitudinal cyclic pitch and lateral cyclic pitch movement. The horizontal and vertical position fuzzy controller generates a desired attitude angle ( θ d , ϕ d ), which is further used as input to attitude fuzzy controller, in order to achieve stability. Longitudinal positional error ( e x , e y ) and velocity ( u , v ) is the input for the controller and desired pitch and roll angle is the output. Again Gaussian MF is selected for both input and output and rules are formulated on a heuristic basis. Finally, two fuzzy controllers are designed according to signs definition depicted in Figure 14, which effectively determines the desired values for the pitch and roll angle. Figure 15 shows the proposed outer-loop control architecture.

Signs definition of variables used in lateral and longitudinal motion.

Outer-loop position control structure.

4.2.1. Longitudinal Position Control

Given x -position as a reference, this longitudinal control infers the desired pitch angle ( θ d ) using the error of x -position and translational velocity ( u ). The input and output MF are shown in Figure 16 and twenty-five analogous fuzzy rules used to determine the desired pitch angle are given in the appendix. The interpretation of first rule is if the error in the position is negative and its rate of change is also negative then it means that a positive pitch angle is causing the helicopter to move away from the desired position therefore a relatively large negative pitch angle is required to slow down the longitudinal motion, reverse the velocity, and reduce the error in position. All rules are explained in this way.

Input and output Gaussian MF of longitudinal fuzzy control.

4.2.2. Lateral Position Control

Given y -position as a reference, the lateral control infers the desired roll angle ( ϕ d ) using the error of y -position and translational velocity ( v ). The input, output MF and analogous fuzzy rules are used to determine the desired roll angle and are given in the appendix. The first rule can be interpreted as follows: if the error of y -position is negative and its derivative is also negative it means that negative roll angle is causing the helicopter to move away from the desired position therefore a relatively large positive roll angle is required to slow down the lateral motion and as a result the velocity is reversed and causes a reduction in the position error. All other rules are interpreted in a similar fashion.

5. Simulation Results

The unmanned helicopter model used in the simulation platform is the Raptor-30 V2 RC helicopter. The Raptor-30 V2 is a highly maneuverable helicopter weighing 3 kg. The fuselage length is 1,150 mm and its width is approximately 140 mm.

MATLAB and X-Plane are operated on two computers and the IP addresses and port numbers used for sending and receiving packets are 10.108.29.17 and 10.108.28.65 and 49000 and 49001, respectively. The overall flight control system implemented in Simulink, using the UDP interface that communicates with X-Plane, is shown in Figures 17(a) and 17(b). In the simulation, first the system was test under the ideal weather condition without wind and randomness and then a light turbulent weather of 10 knots (4.5 m/s) wind speed, 2 knots (0.9 m/s) shear speed, and level 3 turbulence was introduced. The details of the ideal and light turbulent weather conditions are shown in Figures 18(a) and 18(b).

Overall system architecture in Simulink.

(a) Ideal weather settings in X-Plane; (b) light turbulent weather settings in X-Plane.

The mean and standard deviations of the positions are (1.57 + 04, 749.63, −1.811 + 04) and (48.49, 55.02, 215.6630) cm, respectively, for ideal weather. The corresponding mean and standard deviations of hovering heading are (2.49, −0.28, 161.1) and (1.2, 1.26, 5.26) deg. The fuzzy control is able to control the Raptor-30 V2 unmanned helicopter to hover on this specific height as shown in Figure 19.

Hovering test result of the fuzzy control under the ideal weather condition.

The mean and standard deviations of the positions are (1.52 + 04, 104.18, −1.831 + 04) and (42.49, 37.35, 217.6630) cm, respectively, for light turbulent weather. Fuzzy control is able to control the Raptor-30 V2 unmanned helicopter to hover and it is robust to operate in the real environment as shown in Figure 20.

Hovering test result of the fuzzy control under light turbulent weather condition.

When helicopter model hovers, the main rotors rotate and generate a moment which causes the rotation of body around the z -axis. This moment is counteracted through the tail rotor by producing a force in the y -axis (negative direction). This action accelerates the helicopter in the same direction, thus increasing the velocity in the same direction and causes the blades to flap positive lateral. When the lateral flapping becomes positive, this results in longitudinal flapping which becomes negative because of the cross-coupling. The lateral flapping also makes the helicopter rotate about the x -axis ( p becomes positive) and causes the velocity along y -axis to become positive ( v becomes positive). The negative longitudinal flapping causes the helicopter body to rotate negatively about y -axis ( q becomes negative) and thereby giving a positive translational velocity along x -axis ( u becomes positive). Figure 21 depicts this situation and Figure 22 shows the surface inputs to the helicopter model. As mentioned above, this fuzzy control scheme is tested using the X-Plane flight simulator model, which requires six degrees for its hover at initial levels.

Translational and angular velocities.

Surface Inputs.

Figure 23 portrays the fuzzy control response for attitude angles used in tracking the reference trajectories. Pitch and roll angles are oscillating in order to maintain these tracking signals. The oscillation of the yaw angle is due to the coupling between two inputs (collective and pedal). Figure 24 depicts the performance of proposed fuzzy two-loop controller with conventional PD control under light turbulent weather condition. The conventional PD performance observed significantly inferior compared to the fuzzy control. The flight results indicate that the fuzzy controller exhibits satisfactory behavior in the presence of light air turbulence.

Attitude fuzzy control response for tracking signals.

Hovering maneuver: reference position trajectory (black solid line) and actual position trajectory of the fuzzy (red solid line), PD (blue dashed line) controller with respect to the inertial axis.

Figure 25 shows a visual presentation of the X-Plane Rapter-30 V2 hovering using simple and robust fuzzy control.

Rapter-30 V2 at hovering.

Comment 1. It should be highlighted that the originality of this research work is the design of simple and efficient control systems for a small unmanned helicopter model Rapter-30 V2 using X-Plane flight simulator at hover. The simulation platform implements two computers with an autopilot system applied by the X-Plane model which is similar to a real rotorcraft, thus minimizing the damage risks and increasing the flexibility for on the spot design changes. Simplicity is achieved through SISO Mamdani controller design. The Mamdani fuzzy approach is selected here instead of Takagi-Sugeno approach, because it permits the inclusion of experimental knowledge for the controller synthesis, which is available from the flight of the miniature helicopter by a human pilot.

6. Conclusion

This paper attempts to introduce a dynamical model of a small scale unmanned helicopter in detail. Using an expert knowledge and pilot-based experience, a stable inner-loop and outer-loop fuzzy control for attitude, height, and position were designed to control the direction, height, and translational motion of the small unmanned helicopter. The flight control system is implemented in MATLAB/Simulink in one computer and X-Plane helicopter model on second computer to investigate the performance of fuzzy control at hovering. The communication between two computers is done by UDP using Ethernet connection. To show the effectiveness of proposed two-loop controller, light turbulent weather was introduced. Simulation results clearly shown that proposed fuzzy control successfully achieved hovering control under ideal and mild turbulent weather. The satisfactory performance of fuzzy control compared to conventional PD design was attributed to the attenuated cross-coupling effects amongst the Raptor-30 V2 dynamics. The proposed controller was able to control the small Raptor-30 V2 at desired height while keeping stable direction. The simulation results shows that the unmanned helicopter tracks an imposed trajectory with good overall performance. The implementation of intense weather condition is the next objective of work.

Appendix

NB (negative big), NM (negative medium), NS (negative small), ZE (zero), PS (positive small), PM (positive medium), PB (positive big), ZP (zero positive), and ZN (zero negative).

Pitch.Fis Rule.

If (epitch is NB) and (pitch_rate is NB) then (cyclic (long) is PB) ( 1 )

( 2 ) If (epitch is NB) and (pitch_rate is NS) then (cyclic (long) is PM) ( 1 )

( 3 ) If (epitch is NB) and (pitch_rate is ZE) then (cyclic (long) is PM) ( 1 )

( 4 ) If (epitch is NB) and (pitch_rate is PS) then (cyclic (long) is PS) ( 1 )

( 5 ) If (epitch is NB) and (pitch_rate is PB) then (cyclic (long) is ZP) ( 1 )

( 6 ) If (epitch is NM) and (pitch_rate is NB) then (cyclic (long) is PB) ( 1 )

( 7 ) If (epitch is NM) and (pitch_rate is NS) then (cyclic (long) is PM) ( 1 )

( 8 ) If (epitch is NM) and (pitch_rate is ZE) then (cyclic (long) is PS) ( 1 )

( 9 ) If (epitch is NM) and (pitch_rate is PS) then (cyclic (long) is ZP) ( 1 )

( 10 ) If (epitch is NM) and (pitch_rate is PB) then (cyclic (long) is ZE) ( 1 )

( 11 ) If (epitch is NS) and (pitch_rate is NB) then (cyclic (long) is PM) ( 1 )

( 12 ) If (epitch is NS) and (pitch_rate is NS) then (cyclic (long) is PS) ( 1 )

( 13 ) If (epitch is NS) and (pitch_rate is ZE) then (cyclic (long) is ZP) ( 1 )

( 14 ) If (epitch is NS) and (pitch_rate is PS) then (cyclic (long) is ZE) ( 1 )

( 15 ) If (epitch is NS) and (pitch_rate is PB) then (cyclic (long) is NM) ( 1 )

( 29 ) If (epitch is PM) and (pitch_rate is PS) then (cyclic (long) is NM) ( 1 )

( 30 ) If (epitch is PM) and (pitch_rate is PB) then (cyclic (long) is NB) ( 1 )

( 31 ) If (epitch is PB) and (pitch_rate is NB) then (cyclic (long) is ZN) ( 1 )

( 32 ) If (epitch is PB) and (pitch_rate is NS) then (cyclic (long) is NS) ( 1 )

( 33 ) If (epitch is PB) and (pitch_rate is ZE) then (cyclic (long) is NM) ( 1 )

( 34 ) If (epitch is PB) and (pitch_rate is PS) then (cyclic (long) is NM) ( 1 )

( 35 ) If (epitch is PB) and (pitch_rate is NB) then (cyclic (long) is NB) ( 1 )

Roll.FIS

See Figure 26.

Roll input and output MF.

Roll.FIS Rule Base.

( 1 ) If (error_roll_angle is NB) and (roll_rate is NB) then (cyclic (lat) is PB) ( 1 )

( 2 ) If (error_roll_angle is NB) and (roll_rate is NS) then (cyclic (lat) is PM) ( 1 )

( 3 ) If (error_roll_angle is NB) and (roll_rate is ZE) then (cyclic (lat) is PM) ( 1 )

( 4 ) If (error_roll_angle is NB) and (roll_rate is PS) then (cyclic (lat) is PS) ( 1 )

( 5 ) If (error_roll_angle is NB) and (roll_rate is PB) then (cyclic (lat) is ZP) ( 1 )

( 29 ) If (error_roll_angle is PM) and (roll_rate is PB) then (cyclic (lat) is NB) ( 1 )

( 30 ) If (error_roll_angle is PB) and (roll_rate is NB) then (cyclic (lat) is ZN) ( 1 )

( 31 ) If (error_roll_angle is PB) and (roll_rate is NS) then (cyclic (lat) is NS) ( 1 )

( 32 ) If (error_roll_angle is PB) and (roll_rate is ZE) then (cyclic (lat) is NM) ( 1 )

( 33 ) If (error_roll_angle is PB) and (roll_rate is PS) then (cyclic (lat) is NM) ( 1 )

( 34 ) If (error_roll_angle is PB) and (roll_rate is PB) then (cyclic (lat) is NB) ( 1 )

( 35 ) If (error_roll_angle is ZE) and (roll_rate is ZE) then (cyclic (lat) is ZE) ( 1 )

Yaw.FIS

See Figure 27.

Yaw input and output MF.

Yaw.FIS Rule Base.

( 1 ) If (error_yaw_angle is NB) and (yawrate is NB) then (pedal is NB) ( 1 )

( 2 ) If (error_yaw_angle is NB) and (yawrate is NM) then (pedal is NM) ( 1 )

( 3 ) If (error_yaw_angle is NB) and (yawrate is NS) then (pedal is NM) ( 1 )

( 4 ) If (error_yaw_angle is NB) and (yawrate is ZE) then (pedal is NS) ( 1 )

( 5 ) If (error_yaw_angle is NB) and (yawrate is PS) then (pedal is NS) ( 1 )

( 6 ) If (error_yaw_angle is NB) and (yawrate is PM) then (pedal is ZN) ( 1 )

( 7 ) If (error_yaw_angle is NB) and (yawrate is PB) then (pedal is ZE) ( 1 )

( 8 ) If (error_yaw_angle is NM) and (yawrate is NB) then (pedal is NM) ( 1 )

( 40 ) If (error_yaw_angle is PM) and (yawrate is PS) then (pedal is PS) ( 1 )

( 41 ) If (error_yaw_angle is PM) and (yawrate is PM) then (pedal is PS) ( 1 )

( 42 ) If (error_yaw_angle is PM) and (yawrate is PB) then (pedal is PM) ( 1 )

( 43 ) If (error_yaw_angle is PB) and (yawrate is NB) then (pedal is ZE) ( 1 )

( 44 ) If (error_yaw_angle is PB) and (yawrate is NM) then (pedal is ZP) ( 1 )

( 45 ) If (error_yaw_angle is PB) and (yawrate is NS) then (pedal is PS) ( 1 )

( 46 ) If (error_yaw_angle is PB) and (yawrate is ZE) then (pedal is PS) ( 1 )

( 47 ) If (error_yaw_angle is PB) and (yawrate is PS) then (pedal is PM) ( 1 )

( 48 ) If (error_yaw_angle is PB) and (yawrate is PM) then (pedal is PM) ( 1 )

( 49 ) If (error_yaw_angle is PB) and (yawrate is PB) then (pedal is PB) ( 1 )

Longitudinal position. FIS Rule Base

( 1 ) If (ex is NB) and (u is NB) then (long_ { u } is NB) ( 1 )

( 2 ) If (ex is NB) and (u is NS) then (long_ { u } is NM) ( 1 )

( 3 ) If (ex is NB) and (u is ZE) then (long_ { u } is NM) ( 1 )

( 4 ) If (ex is NB) and (u is PS) then (long_ { u } is NS) ( 1 )

( 5 ) If (ex is NB) and (u is PB) then (long_ { u } is ZN) ( 1 )

( 6 ) If (ex is NM) and (u is NB) then (long_ { u } is NB) ( 1 )

( 7 ) If (ex is NM) and (u is NS) then (long_ { u } is NM) ( 1 )

( 8 ) If (ex is NM) and (u is ZE) then (long_ { u } is NS) ( 1 )

( 9 ) If (ex is NM) and (u is PS) then (long_ { u } is NS) ( 1 )

( 10 ) If (ex is NM) and (u is PB) then (long_ { u } is ZN) ( 1 )

( 21 ) If (ex is PS) and (u is NB) then (long_ { u } is ZP) ( 1 )

( 22 ) If (ex is PS) and (u is NS) then (long_ { u } is ZP) ( 1 )

( 23 ) If (ex is PS) and (u is ZE) then (long_ { u } is PS) ( 1 )

( 24 ) If (ex is PS) and (u is PS) then (long_ { u } is PM) ( 1 )

( 25 ) If (ex is PS) and (u is PB) then (long_ { u } is PB) ( 1 )

( 26 ) If (ex is PM) and (u is NB) then (long_ { u } is ZP) ( 1 )

( 27 ) If (ex is PM) and (u is NS) then (long_ { u } is PS) ( 1 )

( 28 ) If (ex is PM) and (u is ZE) then (long_ { u } is PS) ( 1 )

( 29 ) If (ex is PM) and (u is PS) then (long_ { u } is PM) ( 1 )

( 30 ) If (ex is PM) and (u is PB) then (long_ { u } is PB) ( 1 )

( 31 ) If (ex is PB) and (u is NB) then (long_ { u } is ZP) ( 1 )

( 32 ) If (ex is PB) and (u is NS) then (long_ { u } is PS) ( 1 )

( 33 ) If (ex is PB) and (u is ZE) then (long_ { u } is PM) ( 1 )

( 34 ) If (ex is PB) and (u is PS) then (long_ { u } is PM) ( 1 )

( 35 ) If (ex is PB) and (u is PB) then (long_ { u } is PB) ( 1 )

Lateral position.FIS Rule Base

See Figure 28.

Lateral position input and output MF.

Lateral Position.FIS Rule Base.

( 1 ) If (ey is NB) and (v is NB) then (lat_ { v } is PB) ( 1 )

( 2 ) If (ey is NB) and (v is NS) then (lat_ { v } is PM) ( 1 )

( 3 ) If (ey is NB) and (v is ZE) then (lat_ { v } is PS) ( 1 )

( 4 ) If (ey is NB) and (v is PS) then (lat_ { v } is ZP) ( 1 )

( 5 ) If (ey is NB) and (v is PB) then (lat_ { v } is ZE) ( 1 )

( 6 ) If (ey is NS) and (v is NB) then (lat_ { v } is PM) ( 1 )

( 7 ) If (ey is NS) and (v is NS) then (lat_ { v } is PS) ( 1 )

( 8 ) If (ey is NS) and (v is ZE) then (lat_ { v } is ZP) ( 1 )

( 20 ) If (ey is PS) and (v is PB) then (lat_ { v } is NM) ( 1 )

( 21 ) If (ey is PB) and (v is NB) then (lat_ { v } is ZE) ( 1 )

( 22 ) If (ey is PB) and (v is NS) then (lat_ { v } is ZN) ( 1 )

( 23 ) If (ey is PB) and (v is ZE) then (lat_ { v } is NS) ( 1 )

( 24 ) If (ey is PB) and (v is PS) then (lat_ { v } is NM) ( 1 )

( 25 ) If (ey is PB) and (v is PB) then (lat_ { v } is NB) ( 1 )

Height.FIS Rule Base

( 1 ) If (ez is NB) and (w is NB) then (collective is NB) ( 1 )

( 2 ) If (ez is NB) and (w is NM) then (collective is NM) ( 1 )

( 3 ) If (ez is NB) and (w is NS) then (collective is NM) ( 1 )

( 4 ) If (ez is NB) and (w is ZE) then (collective is NS) ( 1 )

( 5 ) If (ez is NB) and (w is PS) then (collective is NS) ( 1 )

( 6 ) If (ez is NB) and (w is PM) then (collective is ZN) ( 1 )

( 7 ) If (ez is NB) and (w is PB) then (collective is ZE) ( 1 )

( 8 ) If (ez is NM) and (w is NB) then (collective is NB) ( 1 )

( 9 ) If (ez is NM) and (w is NM) then (collective is NM) ( 1 )

( 10 ) If (ez is NM) and (w is NS) then (collective is NS) ( 1 )

( 36 ) If (ez is PM) and (w is NB) then (collective is ZN) ( 1 )

( 37 ) If (ez is PM) and (w is NM) then (collective is ZE) ( 1 )

( 38 ) If (ez is PM) and (w is NS) then (collective is ZP) ( 1 )

( 39 ) If (ez is PM) and (w is ZE) then (collective is PS) ( 1 )

( 40 ) If (ez is PM) and (w is PS) then (collective is PS) ( 1 )

( 41 ) If (ez is PM) and (w is PM) then (collective is PM) ( 1 )

( 42 ) If (ez is PM) and (w is PB) then (collective is PM) ( 1 )

( 43 ) If (ez is PB) and (w is NB) then (collective is ZE) ( 1 )

( 44 ) If (ez is PB) and (w is NM) then (collective is ZP) ( 1 )

( 45 ) If (ez is PB) and (w is NS) then (collective is PS) ( 1 )

Nomenclature O b , X b , Y b , Z b :

Body reference frame (BRF)

O g , X g , Y g , Z g :

Ground reference frame (GRF)

L ( · ) * , M ( · ) * , N ( · ) * :

Moments along the BRF

C d 0 :

Main rotor blade drag coefficient

Ω ( · ) * :

Main/tail rotor rotating speed

τ f :

Main rotor time constant

v i :

Main rotor induced velocity

p , q , r :

Angular velocities

T ( · ) * :

Main/tail rotor thrust

v i :

Induced velocity

A :

Rotor disk area

β :

Blade flapping angle

( p , q , r ) :

Angular helicopter body rates, in body frame

v ^ :

Total airspeed

w blade :

Average velocity of main rotor blade relative to air

C d 0 :

drag coefficient of main rotor

A lon , B lat :

Effective steady state lateral and longitudinal gains

R mr :

Main rotor blade radius

F x , F y , F z :

Total forces along x , y , and z -axes

I x x , I y y , I z z :

Moments of inertia about x , y , and z -axes

τ f :

Main rotor blade constant

θ , ϕ , ψ :

Euler angles

a , b :

Tip-path-plane flapping angle for longitudinal and lateral

K s :

Main rotor spring constant

h ( · ) * :

Distance between the rotor head and helicopter COG

ρ :

Air density

B :

Main rotor blade number

c ( · ) * :

Main/tail blade chord length

δ coll :

Collective pitch servo input

δ ped :

Rudder servo input

δ lat :

Aileron servo input

δ long :

Elevator servo input

i s :

Shaft tilt angle

( u , v , w ) :

Velocity components relative to air defined in body-frame

θ twist :

Blade twist

h tr :

Tail rotor hub’s vertical position above COF

C q :

Intermediate variable

d tr :

Tail rotor hub’s longitudinal position behind COG

a ( · ) * :

Blade lift curve slope

p , q , r :

Angular velocities

A lon , B lat :

Longitudinal and lateral steady state gains

w r :

Rotor disk velocity relative to air

( · ) * :

Related rotor (i-e main rotor or tail rotor).

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Spanoudakis P. Doitsidis N. Tsourveloudis N. Valavanis K. P. A market overview of the vertical take-off and landing UAVs Proceedings of the Workshop on Unmanned Aerial Vehicles 11th Mediterranean Conference on Control and Automation 2003 Rhodes, Greece Valvanis K. P. Advances in Unmanned Aerial Vehicles 2007 1st New York, NY, USA Springer Bragg M. B. Basar T. Perkins W. R. Smart icing systems for aircraft icing safety Proceedings of the 40th AIAA Aerospace Sciences Meeting and Exhibit 2002 Reno, Nev, USA AIAA Castillo P. Modelling and Control of Mini-Flying Machines 2005 1st New York, NY, USA Springer Johnson E. N. Kannan S. K. Adaptive flight control for an autonomous unmanned helicopter AIAA Guidance, Navigation, and Control Conf. Exhibit August 2002 Isidori A. Marconi L. Serrani A. Robust nonlinear motion control of a helicopter IEEE Transactions on Automatic Control 2003 48 3 413 426 10.1109/TAC.2003.809147 MR1962249 2-s2.0-0037349460 Lee S. Ha C. Kim B. S. Adaptive nonlinear control system design for helicopter robust command augmentation Aerospace Science and Technology 2005 9 3 241 251 10.1016/j.ast.2004.12.007 ZBL1195.93058 2-s2.0-15844388416 la Civita M. Papageorgiou G. Messner W. C. Kanade T. Design and flight testing of an H controller for a robotic helicopter Journal of Guidance, Control, and Dynamics 2006 29 2 485 494 10.2514/1.15796 2-s2.0-33645564343 LUO C. C. LIU R. F. YANG C. D. CHANG Y. H. Helicopter H control design with robust flying quality Aerospace Science and Technology 2003 7 2 159 169 Gadewadikar J. Structured H command and control loop design for unmanned helicopters Journal of Guidance, Control, and Dynamics 2008 31 4 1093 1102 Bogdanov A. Wan E. State-dependent riccati equation control for small autonomous helicopters Journal of Guidance, Control, and Dynamics 2007 30 1 47 60 10.2514/1.21910 2-s2.0-33846861304 Sira-Ramirez H. Zribi M. Ahmad S. Dynamical sliding mode control approach for vertical flight regulation in helicopters IEE Proceedings: Control Theory and Applications 1994 141 1 19 24 10.1049/ip-cta:19949624 2-s2.0-0028325711 Shan J. Liu H. T. Nowotny S. Synchronised trajectory-tracking control of multiple 3-DOF experimental helicopters IEE Proceedings: Control Theory and Applications 2005 152 6 683 692 10.1049/ip-cta:20050008 2-s2.0-33749551127 Johnson E. N. Kannan S. K. Adaptive trajectory control for autonomous helicopters Journal of Guidance, Control, and Dynamics 2005 28 3 524 538 10.2514/1.6271 2-s2.0-19644367433 Ge S. S. Ren B. Tee K. P. Lee T. H. Approximation-based control of uncertain helicopter dynamics IET Control Theory Applications 2009 3 7 941 956 10.1049/iet-cta.2008.0103 MR2537971 2-s2.0-67650287644 Kadmiry B. Driankov D. A fuzzy gain-scheduler for the attitude control of an unmanned helicopter IEEE Transactions on Fuzzy Systems 2004 12 4 502 515 10.1109/TFUZZ.2004.832539 2-s2.0-4344694449 Kadmiry B. Driankov D. A fuzzy flight controller combining linguistic and model-based fuzzy control Fuzzy Sets and Systems 2004 146 3 313 347 10.1016/j.fss.2003.07.002 MR2082232 2-s2.0-3242667169 Ge S. S. Ren B. Tee K. P. Adaptive neural network control of helicopters with unknown dynamics Proceedings of the 45th IEEE Conference on Decision and Control (CDC '06) December 2006 3022 3027 2-s2.0-39649085151 Enns R. Si J. Helicopter trimming and tracking control using direct neural dynamic programming IEEE Transactions on Neural Networks 2003 14 4 929 939 10.1109/TNN.2003.813839 2-s2.0-0043026775 Raffel M. Richard H. Ehrenfried K. Van der Wall B. Burley C. Beaumier P. McAlister K. Pengel K. Recording and evaluation methods of PIV investigations on a helicopter rotor model Experiments in Fluids 2004 36 1 146 156 10.1007/s00348-003-0689-7 2-s2.0-1142264058 Vitzilaios N. I. Tsourveloudis N. C. An experimental test bed for small unmanned helicopters Journal of Intelligent and Robotic Systems: Theory and Applications 2009 54 5 769 794 10.1007/s10846-008-9284-8 2-s2.0-63449104577 Nikolos Y. Doitsidis L. Christopoulos V. Tsourveloudis N. C. Roll control of unmannedaerial vehicles using fuzzy logic WSEAS Transactions on Systems 2003 4 2 1039 1047 Sanchez E. N. Becerra H. M. Velez C. M. Combining fuzzy, PID and regulation control for an autonomous mini-helicopter Information Sciences 2007 177 10 1999 2022 10.1016/j.ins.2006.10.001 2-s2.0-33847644187 Cetin O. Kurnaz S. Kaynak O. Fuzzy logic based approach to design of autonomous landing system for unmanned aerial vehicles Journal of Intelligent & Robotic Systems 2011 61 239 250 Bittar A. de Oliveira N. M. F. de Figueiredo H. V. Hardware-in-the-loop simulation with X-plane of attitude control of a SUAV exploring atmospheric conditions Journal of Intelligent and Robotic Systems 2014 73 1–4 271 287 10.1007/s10846-013-9905-8 Figueiredo H. V. Saotome O. Simulation platform for quadricopter: using Matlab/Simulink and X-plane Proceedings of the Brazilian Robotics Symposium and Latin American Robotics Symposium October 2012 51 55 10.1109/SBR-LARS.2012.15 2-s2.0-84871572214 dos Santos S. R. B. Nascimento C. L. Jr. Givigi S. N. Jr. Experimental framework for evaluation of guidance and control algorithms for UAVs Proceedings of the 21st Brazilian Congress of Mechanical Engineering October 2011 Rio Grande do Norte, Brazil Padfield G. Helicopter Flight Dynamics 1996 Blackwell Science Ltd Munzinger C. Development of a real-time flight simulator for an experimental model helicopter [Diploma thesis] 1998 Georgia Institute of Technology School of Aerospace Engineering Gavrilets V. Autonomous aerobatic maneuvering of miniature helicopter [Ph.D. thesis] 2003 Boston, Mass, USA The MIT Press Gravilets V. Mettler B. Feron E. Nonlinear Model for a Small-Size Acrobatic Helicopter AIAA 2001-4333, 2001, http://gewurtz.mit.edu/papers/GMF01.pdf Garcia R. Barnes L. Multi-UAV simulator utilizing x-plane Journal of Intelligent and Robotic Systems: Theory and Applications 2010 57 1–4 393 406 10.1007/s10846-009-9372-4 2-s2.0-72449133775 Research L. X-Plane Operation Manual 2011 http://www.x-plane.com/files/manuals/XPlane_Desktop_manual.pdf Barros dos Santos S. R. Modeling of a hardware-in-the-loop simulator for Uav autopilot controllers Proceedings of the 21st Brazilian Congress of Mechanical Engineering October 2011 Natal, Brazil Mathworks Simulink Overview 2012, http://www.mathworks.com/products/simulink/ Passino K. Yurkovich S. Fuzzy Control 1998 Menlo Park, Calif, USA Addison-Wesley Wang L. X. A Course in Fuzzy Systems and Control 1997 Upper Saddle River, NJ, USA Prentice Hall