Hybrid fly-by-wire quadrotor controller

14
Matko Orsag, Marina Poropat, Stjepan Bogdan Hybrid Fly-by-Wire Quadrotor Controller UDK IFAC 629.735.4-52 681.516 5.7.5 Original scientific paper This article presents one solution to a quadrotor control problem that is based on a discrete automaton. This automaton combines classical PID and more sophisticated LQ controllers to create a hybrid control system. This closed loop control concept is expanded with an open loop controller that enables the aircraft to perform aggressive flying maneuvers. The combination of open and closed loop controllers builds a hybrid controller concept that allows directed and autonomous flying of the quadrotor aerial vehicle. Proposed control concept was tested on an elaborate mathematical model. The article discusses these test results and presents the means to develop such a controller. Key words: Hybrid control, Rotorcraft, Unmanned aerial vehicle Hibridni sustav daljinskog upravljanja lebdjelicom. U radu je opisan hibridni upravljaˇ cki koncept bespilotne letjelice pogonjene s ˇ cetiri rotora, koji objedinjuje klasiˇ cne PID regulatore i naprednije LQ regulatore primjenom Mooreova automata. Takav je hibridni koncept upravljanja u zatvorenoj petlji nadogra en upravljanjem u otvorenoj petlji koje omogu´ cuje ostvarenje agresivnih letaˇ ckih manevara. Osim toga, kombinacija upravljanja u otvorenoj i zatvorenoj petlji omogu´ cuje i daljinsko upravljanje letjelicom zasnovano na vizualnoj povratnoj vezi. Predloženi sustav upravljanja letjelicom testiran je na iscrpnom matematiˇ ckom modelu letjelice. Kljuˇ cne rijeˇ ci: bespilotna letjelica, hibridno upravljanje, rotokopter 1 INTRODUCTION The focus of this article is an aircraft propelled with four rotors, called the quadrotor. The quadrotor is capa- ble of vertical takeoff and landing, hovering and horizontal flight which makes it an ideal surveillance vehicle. It can be utilized in various civilian and military operations such as: search and rescue operations, land mine sweeping and traffic surveillance. Quadrotor was among the first rotorcrafts ever built. The first successful quadrotor flight was recorded in 1921, when De Bothezat Quadrotor remained airborne for two minutes and 45 seconds. Later he perfected his design, which was then powered by 180-horse power engine and was capable of carrying 3 passengers on limited altitudes. Quadrotor rotorcrafts actually preceded the more common helicopters, but were later replaced by them because of very sophisticated control requirements [1]. At the mo- ment, quadrotors are mostly designed as small or micro air- crafts capable of carrying only surveillance equipment. In the future, however, some designs, like Bell Boeing Quad TiltRotor, are being planned for heavy lift operations [2,3]. In the last couple of years, quadrotor aircrafts have been a subject of extensive research in the field of autonomous control systems. This is mostly because of their small size, which prevents them to carry any passengers. Vari- ous control algorithms, both for stabilization and control, have been proposed. The authors in [4] synthesized and compared PID and LQ controllers used for stabilization of a similar aircraft. They have concluded that classical PID controllers achieve more robust results. In [5,6] "Back- stepping" and "Sliding-mode" control techniques are com- pared. The research presented in [6] shows how PID con- trollers cannot be used as effective set point tracking con- troller. Fuzzy based controller is presented in [7]. This controller exhibits good tracking results for simple, prede- fined trajectories. Each of these control algorithms proved to be successful and energy efficient for a single flying ma- neuver (hovering, liftoff, horizontal flight, etc.). This article describes a hybrid control concept that com- bines these various types of controllers to create an energy efficient control system. Furthermore, the proposed con- trol concept aims to unify stabilization and control and cre- ate a flight control system (FCS) capable of directed and autonomous flying. The article further examines the be- havior of qudrotor’s propulsion system focusing on its lim- itations (i.e. saturation and dynamic capabilities). A lot of ISSN 0005-1144 ATKAFF 51(1), 19–32(2010) AUTOMATIKA 51(2010) 1, 19–32 19

Transcript of Hybrid fly-by-wire quadrotor controller

Matko Orsag, Marina Poropat, Stjepan Bogdan

Hybrid Fly-by-Wire Quadrotor Controller

UDK

IFAC

629.735.4-52681.5165.7.5 Original scientific paper

This article presents one solution to a quadrotor control problem that is based on a discrete automaton. Thisautomaton combines classical PID and more sophisticated LQ controllers to create a hybrid control system. Thisclosed loop control concept is expanded with an open loop controller that enables the aircraft to perform aggressiveflying maneuvers. The combination of open and closed loop controllers builds a hybrid controller concept thatallows directed and autonomous flying of the quadrotor aerial vehicle. Proposed control concept was tested on anelaborate mathematical model. The article discusses these test results and presents the means to develop such acontroller.

Key words: Hybrid control, Rotorcraft, Unmanned aerial vehicle

Hibridni sustav daljinskog upravljanja lebdjelicom. U radu je opisan hibridni upravljacki koncept bespilotneletjelice pogonjene s cetiri rotora, koji objedinjuje klasicne PID regulatore i naprednije LQ regulatore primjenomMooreova automata. Takav je hibridni koncept upravljanja u zatvorenoj petlji nadogra�en upravljanjem u otvorenojpetlji koje omogucuje ostvarenje agresivnih letackih manevara. Osim toga, kombinacija upravljanja u otvorenoj izatvorenoj petlji omogucuje i daljinsko upravljanje letjelicom zasnovano na vizualnoj povratnoj vezi. Predloženisustav upravljanja letjelicom testiran je na iscrpnom matematickom modelu letjelice.

Kljucne rijeci: bespilotna letjelica, hibridno upravljanje, rotokopter

1 INTRODUCTION

The focus of this article is an aircraft propelled withfour rotors, called the quadrotor. The quadrotor is capa-ble of vertical takeoff and landing, hovering and horizontalflight which makes it an ideal surveillance vehicle. It canbe utilized in various civilian and military operations suchas: search and rescue operations, land mine sweeping andtraffic surveillance.

Quadrotor was among the first rotorcrafts ever built.The first successful quadrotor flight was recorded in 1921,when De Bothezat Quadrotor remained airborne for twominutes and 45 seconds. Later he perfected his design,which was then powered by 180-horse power engine andwas capable of carrying 3 passengers on limited altitudes.Quadrotor rotorcrafts actually preceded the more commonhelicopters, but were later replaced by them because ofvery sophisticated control requirements [1]. At the mo-ment, quadrotors are mostly designed as small or micro air-crafts capable of carrying only surveillance equipment. Inthe future, however, some designs, like Bell Boeing QuadTiltRotor, are being planned for heavy lift operations [2,3].

In the last couple of years, quadrotor aircrafts have beena subject of extensive research in the field of autonomous

control systems. This is mostly because of their smallsize, which prevents them to carry any passengers. Vari-ous control algorithms, both for stabilization and control,have been proposed. The authors in [4] synthesized andcompared PID and LQ controllers used for stabilization ofa similar aircraft. They have concluded that classical PIDcontrollers achieve more robust results. In [5,6] "Back-stepping" and "Sliding-mode" control techniques are com-pared. The research presented in [6] shows how PID con-trollers cannot be used as effective set point tracking con-troller. Fuzzy based controller is presented in [7]. Thiscontroller exhibits good tracking results for simple, prede-fined trajectories. Each of these control algorithms provedto be successful and energy efficient for a single flying ma-neuver (hovering, liftoff, horizontal flight, etc.).

This article describes a hybrid control concept that com-bines these various types of controllers to create an energyefficient control system. Furthermore, the proposed con-trol concept aims to unify stabilization and control and cre-ate a flight control system (FCS) capable of directed andautonomous flying. The article further examines the be-havior of qudrotor’s propulsion system focusing on its lim-itations (i.e. saturation and dynamic capabilities). A lot of

ISSN 0005-1144ATKAFF 51(1), 19–32(2010)

AUTOMATIKA 51(2010) 1, 19–32 19

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

previous research failed to address this practical problembut in case of a demanding flight trajectory, control signalscould drive the propulsion system well within the regionof saturation, thus causing undesired or unstable quadrotorbehavior.

Fly by wire is a concept that was introduced in 1960s,when McDonnell Douglas, now The Boeing Company pro-duced the F-15 Strike Eagle. This flight control system wasintended to replace mechanical and hydraulic flight controlsystems that were standard at that point. Standard mechan-ical and hydraulic FCSs linked the control of the aircraftdirectly to the pilot [8]. In Electrical FCSs digital controlsignals are sent via electrical installations, hence the termby-wire. One advantage of such a system is a significantweight reduction. Because of fail safety reasons, multiplesignal sources and several lanes of computing are neces-sary in a Fly-by-wire system. They provide enough redun-dancy to achieve the same reliability as earlier mechanicalsystems. The drawback of such an implementation is a sig-nificant increase in the cost of the aircraft.

After its initial development in aviation industry the fly-by-wire concept slowly migrated to ground vehicle indus-try. Today, modern cars adopted this concept, which wasthen renamed drive-by-wire. As far as autonomous ve-hicles (ground or air) are concerned, the term by-wire isslightly stretched because the signal for these vehicles trav-els by air. Nevertheless, we use this term to note that thesystem is controlled via electrical signals generated frompilot controls. How the signal travels from the user to thevehicle is of little concern to final implementation.

Although by-wire control is expensive, the cost benefitof such a system can be very high. The computers usedfor transmitting and receiving control signals can be usedto optimize vehicle performance. We can assure systemstability by preventing certain moves that could compro-mise vehicle operation. In aircrafts a fly by wire controllercan: optimize lift/drag ratio, improve the angle of attack,increase the energy efficiency and extend aircraft’s conven-tional flight envelope. In this article we will show how afly-by-wire control system can reduce system nonlineari-ties and provide the pilot with a very simple set of controls.

2 THE PHYSICAL PRINCIPLES OFQUADROTOR

The basic quadrotor design consists of a control unitplaced in the center and four rotors placed symmetricallyaround that center at a radial distance D. Because each ro-tor blade is displaced from the center of mass, it producesboth thrust and torques with respect to aircraft’s center ofmass. This is shown in Fig. 1. Torques Mx and My of eachrotor can be calculated simply by multiplying the thrustof each rotor with distance from the axis of rotation. The

torqueses on one side of the aircraft cancel out the torqueson the other side. If all the rotors are spinning with thesame angular velocity, the net torque and hence the angu-lar acceleration equals zero.

Fig. 1. Forces and torques produced in quadrotor’s propul-

sion system

While rotating, the rotor blades produce aerodynamictorque Mz with respect to the yaw axis. The spinning di-rection of the rotor dictates the direction of the aerody-namic torque Mz . If all the rotors were spinning in thesame direction, the quadrotor would continuously acceler-ate its yaw angle velocity, rendering the aircraft unstable.This is why rotors that are directly adjacent to each otherrotate in different directions (i.e. rotors 1 and 3 rotate inone direction, and rotors 2 and 4 in opposite direction),thus cancelling out each other’s torques. This modificationachieves yaw angle stabilization.

Yaw acceleration is induced by mismatching the bal-ance in aerodynamic torques (i.e. by increasing the speedof rotors 1 and 3 and decreasing the speed of rotors 2 and4). Mismatching the torque balance must be achieved with-out impacting the thrust balance. Therefore, the decreasedthrust from one blade has to be compensated with an in-crease of speed and thrust in other blades. Either roll orpitch is achieved by increasing the speed of rotors on oneside of the aircraft and decreasing on the other. For a pairof rotors rotating in the same direction, increasing thrustof one rotor implies decreasing thrust of the other. This iscrucial for yaw angle stability.

When the rotors net thrust equals the aircraft’s gravityforce the quadrotor hovers in the air. Further increasingthe net thrust accelerates the aircraft up in the air. Transla-tional acceleration is achieved by maintaining a non-zeropitch or roll angle. Slightly pitching or rolling a quadro-tor moves it in x or y direction. This happens because the

20 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

Fig. 2. Different combinations of varying the speeds of

rotors can cause a quadrotor to move and rotate

overall thrust is projected in the tilted direction and thusaccelerates the quadrotor in that direction. Different com-binations of varying the speeds of rotors and the overalleffect are shown in Fig. 2.

3 MATHEMATICAL MODEL OF THEQUADROTOR

Testing the proposed Hybrid controller requires an elab-orate mathematical model. This model needs to simulatequadrotor behavior in climb, descent and forward flight.At the same time it has to be simple enough to provide fastsimulation based experimenting with the proposed con-troller.

Mathematical model consists of body motion dynam-ics and propulsion system aerodynamics. Fore mentionedpropulsion system aerodynamics includes: Momentumtheory, Blade element theory, In Ground Effect, Vortexring state and windmill break state. Details on this theoriesand effects can be found in [9], while the details on mathe-matical modeling of quadrotor’s propulsion system can befound in [10]. Without going into details, this article bringsthe final equation of forces and torques that come from asingle rotor.

T = NρacR3Ω2

4 CT

{Hx,Hy} = NρacR3Ω2

4

{CHx

, CHy

}Mz = NρacR3Ω2

4 CMz{Mx,My

}= NρacR3Ω2

4

{CMx

, CMy

} (1)

where N stands for the number of the blades, ρ isthe air density, c is the average cord length, R is the

blade radius and Ω is the rotor angular speed. The coef-ficients

{CT , CHx

, CHy, CMz

, CMx, CMy

}are complex

functions of quadrotor’s speed and aerodynamic drag/liftcoefficients. The details are given in [9, 10].

Modeling of motion dynamics starts with Newton - Eu-ler equations that combine translational and rotational dy-namics of a rigid body. These equations formulate the re-lationship between torques and forces one side and aircraftorientation and position on the other side. The net torquesand forces come from propulsion system aerodynamics (1)and net drag that the surrounding air exerts on quadrotorsbody. We mark the net forces and torques, from the air-craft frame of reference, with

−→F and−→M respectively [9].

We write the corresponding Newton - Euler equations invector form. The angles ϕ, ϑ and ψ are Euler angles inthe fixed, earth perspective coordinate frame. Abbrevia-tions cx and sx stand for cos(x) and sin(x), respectively.Rotations ωx, ωy and ωz are observed in quadrotor coordi-nate system. Ixx, Iyy , Izz are principal moments of inertia.To calculate corresponding Euler angles in earth referencesystem, one needs to multiply the second part of equation,

mlx =∣∣∣−→F ∣∣∣ (cϕsϑcψ + sϕsψ)

mly =∣∣∣−→F ∣∣∣ (sϕsϑcψ + cϕsψ)

mlz =∣∣∣−→F ∣∣∣ cϑcψ

Ixxδωx

δt − (Iyy − Izz)ωzωy = Mx

Iyyδωy

δt − (Izz − Ixx) ωzωx = My

Izzδωz

δt − (Ixx − Iyy)ωxωy = Mz

(2)

with Jacobian matrix.

J =

⎡⎣ 1 sψtθ cψtθ

0 cψ −sψ

0 sψ/cθ cψ/cθ

⎤⎦ (3)

4 HYBRID CONTROLLER LAYOUT

When developing a controller for quadrotor, two mainproblems arise: First problem comes from the fact thatquadrotor is a highly nonlinear system; Second problem iscaused by limited power resources of the propulsion sys-tem. Nonlinearities come are caused by complex aerody-namic effects coupled with nonlinear nature of Newton -Euler equations. To avoid complex control solutions likeneural networks, which could compensate for these nonlin-earities, one needs to limit quadrotor’s maneuvering capa-bilities. For these limited set of maneuvers we can synthe-size simple PID controllers based on the linearized mathe-matical model of the aircraft [10].

As far as the power limitations are concerned the sameprincipal applies. For instance, if we want to move the air-craft in horizontal direction we need to increase the amount

AUTOMATIKA 51(2010) 1, 19–32 21

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

of blade rotation on one side and decrease on the otherside of the aircraft. This imbalance will cause the quadro-tor to tilt and move in one direction. If we were to directthe quadrotor to increase its altitude, then all four rotorswould have to increase their rotation. It is obvious thatone side of the quadrotor would need to double the amountof rotation to achieve simultaneous horizontal and verticalmovement of the aircraft. Unfortunately, power limitationscan block such an increase in blade rotation and a possibleresult could be quadrotor unstable behavior. By limitingquadrotor’s maneuvering capabilities we assure that thissituation never occurs, and that the aircraft is stable.

Apart from these inherent problems, we also need tokeep in mind that a controller should be capable of bothdirected and autonomous flight. This implies that at somepoint a switch between these two states has to be initiated.Hence, a hybrid controller, which uses an automaton toswitch between different states and has layer based archi-tecture seems as a natural solution. The lowest layer inthis design is assigned to quadrotor stabilization and anglecontrol. The second layer is designed for height control.The last two layers, third and fourth, are Position controland Autonomous Navigation, respectively. The automa-ton’s states switch different layers of control on and off,and thus by switching between the states automaton en-ables different level of control: directed control, positioncontrol or autonomous navigation. The overview of Hy-brid controller layer based structure is shown in Fig. 3. Theconnection between different layers is marked with a cor-responding arrow. This figure also shows how autonomousnavigation layer receives operator’s instructions via a joy-stick controller or a path planning panel.

Fig. 3. Overview of Hybrid controller layers

4.1 Angle Control Layer

The angle control layer is in charge of aircraft stabiliza-tion. By keeping the roll and pitch angles at 0◦ this con-troller effectively stabilizes the aircraft in hover position.If we were to roll or pitch the aircraft by a certain angle

α, then it would move in y or x direction, respectively. Itis obvious that this layer of control is crucial not only forquadrotor stabilization but also for its positioning.

For a symmetrical body (Ixx = Iyy) with small amountsof moments of inertia (Ixx, Iyy,Izz �) we can neglect theterms (Iyy − Izz) ωzωy in (2). This simplification allowsus to write a very simple equation for angle control:

Iααδωα

δt= α = Mα (4)

This is of course, observed from quadrotor coordinatesystem. To calculate corresponding Euler angles, oneneeds to multiply (4) with Jacobian transformation matrix(2). This is why we further simplify the problem by con-sidering only small angles, and thus the Jacobian transfor-mation matrix (2) becomes the identity matrix I .

Fore made assumptions leave us with a second – ordersystem with a constant propulsion system gain KTrq(i.e.the propulsion system linearization Mα = α · KTrq isapplied). For this system we derive a cascade controllerwith a set of gains Kω and Kα that are tuned so that the risetime and the percentage overshoot of angle control equals255ms and 12% respectively [10].

4.2 Height Control Layer

Height controller is the main controller in the proposedcontrol system. It is designed as a three state automaton.This automaton is parallel to the main hybrid automatonwhich switches between the layers. It changes the param-eters or switches the controller transfer function depend-ing on the quadrotor’s current situation. Fig. 4 shows theheight control system. There are two main problems thathave to be resolved in order to derive an effective heightcontroller: The first problem is the constant interference ofthe gravity force and the second is the nonlinear aerody-namic drag on a moving quadrotor.

The proposed height controller comprises three states:change of altitude, the settling of altitude and hoveringstate. When a change of height reference is sensed the hy-brid controller enters the change of altitude control state.During this state, the automaton switches the height con-troller to a P type control with a relatively large gain. As aresult of this the propulsion system starts to operate at itslimits, always switching either off or to the maximum volt-age. This way we shock the aircraft into moving towardsthe new reference point. When the aircraft approaches thereferenced height the next state is triggered.

During the settling state, the gain of the proportionalcontroller is decreased and the integral component is addedto the height controller. It is necessary to note that the inte-gral component was dormant during the change of height.This way we avoided possible integrator windup during

22 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

Fig. 4. Height controller composed of a variable PI controller operated with a three state automaton [10]

this transition state. We are able to turn on the integra-tor now because the aircraft is close to its final destinationand the error signal is too small to cause integrator windup.

When the aircraft settles in referenced destination thehovering state of controller is triggered. During this state,the main hybrid controller enables the change of XY co-ordinates and aircraft orientation. Height controller hasto use as little energy as possible to keep the aircraft inthe desired height. This is achieved with a small propor-tional gain controller. Smaller gain decreases control sys-tem’s reaction to changes in quadrotor’s altitude causedby aircraft’s movement in horizontal direction. As a con-sequence, quadrotor’s propulsion system remains practi-cally undisturbed, hence, enabling design of a control sys-tem that is less energy consuming. The entire height con-troller was parameterized using ITAE optimization criteriato achieve the desired behavior [10].

4.3 Position Control Layer

Combined with height control layer, position control layeryields a full 3D positioning control system. We start offwith a small angle approximation of equation (1). Keepingin mind that ψ and ϑ are very small, and that ϕ = 0, wecan write:

mlx ≈∣∣∣−→F ∣∣∣ϑ

mly ≈∣∣∣−→F ∣∣∣ψ (5)

Because we want to be able to control the aircraft’s yawangle ϕ we cannot assume that it is always equal to zero.On the other hand, if we know the yaw angle of the aircraft,then we can rotate the earth coordinate system for that an-gle, thus effectively lining up the two coordinate systems.The overall result is that for the lined up coordinate sys-tems ϕ = 0 and equation (5) holds. The hybrid controllerautomaton therefore needs to assure that the yaw angle is

aligned to the referenced value before or after, but neverduring the position control process.Now as it is obvious from (5), the angle control layer be-comes an open loop transfer function of the position con-trol layer. We can write independent equations for X andY position control which are basically the same (i.e. onlythe corresponding angle differs). During the change of po-sition, the change of altitude is disabled and the quadrotoris hovering. Therefore, the net force of the quadrotor

∣∣∣−→F ∣∣∣can be linearized for hover mode as a constant gain K ∣∣∣−→F ∣∣∣ .The closed loop position control system based on the forementioned principals is shown in Fig. 5.

The proposed PDT1 controller has been parameterizedusing Root locus method so that the system is fast enoughand has a 10% overshoot [10].

4.4 Navigation LayerThis layer enables an operator to control the aircraft.

It allows three types of control: fly-by-wire, position orLQ trajectory control. The operator switches betweenthese controls by switching the navigation layer state. De-pending on its current operating state, the navigation layerswitches the lover layers on or off and controls their oper-ation.

Fly by wire control. When in Fly by wire control state,the navigation layer behaves similar to the position con-trol layer. The operator becomes a pilot during this con-trol state and controls the velocity and the direction ofthe quadrotor by moving a joystick. Because the joysticksends speed control inputs, a speed controller must be de-signed. The velocity open loop transfer function is basedon equation (5), but this time the control loop has only oneastatism. This allows us to choose a simpler P controller.Like the PDT1 controller for the position layer, the P con-troller was also tuned using Root locus method to achieve

AUTOMATIKA 51(2010) 1, 19–32 23

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

Fig. 5. Cascade control system for position control comprised of angle control system, motion dynamics and a PDT1

controller [10]

quick response with no overshoot. When the pilot movesthe joystick, the magnitude of the move is translated intospeed reference for the fly-by-wire control system.

Due to the linearization and power constraints, thechange of altitude cannot be initiated during the XY po-sitioning of the quadrotor. The navigation layer needs todelay the height references sent to height control layer dur-ing the positioning of the quadrotor. Height is operated viathrottle. The pilot pushes the throttle in order to move thequadrotor to a higher altitude, but the quadrotor can re-spond only when the joystick is at rest. While the joystickis at rest, the throttle signal is sent to the height controllayer, which executes the change of altitude.

Position control. The position control state (Fig. 6) isa hierarchical automaton which controls the operation oflower layer control systems, specifically the position con-trol layer and height control layer. In this mode of oper-ation, the operator is controlling the quadrotor by settingthe desired position and orientation. When the desired po-sition is set, the quadrotor is initiated to execute the nec-essary changes. The position control automaton dividesevery operator request into three simple maneuvers:

1. From every desired move the controller takes thechange in height and executes it with the highest pri-ority.

2. When the change of height in the desired move isachieved, the controller moves to the next state. Inthis state it enables the change of XY position of thequadrotor aircraft.

3. At the end, the quadrotor control system enters thethird state. This state is dedicated to the changeof quadrotor’s yaw angle which actually directs thequadrotor. Because of the rotation matrix coupling it

is very important that during the change of XY posi-tion this angel remains constant. This allows us to de-velop a very simple decoupling based on the previousquadrotor orientation [10].

Navigation. The primary function of the navigationlayer is to guide the quadrotor through the designatedsearch patterns. The operator designs these patterns bydefining waypoints. These waypoints are then intercon-nected with a series of splines that form a correspondingsearch pattern trajectory. These is achieved with a modi-fied Ho - Cook algorithm [11]. The trajectory is then sup-plied to the linear quadratic tracker (LQT) controller whichcalculates the necessary control actions.

Trajectory planning for unmanned aircraft vehicles is anactive field of research. Trajectory planning can be on-line or offline. With online trajectory planning, the air-craft’s control system detects obstacles, both moving and

Fig. 6. Executive controller of the proposed hybrid sys-

tem which contains a three state automaton controlled with

simple transition logic [10]

24 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

non moving, and adjusts its trajectory to avoid these ob-stacles. This type of trajectory planning is necessary incluttered environments [12]. When, on the other hand, thequadrotor is deployed to a search and rescue or explorationmissions it hovers above the ground. The hover altitudecan be chosen so that the quadrotor avoids both ground ob-stacles (ie. trees, buildings and ground vehicles) and airtraffic (ie. birds or other aircraft vehicles). This allows usto use offline trajectory planning, where the aircrafts tra-jectory is planned in advance and dynamic changes to thesurrounding environment are neglected [13].

Different types of offline trajectory planning algo-rithms, mainly for fixed wing aircrafts, have been proposed[12,13,14]. One significant difference between a fixedwing aircrafts and a rotorcrafts is a substantially higher ma-neuvering capability of rotorcrafts. Generally speaking, tomove a fixed wing aircraft one needs to change its head-ing direction first. For a rotorcraft, the positioning can bedone independent from its heading direction. This makesa Ho - Cook interpolation method that is frequently beingused in robotics a good choice for planning a trajectory fora quadrotor.

Given a set of n waypoints, we construct an interpo-lation trajectory comprised of splines Si (t), where i =1, . . . , n − 1; ; t = [0,ti]. In order to assure that thequadrotor flies smoothly through the planed trajectory, weneed to make splines Si, C 2 continuous. Moreover, weneed to take into account the starting and final settling po-sitions, at which the quadrotor needs to be fully stopped.This means, that the first and second derivatives of thestarting and final trajectory position need to be equal tozero [11]. The fore mentioned conditions are written in thefollowing equations:

S1 (0) = S1 (0) = 0Sn−1 (tn−1) = Sn−1 (tn−1) = 0

Si (ti) = Si+1 (0)Si (ti) = Si+1 (0)Si (ti) = Si+1 (0)

(6)

C2 continuity and standstill conditions can be satisfiedusing cubic polynomial splines for i = 2, . . . , n − 2, andfourth degree polynomial splines for i = 1, n. We canoptimize the trajectory characteristics by varying time in-tervals ti. One way of setting time intervals is taking intoaccount the length of each chord (i.e. |Xi − Xi−1| ). Thelonger the chord the longer the time interval ti. [15]

A modified Taylor method is used to achieve good ap-proximation results [11]. When a given set of waypointsis interconnected with splines, the operator is prompted toinspect the given trajectory. If the trajectory deviates fromthe desired pattern additional waypoints are added to thetrajectory. These new waypoints are positioned at half adistance between each old waypoint.

LQT control. When the navigation planner designs thesearch pattern, the LQT controller is prompted to calculatethe necessary control signals. The LQT controller uses asimplified linearized quadrotor model to calculate the ap-propriate control sequence for the given trajectory. Duringthe execution of LQT control, the angle and height controllayers are also active. These layers are used to stabilize thequadrotor at the desired altitude. They also provide controlinputs for the LQT controller, thus allowing it to execute2D trajectory. During trajectory execution, the height con-troller holds the quadrotor in the previously set altitude.

Again, as in a position control layer, the navigation layerincludes the angle control layer. Here we expand our as-sumptions from the position control layer and assume thatthe angle control layer is fast enough so that its dynamicscan be neglected. This way, the nonlinear model of thequadrotor orientation can be replaced with a simple gain(Fig. 5). Because the quadrotor height control layer is ac-tive, the net force of the quadrotor

∣∣∣−→F ∣∣∣ can be linearizedfor hover mode as a constant gain K∣∣∣−→F ∣∣∣ . This simplifi-

cation of the nonlinear quadrotor model yields an openloop transfer function for the LQT controller. Because thequadrotor is symmetric with respect to X and Y positioncontrol the same transfer functions applies to both positioncontrol loops.

GOx = GOy =K∣∣∣−→F ∣∣∣s2

(7)

The transfer function (7) is a simple double integratorfor which we can write the following state space represen-tation:

A =[

Ax 00 Ay

]=

⎡⎢⎢⎣

0 1 0 00 0 0 00 0 0 10 0 0 0

⎤⎥⎥⎦

B =[

Bx 00 By

]=

⎡⎢⎢⎣

0 0Tu 00 00 Tu

⎤⎥⎥⎦

C =[

Cx 00 Cy

]=[

1 0 0 00 0 1 0

](8)

The LQT control scheme is obtained by minimizing theassociated quadratic performance index [16,17]. For a lin-ear, fully observable system we can write the followingtracking problem performance index (9):

AUTOMATIKA 51(2010) 1, 19–32 25

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

J =12

{e(tf )T · P · e (tf )+

+∫ tf

t0

[e (t)T · Q · e (t) + u (t)T · R · u (t)

]dt

}(9)

The performance index (9) is calculated for a time inter-val t ∈ [t0, tf ] by multiplying tracking error e (t), controlsignal u (t) and final position error e(tf ) with correspond-ing weighting matrices Q, R and P. The tracking errore (t) and control signal u (t) are written in vector form.The control output and the quadrotor behavior are tunedby varying matrices Q, R,P . The matrices are chosen tobe symmetric and positive-definite. The magnitude of theQ matrix minimizes the error of LQT, the R matrix mini-mizes its energy consumption and the P matrix minimizesthe final position error. A first choice for the matrices Qand R in is given by the Bryson’s rule:

Qii = 1maximum acceptable value of state i

Rii = 1maximum size of control signal i

(10)

Bryson’s rule is often a starting point for trial-and-erroriterative design procedure aimed at obtaining desirableproperties for the closed-loop system [16]. One of theseprocedures uses a Bryson’s rule as a starting point, and it-erates the matrices using the following rule:

QiiNEW = Qii

OLD∣∣∣max. measured value of state i

max. allowed value of state i

∣∣∣Rii

NEW = RiiOLD

∣∣∣max. meas. size of control signal imax. size of control signal i

∣∣∣(11)

New values for the control input are calculated with ev-ery iteration. The simulation is performed with the cal-culated control inputs and maximum measured values forerrors of states and control signals are measured. Using(11), new values for Q, R,P matrices are set. The proce-dure ends when all of the control signals and state valuesfall beneath the maximum allowed values [16].

4.5 The loopingIn the previous sections we analyzed nonaggressive fly-

ing techniques. In this chapter, however, we present a con-trol algorithm for an aggressive maneuver. This is more orless a standard aerobatic maneuver called the looping. Dur-ing the looping, the aircraft lifts up in the air, very quicklyand starts to spin around X or Y axis of the aircraft’s refer-ence frame. After the whole 360 degrees spin is executed,the aircraft returns to its previous state. The control al-gorithm is divided into six steps, for which we derived acorresponding six state automaton. The states are:

1. The dormant state, in which the flip controller waitsfor instructions from the user. Upon receiving a loop-ing command from the superior controller the au-tomaton moves to the second state.

2. The fast liftoff state triggers a request for maximalrotor spin. This causes the aircraft to liftoff withmaximum climb speed. This state also switches offthe height controller, causing the aircraft to fly in anopen loop control. When vertical speed of the air-craft reaches 2.6m/s the controller switches to the nextstate.

3. The spin state turns off the rotors one and two (Fig.1), thus making the quadrotor to spin around Y axis.This state is active for a certain amount of time τ1.During that time the aircraft rotation accelerates to aspeed Ωflip. Assuming that the air resistance is muchsmaller than the momentum induced by rotors, we caneasily calculate the time τ1. The next trigger arisesupon the expiration of τ1 and the controller switchesto the fourth state.

4. The spinning state shuts down the propulsion system.When the aircraft makes the whole 360◦ loop the sen-sors trigger the next state.

5. The counter spin state turns on rotors one and two.This is very important because we need to stop theaircraft from spinning once it rotated the whole 360◦.This state also needs to be active for the time τ1.

6. The control activation state returns the control of thequadrotor to the main hybrid controller. During thisstate, the main controller stabilizes the aircraft and re-turns it to the initial position [10].

5 SIMULATIONS

To evaluate the proposed hybrid controller we carriedout a series of simulation studies with a nonlinear mathe-matical model of the quadrotor. This model describes thequadrotor behavior in climb, descent and forward flightand includes various realistic aerodynamic effects (i.e.Ground effect, Windmill break state, Aerodynamic drag).In this article we present the results of Position and LQTcontrol simulation studies. The Position and LQT controloperate on the highest level of the proposed controller. Dueto the layer interconnection, they affect lower level controlsystems. Thus by examining the behavior of the highestlevel of control we can evaluate the behavior of lower layercontrol systems.

5.1 Position controlThe position control is a state in autonomous navigation

layer. It directs the position control layer. The position

26 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

control layer is designed to execute control signals sentfrom the navigation layer. One representative case of po-sition control is presented in this chapter. The event timetable of the control signals for the proposed maneuver isgiven in Table 1. A 3D representation of a part of this se-quence is given in Fig. 7. For better clarity, the change ofaltitude during this sequence is omitted in a 3D represen-tation.

The quadrotor starts its flight at one meter above theground and then lifts off to the requested altitude. The nextcontrol request moves it in y – axis direction. Followingthat is the move in all three directions including the changeof orientation after which we request the quadrotor to settleat 5 meters above the ground. According to these controlsignals the quadrotor executes a flight trajectory given inFig. 8. This figure shows the change of quadrotor’s posi-tion and orientation in 3D space.

The sequence in Fig. 8 ends with a looping maneuver.This figure shows how quadrotor is lifted up in the air andthen rotated around y axis. Naturally there is a slight distur-bance in quadrotor x position when the quadrotor pitches.When the quadrotor looping maneuver is finished, the con-trol sequence, described in IV.E, stops further rotation andtriggers the position control on. Until the control systemrecovers from this aggressive maneuver it experiences rel-atively big position errors, nevertheless it finally brings thequadrotor to its previous and desired altitude and coordi-nates.

Table 1. The control signal timetable

Time[s] 0 45 70 105 130

X axis [m] 0 0 5 0 0Y axis[m] 0 5 0 0 0Z axis[m] 5 5 5.5 5 5Yaw[rad] 0 π/2 π/3 0 0Flip no no no no yes

The control sequence that starts at 70 s gives the bestinsight into position control behavior (Fig. 9). Starting at70 s, the position control layer prompts the height controllayer to move the aircraft at the desired altitude. Fig. 9shows how the height controller’s bang-bang state, whichoperates at the beginning of the height transition, saturatesthe control signals. During this stage, a change of any otherquadrotor coordinate has to be blocked, otherwise, becauseof control signal saturation, the aircraft would become un-stable. When the aircraft moves close to the requested alti-tude, the height controller switches to PI control state andthe control signal falls beneath saturation limits. After thealtitude is settled, the hover state of height controller istriggered. This enables the change of quadrotor X and Y

positions.

Fig. 7. Screenshots from a 3D virtualization of 3rd ma-

neuver in Table 1. Starting with a liftoff on upper left

screenshot. Upper right picture shows the start of horizon-

tal movement. Lower left figure shows how the quadrotor

turns to slow down, and finally stabilizes at the last screen-

shot

0 50 100 150−2

0

2

4

6

8

po

siti

on

[m]

heightx−positiony−position

0 50 100 150−100

−50

0

50

100

150

ori

enta

tio

n [

°]

time[s]

ΦΨΘ

Fig. 8. Quadrotor’s flight trajectory as a result of control

signals in Table 1

If we closely examine this sequence, we see that eventhough the request was set for all three coordinates, X andY do not change before the quadrotor starts settling in thedesired altitude. The position controller is triggered whencontrol signals leave the saturation level. This can be seenas a control impulse in Fig. 9. This impulse moves thequadrotor in the desired xy direction. During this time,the change of orientation is still prohibited by the position

AUTOMATIKA 51(2010) 1, 19–32 27

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

controller automaton (Fig. 6). After the quadrotor reachesthe desired x and y coordinates the change of orientation(yaw) is triggered. The change of yaw was triggered eventhough the aircraft did not actually settle in the desired co-ordinates. This is acceptable, because, as can be seen onFig. 9, there is no risk of saturating control signals duringthis time interval.

70 75 80 85−2

0

2

4

6

po

siti

on

[m]

height

x−position

y−position

70 75 80 850

5

10

15

Co

ntr

ol s

ign

als

[V]

U1

U2

U3

U4

70 75 80 85−50

0

50

100

ori

enta

tio

n [

°]

time[s]

Φ

Ψ

Θ

Fig. 9. Quadrotor’s position, control and orientation sig-

nals for the third control sequence at 70 s

5.2 LQT controller

In this simulation example we show the tracking abil-ities of the LQT controller for a quadratic search patterntrajectory. In the quadratic search pattern trajectory, theaircraft moves in x direction first, then it moves in y direc-tion, and finally returns to the previous x position. First wepresent the derivation of the LQT controller and afterwardswe show the simulation results.

The derivation of the LQT control starts with optimizingthe matrices Q, R,P using Bryson’s method. The maxi-mum allowed values for the quadrotor maneuvers are givenin Table 2. The angle controllers limit the angle inputswithin ±8◦ in order to keep the quadrotor in the desiredlinearized area of behavior. The speed limitations comefrom aircraft’s dynamics. Table 3 shows the final valuesof matrices Q, R,P, obtained by using the described op-timizing procedure (10).

Table 2. Maximum allowed values of quadrotor states and

control signals

Max.Position Max.Speed Max.Angle

(input)

X axis 5.25 m 2 m/s 8◦

Y axis 5.25 m 2 m/s 8◦

Table 3. The optimized values of matrices Q, R,P

Q[

0.6569 00 0.6569

]

R[

0.0328 00 0.0318

]

P[

0.0328 00 0.0318

]

We assume that the linear connection between way-points creates the ideal trajectory which LQT needs totrack. Furthermore, we require that the aircraft needs topass through the inputted waypoints. In the following fig-ures we compare the Position control state, the LQT con-troller without using the offline trajectory planning algo-rithm (LQT*) and the LQT controller with offline trajec-tory planning algorithm.

In Figures 10, 11 and 12 we compare the different tra-jectories of each control method. The LQT* displays theability to track the desired trajectory with the smallest er-ror. Unfortunately, the LQT* tends to miss the desiredwaypoints. Fig. 9 shows that LQT* never reaches the sec-ond x coordinate. If we regard the waypoints as check-points, as it was previously mentioned, then this behaviorof LQT* is not acceptable.

One way we can make the quadrotor reach the desiredwaypoints is by using the position controller. In compari-son with LQT* trajectory it is obvious that Position controlcannot follow the ideal trajectory. On the other hand, un-like the LQT*, the position controller flies the quadrotoronto the desired waypoints. If we want to achieve both ofthis conditions (i.e. good trajectory tracking and reachingwaypoints), then we need to utilize the offline trajectoryplanning algorithm.

The simulation results shows how the offline trajectoryplanning algorithm creates a simplified trajectory, one thatthe quadrotor LQT controller can successfully follow andreach the desired waypoints at the same time. This plannedtrajectory differs from the ideal trajectory. From Fig. 13it is obvious that this control method has the highest de-viations from the ideal trajectory. These deviations comesolely from the simplified trajectory deviations because theLQT controller accurately tracks the simplified trajectory.This is important if we consider that, during the trajectoryplanning, the operator is made aware of the simplified tra-jectory. This allows him to make the necessary changesand plan the desired trajectory. One more benefit of the

28 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

LQT with trajectory planning is that it reaches every way-point. This happens because the planning algorithm actsas a look - ahead tool which prepares the quadrotor for asharp turn. In effect the trajectory planning algorithm suc-cessfully replaces these sharp turns with a curved trajec-tory that the LQT is able to make.

The tracking accuracy has repercussions to the energyconsumptions. Greater accuracy and speed basically causebigger energy consumptions. In search and rescue orminesweeping operations the terrain inspection is oftenvery slow and time consuming. This means that we donot need to force the aircraft to move quickly. On theother hand, we want to stay airborne for as long as wecan and therefore we need to economize the energy con-sumptions. In simple LQ control, the energy consumptionrequirements are met with tuning the R matrix but this in-evitably causes the problems in tracking capabilities of thecontroller. If the trajectory is dynamically complicated,energy consumption limits the tracking capabilities of thecontroller. We use the trajectory planning algorithm to easethe dynamics of the ideal trajectory and thus economizeenergy consumptions and achieve the desired tracking.

The control signals are presented in figures 13 and 14.The results in these figures show how Position controlhas the highest energy consumptions. Figures 10 and 11show that this type of control causes the highest speeds ofquadrotor. The position control uses the bang-bang controlto move the quadrotor, and this saturates the control signalsand moves the quadrotor very quickly.

The LQT* control, on the other hand, shows much bet-ter power saving capabilities. The control signals enter sat-uration limits only at the beginning of the maneuver. Thishappens because the ideal trajectory has no dynamic re-strictions. The LQT with trajectory planning displays evenbetter results. The control signal of LQT never saturatesand has the lowest overall values compared to other con-trol methods.

5.3 The effect of imbalanced rotor characteristics

Static propulsion characteristic of a rotor is a ratio ofthrust per voltage. For an ideally tuned quadrotor, the staticpropulsion characteristic of each rotor is the same. In real-ity though, the quadrotor is never ideally tuned and there-fore a certain difference in thrust per voltage ratio of eachrotor is expected. This can lead to errors in trajectory track-ing and in some cases it can trigger unstable behavior of thequadrotor.

In these experiments, we have varied the static propul-sion characteristics of rotors 1 and 2. (Fig. 1) The re-sults of these simulation experiments are presented in Fig.15. From these results we can conclude that varying staticpropulsion characteristics of rotors 1 and 2 by a same

0 5 10 15 20 25 30 35 40−1

0

1

2

3

4

5

6

7

time [s]

x p

osi

tio

n [

m]

position controlLQT with splineLQT without spline

Fig. 10. The x position trajectory for different types of

tracking

0 5 10 15 20 25 30 35 40−1

0

1

2

3

4

5

6

7

time [s]

y p

osi

tio

n [

m]

position controlLQT with splineLQT without spline

Fig. 11. The y position trajectory for different types of

tracking

amount affects the x position tracking ability of the hybridcontroller. On the other hand, y position tracking is notaffected with these variations.

A simple review of quadrotor’s physical principals ex-plains this phenomenon. The rotors 1 and 2 are placedon the opposite sides of quadrotor’s frame of reference x

axis. Therefore, the variation of thrust in rotor 1 is can-celed by the same variation of thrust in rotor 2. This causesthe torque variations Mx1 and Mx2 to cancel out eachother. With respect to y axis of quadrotor’s frame of refer-ence, these rotors are placed on the same side. This meansthat with the same voltage applied to all the rotors, the to-tal torque My =

∑4i=1 Myi is equal to 2My2 = 2My1

AUTOMATIKA 51(2010) 1, 19–32 29

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

−1 0 1 2 3 4 5 6 7−1

0

1

2

3

4

5

6

7

x position [m]

y p

osi

tio

n [

m] position control

LQT with splinereferencereferenceLQT without spline

Fig. 12. Quadrotor trajectory in XY plane for different

types of tracking

0 5 10 15 20 25 30 35 40

−0.1

−0.05

0

0.05

0.1

time [s]

Θ [

rad

]

position controlLQT with splineLQT without spline

Fig. 13. Control signal for x position for different types of

tracking

and not zero. This causes a constant interference in y posi-tion control system and thus creates an error in y positiontracking.

The same effect, but on opposite axis, can be expectedif rotors 2 and 3 static propulsion characteristic is varied.This means that different variations on all the rotors causean error in overall tracking ability of this control system.Stronger variations of rotors propulsion characteristics canrender the aircraft unstable.

6 CONCLUSIONThis article introduces a layer based, hybrid quadrotor

controller that provides a stable fly - by - wire and tra-jectory tracking control of the aircraft. In order to cope

0 5 10 15 20 25 30 35 40

−0.1

−0.05

0

0.05

0.1

time [s]

Ψ [

rad

]

position controlLQT with splineLQT without spline

Fig. 14. Control signal for y position for different types of

tracking

5 5.1 5.2 5.3 5.4 5.5 5.6

0

1

2

3

4

5

6

x position [m]

y p

osi

tio

n [

m]

−15%−10%−5%0%5%10%

Fig. 15. Quadrotor trajectory in XY plane for different ro-

tor characteristics

with nonlinear effects and limits of the propulsion system,the highest layer of the proposed controller contains an au-tomaton with predefined states. Each request regarding thechange in position and/or orientation of the quadrotor isdivided in discrete maneuvers that are executed separately,with a predefined sequence. Low level linear controllersare based on a cascade scheme, containing two loops: innerloop for angles and outer loop for 3D coordinates. Theyprovide a stable and fast response to the control referencessent from higher levels of control.

Simulation results, presented in the article confirmed ef-fectiveness of the proposed control scheme. The proposedcontroller efficiently tracks the precompiled search patterntrajectories, utilizing very small amounts of energy. The

30 AUTOMATIKA 51(2010) 1, 19–32

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

proposed interpolation technique creates well balanced tra-jectories that enable the control system to drive the quadro-tor through the predefined waypoints.

Ongoing research is devoted to implementation of theproposed hybrid controller on a quadrotor laboratory setupbased on an embedded microcontrol system. Further de-velopment of this hybrid control system includes develop-ing a robust and adaptive angle control system. This typeof control would stabilize the quadrotor behavior with re-spect to variations in static propulsion characteristics ofrotors. Adaptive control could also be applied to heightcontrol layer, thus making it less affected by certain aero-dynamic effects. (i.e. In Ground Effect, Descent aerody-namic effects).

REFERENCES[1] Gessow and G. C. Mayers, Jr., Aerodynamics of the heli-

copter. New York, USA: Frederick Ungar Publishing Co.,1967

[2] Anderson, S. B. (March), "Historical Overview of V/STOLAircraft Technology", NASA Technical Memorandum81280

[3] "US Army looking at three configuration concepts for largecargo rotorcraft". Flight International, October 9, 2007

[4] S. Bouabdallah and R. Siegwart, “Backstepping andSliding-mode Techniques Applied to an Indoor MicroQuadrotor,” in Proceedings book of the IEEE Interna-

tional Conference on Robotics and Automation, (Barcelona,Spain) pp.2247– 2252, 2005.

[5] S. Bouabdallah, A. Noth and R. Siegwart, “PID vs LQ Con-trol Techniques Applied to an Indoor Micro Quadrotor”, inProceedings book of the International Conference on Intel-

ligent Robots and Systems, (Sendai, Japan), 2004.

[6] P. Adigbli, C. Grand, J. B. Mouret and S. Doncieux, “Non-linear Attitude and Position Control of a Micro Quadrotorusing Sliding Mode and Backstepping Techniques”, WorldAcademy of Science, Engineering and Technology 26 2007

[7] M. Varga, S. Bogdan, “Fuzzy – Lyapunov Based QuadrotorController Design”, in Proceedings book of the European

Control Conference,(Budapest, Hungary), 2009,

[8] L. K. Leppin, The Conversion of a General Motors Cadil-

lac SRX to Drive-By-Wire Status, Master Thesis, VirginiaPolytechnic Institute and State University, 2005

[9] Bramwell, A. R. S., Bramwell’s Helicopter Dynamics

:American Institute of Aeronautics & Ast; 2nd edition, 2001

[10] M. Orsag, S. Bogdan, “Hybrid control of quadrotor”, inProceedings book of the 17th Mediterranean Conference on

Control and Automation, (Thessaloniki, Greece), 2009

[11] P. G. Ranky, C. Y. Ho, “Robot modeling – Control and Ap-plication with software”, IFS (Publications) Ltd., UK, 1985.

[12] K. Yang, S. Sukkarieh, “Real – time continuous curva-ture path planning of UAVS in cluttered environments”, inProceedings book of the 5th International Symposium on

Mechatronics and its Applications (Amman, Jordan), 2008

[13] T. G. McGee and J. K. Hedrick,”Path Planning and Controlfor Multiple Point Surveillance by an Unmanned Aircraftin Wind (Draft)”, in Proceedings book of American Control

Conference, 2006

[14] S. Sharma, E. A. Kulczycki, A. Elfes ,“Trajectory Genera-tion and Path Planning for Autonomous Aerobots” in Pro-

ceedings book of International Conference on Robotics

and Automation, (Roma , Italy), 2007

[15] L. Piegl, W. Tiller, The NURBS book, (New York, USA):Springer - Verlang, 2nd ed., pp. 364 - 365,1997

[16] D. S. Naidu, Optimal control systems, (Boca Raton, USA):CRC Press, Inc., 2002

[17] F. L. Lewis, V. L. Syrmos, Optimal control, 2nd ed. (NewYork, USA): John Wiley & Sons, Inc., 1995

Matko Orsag received his B.S.E.E. in 2008 atthe University of Zagreb, Croatia. He is currentlyemployed at the Faculty of Electrical Engineer-ing and Computing, University of Zagreb, as aresearch assistant and a full-time Ph.D. studentfunded by the Ministry of Science, Education andSports, Republic of Croatia. His main areas ofinterest are autonomous systems, robotics and in-telligent control systems. During his undergrad-uate years he received several student awards, aswell as a 2008. bronze plaque "Josip Loncar" for

overall outstanding academic achievement. He also received the Univer-sity of Zagreb Rector Award for the best student projects in 2006. He isa coauthor of several papers presented at international conferences andpublished in proceedings.

Marina Poropat works at "Tehnozavod-Marušic, Security & Communication Systems",as a project manager. She got her degree at theFaculty of Electrical Engineering (2003-2009,course: Automatics) where she wrote her thesison the theme of "LQR control algorithm on afour-rotor aircraft". During her student days shewas a member of BEST, an international studentorganization where she developed her soft skillsand especially her interest in marketing anddesign. Her major roles include coordinating

different projects, both local and international, as well as being memberof the board of the Local BEST Group Zagreb. Born in a bilingualsurrounding her mother tongue are both Croatian and Italian, she speaksEnglish fluently, German and Japanese passively.

Stjepan Bogdan received his Ph.D.E.E. in 1999,M.S.E.E. in 1993 and B.S.E.E. in 1990 at theUniversity of Zagreb, Croatia. Currently he isan associate professor at the Faculty of Electri-cal Engineering and Computing, University ofZagreb. His main areas of interest are discreteevent systems, intelligent control systems, andautonomous systems. He is a coauthor of threebooks and numerous papers published in journalsand proceedings. He serves as associate editorof IEEE Transactions of Automation Science and

Engineering, Journal of Intelligent and Robotic Systems, Transactions ofthe Institute of Measurement & Control and Journal of Control Theoryand Applications.

AUTOMATIKA 51(2010) 1, 19–32 31

Hybrid Fly-by-Wire Quadrotor Controller M. Orsag, M. Poropat, S. Bogdan

AUTHORS’ ADDRESSESMatko Orsag, M.Sc.Prof. Stjepan Bogdan, Ph.D.Faculty of Electrical Engineering and Computing,University of Zagreb,Unska 3, HR-10000 Zagreb, Croatiaemails :[email protected], [email protected] Poropat, M.Sc.Tehnozavod Marušic d.o.o.,XIII Podbrežje 26, HR-10000 Zagreb, Croatiaemail: [email protected]

Received: 2009-11-16Accepted: 2010-01-24

32 AUTOMATIKA 51(2010) 1, 19–32