state-dependent riccati equation control of a small

11
STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL UNMANNED HELICOPTER Alexander Bogdanov, Magnus Carlsson, Geoff Harvey, John Hunt, Dick Kieburtz, Rudolph van der Merwe, Eric Wan OGI School of Science and Engineering, OHSU 20000 NW Walker Rd, Beaverton, Oregon 97006 This paper is an initial report on flight experiments with a small, unmanned helicopter using a state dependent Riccati Equation (SDRE) controller for autonomous, agile maneuvering. The control design is based upon a full, 6-DoF, analytic nonlinear dynamic model, which is manipulated into a pseudo-linear form in which system matrices are given explicitly as a function of the current state. A standard Riccati equation is then solved numerically in each frame of a 50 Hz. control loop to design the state feedback control law on-line. Several flights have been flown with the helicopter to evaluate the accuracy of tracking under SDRE control in comparison with simulation results. NOMENCLATURE vehicle velocities in longitudinal, lateral and vertical directions vehicle angular (roll, pitch and yaw) velocities Euler angles (roll, pitch and yaw) vehicle position in inertial frame longitudinal and lateral cyclic control inputs main rotor collective and tail rotor collective control inputs wind velocities in longitudinal, lateral and vertical directions helicopter mass moments of inertia around rolling, pitching and yawing axes main rotor thrust tail rotor thrust rotor thrust coefficient inflow ratio advance ratio normal airflow component main rotor induced velocity speed of the rotor blade tip air density main rotor disk area main rotor blade lift curve slope Senior Research Associate, AIAA member Senior Research Associate Research Engineer Senior Engineer Professor Graduate Research Assistant Associate Professor, AIAA member rotor solidity ratio coeff. of non-ideal wake contraction frontal fuselage drag area main rotor hub height above center of gravity (c.g.) tail rotor hub height above c.g. tail rotor hub location behind c.g. vertical tail blockage factor fuselage drag and main rotor induced force in longitudinal direction fuselage drag, main rotor induced force, tail rotor induced force and vertical tail force in lateral direction fuselage drag, main rotor induced force, horizontal tail force in vertical direction main and tail rotors induced rolling moment rolling moment from the vertical tail main and tail rotors induced pitching moment rolling moment from the horizontal tail engine torque counteracting aerodynamic torque from the main and tail rotors yawing moment from the tail rotor and vertical tail longitudinal and lateral flapping angles scaling factor of flap response to speed variation main rotor hub torsional stiffness effective time constant of a rotor with a stabilizer bar longitudinal and lateral cyclic to flap gains INTRODUCTION A helicopter is a highly nonlinear dynamical system for which linear control designs are far from adequate. 1 AMERICAN I NSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Upload: others

Post on 12-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

STATE-DEPENDENT RICCATI EQUATION CONTROLOF A SMALL UNMANNED HELICOPTER

Alexander Bogdanov�, Magnus Carlsson

�, Geoff Harvey

�, John Hunt

�,

Dick Kieburtz�, Rudolph van der Merwe

�, Eric Wan

���OGI School of Science and Engineering, OHSU20000 NW Walker Rd, Beaverton, Oregon 97006

This paper is an initial report on flight experiments with a small, unmanned helicopter using a statedependent Riccati Equation (SDRE) controller for autonomous, agile maneuvering. The control design isbased upon a full, 6-DoF, analytic nonlinear dynamic model, which is manipulated into a pseudo-linearform in which system matrices are given explicitly as a function of the current state. A standard Riccatiequation is then solved numerically in each frame of a 50 Hz. control loop to design the state feedbackcontrol law on-line. Several flights have been flown with the helicopter to evaluate the accuracy of trackingunder SDRE control in comparison with simulation results.

NOMENCLATURE������ vehicle velocities in longitudinal,lateral and vertical directions��������� vehicle angular (roll, pitchand yaw) velocities� ������� Euler angles (roll, pitch and yaw)��������� vehicle position in inertial frame������ ����!�#"%$ longitudinal and lateral cycliccontrol inputs�'&(�)�*����$+&(��� main rotor collective and tail rotorcollective control inputs��,-��.,/�� 0, wind velocities in longitudinal,lateral and vertical directions1 helicopter mass24353 � 24646 � 287�7 moments of inertia around rolling,pitching and yawing axes9':<;main rotor thrust9 $ ; tail rotor thrust=?>rotor thrust coefficient@BAinflow ratioC advance ratioC 7 normal airflow componentD!E :<;main rotor induced velocityD $ EGF speed of the rotor blade tipH air densityI :<;main rotor disk areaJ :<; main rotor blade lift curve slopeK

Senior Research Associate, AIAA memberLSenior Research AssociateMResearch EngineerNSenior EngineerOProfessorPGraduate Research AssistantK�KAssociate Professor, AIAA member

Q rotor solidity ratioR , coeff. of non-ideal wake contractionITS5UWV3 frontal fuselage drag areaX :<;main rotor hub height above centerof gravity (c.g.)X $ ; tail rotor hub height above c.g.� $ ; tail rotor hub location behind c.g.Y $ vertical tail blockage factorZ S5UWV � Z[:<; fuselage drag and main rotor inducedforce in longitudinal direction\ S5U]V � \�:?; fuselage drag, main rotor induced force,\ $ ; � \!^ $ tail rotor induced force and verticaltail force in lateral direction_ S`UWV � _ :<; fuselage drag, main rotor induced force,_-a $ horizontal tail force in vertical directionb :?; � b $ ; main and tail rotors inducedrolling momentb ^ $ rolling moment from the vertical tailcd:<; � c $ ; main and tail rotors inducedpitching momentc a $ rolling moment from the horizontal tailegfengine torque counteracting aerodynamictorque from the main and tail rotorsh $ ; � h ^ $ yawing moment from the tail rotorand vertical tailJ�i]�%j8i longitudinal and lateral flapping angleskmlscaling factor of flap responseto speed variationkonmain rotor hub torsional stiffnessp S]q effective time constant of a rotorwith a stabilizer bark �#�� � k ��"%$ longitudinal and lateral cyclic toflap gains

INTRODUCTIONA helicopter is a highly nonlinear dynamical system

for which linear control designs are far from adequate.

1AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 2: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

We have been exploring nonlinear controllers to pro-vide automatic vehicle control for a helicopter througha broad spectrum of maneuvers and in-flight situations.One technique that has shown considerable promise insimulations involves the approximate solution of a thenonlinear, state-dependent Riccati equation for the dy-namical system in discrete time steps to calculate a feed-back control law that is optimized around the systemstate estimated in each time step. This technique isable to achieve state-tracking control, in which the costfunction to be minimized is quadratic in the differencebetween the actual or estimated state and a commandedstate trajectory. We call this technique State-DependentRiccati Equation (SDRE) control.

For a high-rate controller, such as is required for ve-hicle control of a small helicopter, tracking control withSDRE has not previously been feasible. The computa-tional requirements for real-time solution of the matrixdifferential equations for a complex system could noteasily be met using a computational platform that couldbe carried on board a vehicle. However, the combina-tion of modern computing hardware and a better itera-tive algorithm has enabled us to achieve a higher levelof computational performance than had previously beenpossible. The system we report on here calculates anSDRE control law using a 12-element state vector inapproximately 14 ms. on a 300 MHz. Geode GX1 pro-cessor. This processor also handles sensor inputs, stateestimation and data logging within a 20 ms. time frame,providing control at a 50 Hz. rate.

In this paper we present results from initial flight testsof SDRE control on an instrumented X-Cell-60 acro-batic helicopter. The model helicopter itself is a popularplatform among competition R/C pilots for its capabil-ity to perform aerobatic maneuvers. Although the 7 lb.weight of the avionics package, computer and necessarybatteries carried by the helicopter reduces its nimblenessslightly, it is still capable of flying aggressive maneuversincluding loops, rolls, and split-S turns under the controlof an experienced R/C pilot.

We have used a full analytic nonlinear dynamic modelof the helicopter5 consisting of a six-degree-of-freedom,quaternion model augmented with simplified analyticmodels for the rotor forces, torque, and thrust, flappingdynamics, horizontal stabilizer and vertical tail forcesand moments, fuselage drag, and actuator states.

An analytic model is necessary for the design of anSDRE controller. The SDRE approach involves manipu-lating the system dynamic equations into a pseudo-linearform in which system matrices are given explicitly as afunction of the current state. A standard Riccati equationcan then be solved at each time step to calculate the statefeedback control law on-line.

This method is far more robust than using a standard

LQ approach based on linearization for all system matri-ces. In addition, we derive from first principles a numberof enhancements including dynamic computation of thedesired trim attitude and the corresponding main and tailrotor trim control. The trim control specifies a feed-forward component for faster response, provides partialdecoupling of the main rotor and tail rotor induced dy-namics, and also compensates for approximations in thedynamic model and state-dependent formulation.

THE EXPERIMENTAL VEHICLEOur helicopter and avionics (Figure 1) is a clone of an

MIT research vehicle6 and was, in fact, built by the MITresearch team under contract. The custom avionics pack-age includes an inertial measurement unit (IMU) withthree gyros and three accelerometers, a GPS receiver,a barometric altimeter and a triaxial magnetoresistivecompass. Wireless communications and an on-board mi-croprocessor with compact flash memory in lieu of ahard disk is included.

Fig. 1 X-Cell 60 helicopter with sensors and avionics box

SIMULATION SYSTEMSThe simulation environment comprises a family of

four simulators to support the rapid development offlight ready software. This environment was derivedfrom a similar environment developed in MIT’s In-formation Control Engineering program for the AerialRobotics Project.4 Simulators at increasing levels offidelity and performance include a Matlab implemen-tation, a non-real-time, non-interactive (batch) simula-tor which runs on a Windows platform, an interactive,real-time “software-in-the loop” simulator that includessimulations of sensor and servos, and a hardware-in-the-loop simulator. After a control algorithm has undergonethorough testing in each of these environments, it isdeemed flight ready. Common to all of these simulatorsis a computational flight dynamics model of the heli-copter, implemented in C. This model has been found tobe accurate as a basis for control design through pilot ob-servations and flight-testing by the MIT Aerial RoboticsProject.

2AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 3: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

The Matlab simulator is our preliminary design testbed. It allows control algorithms to be quickly imple-mented and tested. The Matlab simulator is linked viaMatlab Mex functions to the helicopter model. The sim-ulation is set up for either trajectory following, using aflight plan, or velocity tracking, following a set of pre-programmed stick inputs.

The next step is to test the translation of the Matlabcode into C using our batch simulator. This simulationis driven by the same set of stick inputs as the Matlabsimulator. It provides no visual output, instead savingthe state variables in a file for comparison. Using thebatch simulator, the translated control algorithm can becompared to the Matlab version.

The real-time software-in-the-loop simulator is usedto integrate the code into a simulated real-time envi-ronment. The simulator consists of a Windows 2000computer running an OpenGL-based flight visualization;the flight code and the helicopter model are coupled witha serial board that samples pilot input. This simulatorallows the development team to ’fly’ the code while hav-ing full debugging capability and for the pilot to becomefamiliar with giving input to the controller through thesticks on the R/C transmitter.

The hardware-in-the-loop (HIL) simulator utilizes ahardware clone identical in both software and hardwareto the flight control computer on the helicopter. This, ofcourse, provides a real-time simulation of the helicopterwith a computational platform identical to that carriedon board. The clone controls actuators (servos) sampledby a real-time HIL simulator. The HIL simulator runsthe helicopter model, and models sensors down to theelectrical level for the clone. An OpenGL-based visual-ization systems on a Windows 2000 computer uses stateinformation from the HIL simulator, again facilitatingpilot training. It is particularly important that the pilotknows what to expect before proceeding to a field test,for otherwise, there is a tendency for a pilot, concernedwith safety of the aircraft, to override the automatic con-trol, interrupting the acquisition of flight test data.

SDRE CONTROL DESIGNThe SDRE approach3 involves manipulating the vehi-

cle dynamic equationsr�s�t ivuxwzy r�s���{|s.} (1)

into a pseudo-linear form (SD-parameterization), inwhich system matrices are explicitly functions of thecurrent state:r s�t i u�~�y r s })r sv��� y r s }�{ s (2)

A standard Riccati Equation can then be solved at eachtime step to design the state feedback control law on-line

(a 50 Hz sampling rate is used in the flight experiments).Initial work on SDRE applications for helicopter controlis described by Wan and Bogdanov.2, 12 The SDRE reg-ulator is specified as{ s u��v��� i � > y r s })� y r s } y r s }-� �v�dy r s })r s (3)

where � y r s } is a steady state solution of the differenceRiccati equation, obtained by solving the discrete-timealgebraic Riccati equation (DARE)~ >/� � � � � y�� ��� > � � } � i � > ��� ~d� � ��� ux� (4)

using state-dependent matrices ~�y r�s.} and � y r�sz} , whichare treated as being constant. For tracking problems withthe desired state r�� f Vs , the SDRE control can be imple-mented as{|s u��v�dy r�s.} y r�s � r � f Vs }T� �v�dy r�sW}���s (5)

The SDRE control generally exhibits greater stabilityand better performance than linear control laws, and thusis attractive in nonlinear control problems.

To maintain a steady flight along some trim trajectory,a trim control corresponding to the trim trajectory is usu-ally introduced: {s u��v�dy r�s.}���s � { $ ; (6)

This is a typical solution for error-linear control laws.The trim control, { $ ; , is a function of the trim trajec-tory, which is a steady state condition, thus partition-ing vehicle dynamics into linear+angular velocity (fuse-lage frame) and attitude+position (inertial frame) com-ponents we can write:� � Sr E�� s�t i u�w�y r $ ; ��{ $ ; } (7)

For a feasible arbitrary desired trajectory, the referencecontrol can be approximated by scheduling between anumber of trim trajectories. Another approach is to treatthe current commanded trajectory (e.g. commanded ve-locities) as if it were a trim trajectory and recompute thetrim control for this trajectory, { $ ;s , by solving Eqn. (7)at each time step, � . With such a solution, the steady-state error of the vehicle can be made as small as desired,given a gain matrix �dy r s } that stabilizes w�y r s ��{ s } .

For helicopter control, we define observable states tocorrespond to the standard 12 states of a 6-DoF rigidbody model: r�s u y ������ g�����������W� � ��������������������} > ,and vector of controls {�s u y � ���� ��� �#"%$ ��� &(�)� ��� $+&(��� } >corresponding to rotor blade pitch angles.

The helicopter model can be described as a generic6DOF rigid body model with external forces and mo-ments originating from the main and tail rotors, vertical

3AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 4: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

and horizontal fins and fuselage drag. The model weused to design the SDRE control law is discussed in de-tail by Gavrilets, et al.5¡� u �� � ¢� �¤£/¥�¦�§ � � Z©¨ 1¡ u T� � ��� � £?ª8«z¥ � ¥�¦#§ � � \?¨ 1¡ u ��� � 5� � £?ª4«z¥ � ª4«z¥ � � _/¨ 1¡� u �]� y 2 646 � 2 7�7 } ¨W2 353 � b<¨W2 353¡� u �%� y 2 7%7 � 2 353 } ¨W2 686 � c�¨W2 686¡� u ��� y 2 353 � 2 646 } ¨.2 7%7 � hm¨W2 7%7¡� u � � � ¥�¦#§ �0¬%­ § � � � ª4«z¥ �0¬%­ § �¡� u � ª4«�¥ � � � ¥�¦�§ �¡� u � ¥�¦�§ � ¥�®5ª � � � ª8«z¥ � ¥�®5ª �¯ ¡� ¡� ¡�±° > u���²³y ��� � ����} ¯ � ´° >

(8)

Z u Z[:<; � Z S5UWV\ u \ :<; � \ S5UWV � \ $ ; � \�^ $_ u _ :<; � _ S`UWV � _-a $b u b :<; � b-^ $ � b $ ;c u c :?; � c�a $ � c $ ;h u � eµf � h ^ $ � h $ ;where � ² y �¢� � ���z} is a coordinate transformation fromthe fuselage coordinate frame to the inertial frame, andthe product inertia

2 357is assumed to be zero. The

generic 6DOF dynamic equations are also supplementedwith equations of the main rotor lateral and longitudi-nal flapping dynamics, which is approximated in steadystate for the purpose of deriving a control law asj i¶u � p S]q � �¸· j8i· C ^ � .,D $ EGF � k ��"%$ � ��"%$ (9)J�i u � p S]q � � · J i· C � � � ,D $ EGF � · J i· C 7 � ,D $ E¹F� k ���� ��!�#�� (10)

where º "8»º l u¼� º q »º lW½ u¿¾ k l yÁÀ ¨. � &(�)�|� @BA } . The ap-proximated flapping then becomes part of the algebraicnonlinear equations of the main rotor induced forces andmoments in the 6DOF equations1. We then rewrite thisinto a state-dependent continuous canonical representa-tion

¡r u´Ã¤y r�}(r �ÅÄ y r�}){ . This is relatively easy todo, given the 6DOF equations (8) and the fact that forcesand moments originating from the empennage and fuse-lage are described as drag, and hence are naturally state-dependent with respect to linear and angular velocities

1The main rotor flapping approximation in steady state results inunaccounted resonant modes in rolling and pitching dynamics. Simu-lations show that excessive oscillations may arise in some cases whenmodel parameters are insufficiently accurate. To provide better para-metric disturbance robustness, notch filters can be used in lateral andlongitudinal cyclic controls.9

of the vehicle. Thus we can express these componentsas Y u Y A � Æ3`Ç)È UzÉ ^ É , É F É Ê%É ; Y 3`Ç ��Ë (11)

whereY�A

is a state-independent part due to wind anddownwash from rotors (induced velocity). For example,Z S5UWV u Z AS`UWV � Z US5UWV �u Ì�ÍGÎ H I S5UWV3ÐÏ ��Ñ" � �Ñ" � y 0" � DBE :<; }�Ñ4��,�vÌ�ÍGÎ H I S5UWV3ÒÏ � Ñ" � Ñ" � y 0" � DBE :<; } Ñ �where � "�u � � � , , "�u � , , "Óu � , .Tail rotor induced forces and moments and main rotorinduced force and moment around the vertical axis arelinear functions of the rotor thrust or torque. First orderTaylor approximation yields:9 :?; y r����'&(���+}ÕÔ 9 y r���� A &(�)� } �Ö· 9':?;· ��&(��� y �'&(�)� � � A &(��� }u 9�×:<; y r���� A &(�)� } � · 9 :<;· � &(��� �'&(��� (12)

The first term can be linearized with respect to r andthen included into äy r�} or it can be considered as state-independent and compensated as described in the nextsection. In fact, we opted to compensate it directly. Thesecond term is linear with respect to collective controlinput and is included into Ä y r�} . If the rotor thrust com-putation is based on the momentum theory and assumessteady and uniform inflow as described by Gavrilets, etal5 and Padfield10 with the thrust coefficient and inflowratio given by the system of equations=/> u J :<; Q¾ Ø � &(�)� Ø�Ù � C ѾÛÚ � C 7 � @ A¾ Ú@ A u =/>¾ R ,?Ü CÝÑ � ¯ @BA � C 7 ° Ñthen one can derive thrust derivative with respect to theblade collective pitch (i.e.collective control input) as· 9 :<;· � &(��� u H D Ñ$ E¹F I :<; J :<; QÀ Þ ¾Â � C Ñ� =?> J :<; Q @BA y�¾ ¨. � C Ñ }À = Ñ> � = > J :<; Q @ A � Ù`ß @ ²A R�Ñ, y C 7 � @ A }WàSimilar computations are performed to obtain the tail ro-tor derivative.

Main rotor-induced forces and moments around lon-gitudinal and lateral axes are bilinear functions of therotor thrust and flapping angles, assuming small flappingmagnitude.5, 10 To obtain their state-dependent parame-terization, we approximate them with a first-order Taylor

4AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 5: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

expansion around current state, zero cyclic control inputand some (e.g. previous or trim) collective control input.For example, the rolling moment from the main rotor isgiven by:b-:<; u ¯ k n � 9�:<; y r���� &(�)� } X :<; ° j i.y r���� ��"�$ }Ô Ø kon � X :?; ¯ 9 y r���� A &(�)� } � · 9':?;· � &(��� � A &(��� ° Úá j iWy r�� Ì } � j i.y r�� Ì } X :<; · 9 :?;· � &(��� � &(���� ¯ k n � X :<;�9 y r���� A &(�)� } ° · j Ù· ����"%$ � �#"%$� X :<; · 9':<;· � &(��� y �'&(�)� � � A &(��� } · j Ù· � ��"%$ �!�#"%$ (13)

Note that although the last term is not suitable for state-dependent parameterization due to bilinearity with re-spect to control, its influence can be neglected. Such anassumption can be justified by the dominant influenceof stiff blades attached to a hingeless rotor hub (largek n

). Clearly, the flapping equations (10) are presentablein a state-dependent form with the addition of a state-independent component from wind. Therefore, forcesand moments that are bilinear functions of thrust andflapping can also be parameterized in a state-dependentform with some state-independent components originat-ing from wind in the flapping equations and from the lastcontrol-bilinear term in Eqn. (13).

Denoting9 ×:<; u 9 y r���� A &(�)� } � º >]âÝ㺠UWä+å*æ � A &(��� , the matricesÃçy r�} and Ä y r�} are then given explicitly for the X-Cell-

60 model in Figure 2. Then ~�y rs.}�� � y r�sz} are obtainedfrom Ãçy r�}�� Ä y r�} by approximate discretization at eachtime step, i.e. ~©y r�s.} uéè]ê<ëíì³î4ïÁð $ � � y r�s.} u Ä y r�sz}�ñóò .To compensate for the effects caused by linearization andby state-independent terms not accounted in the formu-lation of Ãçy r�} and Ä y r�} , a feedforward compensator isdesigned, as described in the next section.

Implementation of the SDRE controller as describedby Eqn. (6) at a sampling rate of 50 Hz on the on-board 300MHz computer is computationally demand-ing, mostly due to the necessity of solving the DARE,Eqn. (4). To calculate a control algorithm in real time,the commonly used Schur algorithm is not feasible. Asan alternative, Kleinman’s iterative algorithm7, 8 can beused to solve the continuous algebraic Riccati equation.The solution obtained can be used to design a discrete-time linear quadratic regulator.

Another method, which we opted to use, is a direct,iterative propagation of the difference Riccati equation:�gs u ~ > y �gs�t i<� �gs�t i � y+� ��� > �gs�t i � } � iá � > �gs4t i } ~ �ô� (14)

In just a few iterations, it converges to an approximatesolution of DARE with sufficient accuracy to calculate

a control law for the increment of trajectory traversedin the next time step. The algorithm is initialized with�öõ u � or by using the solution obtained at the previ-ous sampling interval.

FEEDFORWARD COMPENSATIONAs discussed in the previous section, reformulation of

dynamic equations 8 into a state-dependent form doesnot yield an exact parameterization due to various ap-proximations, disturbances and state-independent terms:w�y r�s���{s.}�÷u�~�y r�sz}(r�s �Ó� y r�s³}){|s (15)

In such case, one may expect the dynamic response ofthe actual and approximated systems to differ. To over-come this problem, we split the control design into twoparts. First, we design the SDRE control for the state-dependent system (described by the right-hand side ofEqn. (15)) as in Eqn. (5). Let us denote the computedSDRE control as { V �s . Next, we design a feedforwardcompensator ø{|s , which provideswzy r s ��{ V �s � ø{ s }TÔ ~�y r s })r sv��� y r s }�{ V �s (16)

The control law is then described as a combination ofthe SDRE control and the feedforward compensator,{|s u { V �s � ø{|s , as is graphically illustrated in Figure 3.In addition to compensation of the unaccounted state-independent terms, the feedforward control providesmeans for further changing the previously obtained state-dependent parameterization ~�y r s }4� � y r s } . For exam-ple, dependency of the yawing dynamics on the enginetorque and, hence, on the main collective control inputcan now be excluded (as is already done in the systemmatrices presented in Figure 2). The excluded depen-dence is then compensated by the corresponding ø{ s . Thepurpose of the feedforward compensator can be viewedas matching the vehicle’s response (Eqn. (1)) to the re-sponse of the dynamic system described with Eqn. (2) tocorrect for inherent inaccuracies in a state-dependent re-formulation of the vehicle dynamics (Eqn. (15)). Thus,the feedforward control also plays a role of the referenceinput (as in Eqn. (6)), automatically providing systemperformance close to the potential of the SDRE design.

Moreover, feedforward compensation provides ameans for wind disturbance rejection, given an estimateof the wind velocity at the coordinates of the aircraft.Since a small helicopter is far more sensitive to winddisturbance than would be a larger aircraft, the potentialimprovement in control that may be obtained with feed-forward compensation can be significant.

Design of a feedforward compensator

As discussed in the previous section, part of the he-licopter dynamics (given main rotor flapping approxi-mated in its steady state), with direct control inputs, can

5AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 6: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

ù|ú û8üWý

þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ�

���� ������ ��������������� � � � � ������ �����! "������� ��� � � # $ �&% ������� # # ��')(+** #-, , , #�.� /�10+2435�6 798 2433;: ��< =>���!? � �����@� � � 8 A � � 3CB D /�10 A � �@E �1F 5 =HGJI��K B # /�<0 2 K3L: 8 A � � K B '-M@N (+OO #P#-, , , #� � D /�10HQ.R5�6!798 Q.RS : B # /�TQ�US : # # #P#-, , , ## V ?? �WHX&X �Y =H��� ? S ��� ������LZ�[)\W>X;X�� � � � # � $ �&%&] S ��� ������;Z^[)\!_WHX;X W+`H`!abWLcLcd WHX;X � W>`H`!abWLcLcd W>X;X � 8 V �? �W>X;X # #P#-, , , #

�e ����� S ��� ������ Z�[ \W `H` ��� � � # f4gh �W `H` �� �����i S ��� ������ Z�[ \W `H` ��� � � W H abWLj�jd W `H` � flkh �W `&` � $ �&% ] S ��� ������ Z�[ \ _W `H` W H abWLj�jd W `H` � # #P#-, , , ## # # W>X;X abWLm@md W H � WHX;X!abW;m�md W & D # # #P#-, , , ## # # n o;p-q N M p-q N # #P#-, , , ## # # # M p � o;p # #P#-, , , ## # # # o;p�r M�N M p�r M@N # #P#-, , , #M@stM�N � o s�M p 88 M@s o N oLp o s oLp 88 M�stM puo N # # # # #P#-, , , #o s�M@N M@stM p 88 o;puo N o s ��M@s o;p 88 o N o stM p # # # # #P#-, , , #� o N M�N oLp M@NiM p # # # # #P#-, , , #

v�wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwx

y1z {)|.}

~���������������������������

���!�)��� ��� �i��+�>� �� �!� �� � � �>� � � � � � ��� �@���� �!�)�� � �+�H� �� �!�)� � ��� � � �+�H� �� �!�&�� � � �&� �&� � �u� �@���� �!�)�� � �+�H� ��� ���� � � �� � � �+�H�� � � ��¡� �!�¢�� � �+�H� �� £t¤i¥9¦ �¢�@�i�¢��� �u� �!��+�H� �§&¨L¨ �!�&�� � � �&� �&� � �u� ��� ¦ �¢�§&¨L¨ � �!�)�� � �+�H� ��� � ¦ � �§&¨L¨ � � � �� � � �+�H�£t¤i¥)¦ �¢�L�i�¢� � �u� � � �+�H� �§H©&© �i� �� � � �>� � � � � ��� �@� ¦ �¢�§H©&© � �i�¢�� � �+�>� �� � � � �+ª!� �§&«&« � � � �� � � �+�>�� � � �¬¬¬ ¬¬¬ ¬¬¬ ¬¬¬� � � �

­ ®®®®®®®®®®®®®®®®®®®®®®®®®®¯Fig. 2 State-dependent system matrices.

be partitioned as¡� u ° i y r�} �²± i y r�����&(���(�������� �}¡ u ° Ñ y r�} �²± Ñ y r�����&(���(������"%$%����$+&(��� }¡ u ° ² y r�} �²± ² y r�����&(���(� £ }¡� u °9³zy r�} �²± ³�y r���� &(��� ��� ��"%$ ��� $+&(��� } (17)¡� u °µ´³y r�} �²± ´�y r���� &(��� ��� ���� }¡� u °µ¶³y r�} �²± ¶�y r���� &(��� ��� $+&(�)� }

Feedforwardcompensator

Helicopterdynamics

q−1

Vehicle

kx kx

kx

1k +x

ku�

sdku

kx

deskx ke

ku

sdku

trku

SDRE

( )kK x

Fig. 3 Control diagram

where functions ° i Í�Í#Í ° ¶ are SDRE-parameterizable, andfunctions ± i Í�Í#Í ± ¶ have to be linearized with respect tocontrol and also include all state-independent terms.Functions ± i.Í�Í#Í ± ¶ are also bijective with respect to eachcontrol input at any fixed r and other controls. Sucha system allows for efficient dynamic cancellation ofthe state-independent components (including those in-duced by the gravity £ and engine torque unaccountedin the SDRE-parameterization) by means of the predic-tive feedforward compensation. Denoting elements ofÄ y r�} as j E Ë , the compensating control ø{ is computed tosatisfy Æ j E Ë y r�}(� V �Ë u ± E y r���{ V � � ø{|} (18)

In particular, from Eqn. (17) and Figure 2ø� &(��� u ± � i² y r���j ²�² � V �&(��� � £ } � � V �&(�)�ø� $+&(��� u ± � i¶ y r���j ¶�³ � V �$+&(��� ��� V �&(�)� � ø� &(�)� } � � V �$+&(�)�For example, using notations accepted in the previoussection and considering SDRE parameterization given in

6AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 7: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

Figure 2, for the vertical velocity dynamics we have

± ² u Ù1 Ø _ AS5U]V � _ Aa $ � 9':<; y r���� V �&(��� � ø� &(�)� }� 1 £?ª4«z¥ � ª4«z¥ � Úand thenø� &(�)� u 9 � i:<; Ø r���1�j ²�² � V �&(��� � _ AS5UWV � _ Aa $� 1 £/ª8«z¥ � ª8«z¥ � Ú � � V �&(�)�Thus, the main rotor collective feedforward control ø� &(�)�provides “cancellation” of gravity and state-independentterms from the horizontal tail force and the fuselage dragin the vertical direction (fuselage frame); tail rotor col-lective feedforward control ø� $+&(�)� dynamically compen-sates unaccounted effects of the vertical tail and enginetorque resulting from the total main collective control.Two remaining compensator outputs ø� ���� and ø� ��"%$ arecomputed to satisfy Eqn. (16). Unfortunately, the exactequality can not be attained: the system is overdeter-mined (two variables ø���#�� and ø����"%$ can not accuratelybalance four remaining equations of roll, pitch, forwardand side velocity dynamics). Since the roll and pitchvelocities dynamics are more prone to oscillations as-sociated with the neglected flapping dynamics and itsresonant modes, we chose to compute the longitudinaland lateral compensator outputs to match the vehicle’sresponse in roll and pitch velocities to the one of theSDRE-parameterized model:ø� �#"%$ u ± � i³ y r���� &(�)� � ÆË È Ñ É ² É ³ j ³ Ë8� V �Ë ��� $+&(�)� } � � V ���"%$ø� ���� u ± � i´ y r���� &(�)� � ÆË È i É ² j ´ Ë8� V �Ë } � � V ����� where � × u � V �× � ø� × . Disturbances caused by the un-accounted feedforward control in the SDRE design inforward and side velocity dynamics are attenuated by theSDRE feedback. As shown by simulations, their effectis negligible.

Although it allows fast, direct cancellation of unac-counted in the SDRE design terms, the feedforward con-trol has a disadvantage of being directly affected by para-metric disturbances. If model parameters are not knownexactly, there will be an over- or under-compensation.To avoid such undesirable effects, we added an integralcontrol and online parameter estimation.

Further details on the feedforward compensator de-sign for a small-size helicopter model are given by Bog-danov and Wan.1

SIMULATION RESULTSThe plots in this section demonstrate control capa-

bilities in two simulated flights. The first simulation

(Figures 4–12) illustrates the potential improvement incontrol accuracy when a constant wind disturbance ismitigated by feedforward compensation. The desiredtrajectory consists of several segments: a vertical climbat 5 m/s to hover, followed by a square at 5 m/s, then acircle and a second circle with the vehicle nose pointedto the center, both flown at 10 m/s. State estimation isprovided by an extended Kalman filter (EKF) which lin-earizes the state equations around the current (estimated)state. The actual (simulated) state component is shownfor comparison in each plot. Figures 4–6 show the flightpath in the horizontal plane, yaw angle and velocity, andaltitude with SDRE control when no wind is present.

−150 −100 −50 0 50 100

−200

−150

−100

−50

0

Y, m.

X, m

.

Path

ActualDesiredEstimated

Fig. 4 Trajectory following without wind

0 20 40 60 80 100 120 140−200

−100

0

100

200

time, s.

psi,

deg.

Yaw angle, psi(t)

ActualDesiredEstimated

0 20 40 60 80 100 120 140−60

−40

−20

0

20

40

60

time, s.

r, de

g/s

Yaw velocity, r(t)

ActualDesiredEstimated

Fig. 5 Yaw tracking without wind

When a constant wind of 5 m/s from the west is addedto the simulated environment but is not compensatedfor in the controller, tracking quality diminishes. Thisis a direct result of unaccounted wind-induced state-independent terms, influence of which becomes moredominant as the wind increases. Wind affects bothmain and tail rotors thrust and torque, changes fuselage

7AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 8: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

0 20 40 60 80 100 120 140−20

0

20

40

60

80

100

time, s.

Alti

tude

, m.

Altitude, −Z(t)

ActualDesiredEstimated

Fig. 6 Altitude tracking without wind

drag and adds additional force on vertical and horizontaltails. Moreover, both rotors’ thrust will suffer additionalchanges as helicopter attitude changes (due to wind rela-tive redirection). All these effects decrease effectivenessof the feedforward compensator, resulting for examplein position errors due to induced drag; yaw errors dueto added pressure on the vertical tail and modified thrustand torque from both rotors; and poorer altitude hold dueto main rotor thrust changes. Figure 7 shows the de-viation of the flight path in the horizontal plane causedmainly by additional wind-induced fuselage drag. Inte-gral control helps to maintain satisfactory (though not asgood) yaw control (Figure 8), but flight altitude (Figure9) is subject to larger fluctuations. Poorer altitude hold isespecially noticeable in mode transitions, where changesin roll and pitch make wind vary quickly relatively to themain rotor disk, thus creating rapid fluctuations in therotor thrust.

−150 −100 −50 0 50 100

−200

−150

−100

−50

0

Y, m.

X, m

.

Path

ActualDesiredEstimated

Fig. 7 Trajectory following with 5m/s wind from the west

Assuming that accurate wind estimation is available,feedforward compensation in combination with SDRE

0 20 40 60 80 100 120 140−200

−100

0

100

200

time, s.

psi,

deg.

Yaw angle, psi(t)

ActualDesiredEstimated

0 20 40 60 80 100 120 140−100

−50

0

50

100

time, s.

r, de

g/s

Yaw velocity, r(t)

ActualDesiredEstimated

Fig. 8 Yaw tracking with 5m/s wind from the west

0 20 40 60 80 100 120 140−20

0

20

40

60

80

100

time, s.

Alti

tude

, m.

Altitude, −Z(t)

ActualDesiredEstimated

Fig. 9 Altitude tracking with 5m/s wind from the west

control is able provide nearly the same accuracy in track-ing as if there were no wind (Figures 10–12). We arecurrently developing online wind and parameter estima-tion using sigma point Kalman filtering techniques.11

To demonstrate agile maneuvering capabilities, wehave simulated a second trajectory consisting of a ver-tical climb at 5m/s to hover, then forward flight at 5m/swith an axial roll, followed by continued forward flight,finishing in hover. The entire trajectory is controlledby a common closed-loop controller, without mode-switching to separate control logic. Thus it illustratesthe capability of an SDRE controller equipped with thefeedforward compensator to provide modeless controlthroughout a series of maneuvers.

Figure 13 shows the accuracy of tracking of roll angleand roll velocity during the axial roll maneuver. Notethat this figure is plotted on an expanded time scaleshowing only nine seconds of the simulation. Figures 14and 15 are also zoomed around the axial roll maneuver.

8AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 9: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

−150 −100 −50 0 50 100

−200

−150

−100

−50

0

Y, m.

X, m

.Path

ActualDesiredEstimated

Fig. 10 Trajectory following with 5m/s wind from the west,feedforward wind compensation

0 20 40 60 80 100 120 140−200

−100

0

100

200

time, s.

psi,

deg.

Yaw angle, psi(t)

ActualDesiredEstimated

0 20 40 60 80 100 120 140−100

−50

0

50

100

time, s.

r, de

g/s

Yaw velocity, r(t)

ActualDesiredEstimated

Fig. 11 Yaw tracking with 5m/s wind from the west, feed-forward wind compensation

0 20 40 60 80 100 120 140−20

0

20

40

60

80

100

time, s.

Alti

tude

, m.

Altitude, −Z(t)

ActualDesiredEstimated

Fig. 12 Altitude tracking with 5m/s wind from the west,feedforward wind compensation

36 37 38 39 40 41 42 43 44 45−200

−100

0

100

200

time, s.

phi,

deg.

Roll angle, phi(t)

ActualDesiredEstimated

36 37 38 39 40 41 42 43 44 45−100

−50

0

50

100

150

200

250

time, s.

p, d

eg/s

Roll velocity, p(t)

ActualDesiredEstimated

Fig. 13 Roll tracking during axial roll maneuver

25 30 35 40 45 50−20

−15

−10

−5

0

5

time, s.

thet

a, d

eg.

Pitch angle, theta(t)

ActualDesiredEstimated

25 30 35 40 45 50

−30

−20

−10

0

10

time, s.

q, d

eg/s

Pitch velocity, q(t)

ActualDesiredEstimated

Fig. 14 Pitch changes during axial roll maneuver

36 37 38 39 40 41 42 43 44 45−180

−175

−170

−165

−160

−155

−150

time, s.

psi,

deg.

Yaw angle, psi(t)

ActualDesiredEstimated

36 37 38 39 40 41 42 43 44 45−30

−20

−10

0

10

20

time, s.

r, de

g/s

Yaw velocity, r(t)

ActualDesiredEstimated

Fig. 15 Yaw tracking during axial roll maneuver

EXPERIMENTAL RESULTSAt the time of writing, initial flight tests have been

conducted to verify the effectiveness of SDRE control in

9AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 10: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

0 5 10 15 20 25 30 35 40 45 50−20

0

20

40

60

80

100

time, s.

Alti

tude

, m.

Altitude, −Z(t)

ActualDesiredEstimated

Fig. 16 Altitude hold during axial roll maneuver

tracking a commanded velocity profile provided by a hu-man pilot via an R/C transmitter. In the initial flights, ahuman pilot, using conventional R/C control, conductedtakeoffs and landings of the helicopter. Once airborne,control was switched from piloted mode to automaticcontrol, in which the role of the pilot was to provide acommanded velocity vector through manipulation of thecontrol sticks on the R/C transmitter. The onboard flightcomputer, running an SDRE controller, provided the ac-tuator control to track the commanded velocity inputs.After a period of automatically controlled flight, the hu-man pilot switched control back to manual operation andlanded the helicopter.

In flying a varied trajectory of turns, climbs and de-scents in light wind (estimated at 3-6 km/hr) the SDREcontroller maintained continuous control of the vehicleand maneuvered approximately as expected by the pi-lot. However, quantitative measures of the control weredifficult to obtain from the recorded data, as the effectof pilot feedback in “correcting” an observed trajectorycannot be accounted for.

Full state tracking was not attempted in the initialflights because the position estimates obtained from theinstalled GPS receiver were deemed insufficiently accu-rate to provide a basis for feedback control. With theinstallation of an upgraded, faster (10 Hz) GPS receiver,fully autonomous tracking pre-programmed trajectorieshave become possible. Data from current experimentswill enable quantitative evaluation of the performance,stability and accuracy obtained with real-time SDREcontrol.

CONCLUSIONS AND FUTURE WORKThe feasibility of a real-time, SDRE controller to pro-

vide automatic control of an autonomous flight vehiclehas been demonstrated with a small helicopter in initialflight testing. The automatic control successfully stabi-

lized the helicopter as it executed a series of maneuversincluding rapid turns, climbs and descents in response tocommanded velocities given through an R/C transmitterby a human pilot.

Future flight tests will extend the tracking control tofull state tracking (position and orientation as well aslinear and angular velocities), and ultimately, to accom-plishing fully automatic, programmed flights from take-off to landing.

Capping the flight demonstration of SDRE control, weplan to demonstrate its effectiveness on Georgia Tech’sGTMax flight platform, an instrumented Yamaha RMaxhelicopter, during the summer and early fall of 2003.This will lead up to the demonstration phase of DARPA’sSoftware-Enabled Control program.

ACKNOWLEDGMENTSThis work was supported by the DARPA Software-

Enabled Control program under contract No. F33615-98-C-3516.

References·A. A. Bogdanov and E. A. Wan. SDRE Control with Nonlinear

Feedforward Compensation for a Small Unmanned Helicopter. In Pro-ceedings of the 2nd AIAA ”Unmanned Unlimited” Systems, Technolo-gies, and Operations Conference, San Diego, CA, September 2003.¸

A. A. Bogdanov, E. A. Wan, M. Carlsson, Y. Zhang, R. Kieburtz,and A. Baptista. Model predictive neural control of a high fidelityhelicopter model. In Proceedings of the AIAA Guidance Navigationand Control Conference, Montreal, Quebec, Canada, August 2001.¹

J. R. Cloutier, C. N. D’Souza, and C. P. Mracek. Nonlinear regu-lation and nonlinear H-infinity control via the state-dependent Riccatiequation technique: Part1, Theory. In Proceedings of the InternationalConference on Nonlinear Problems in Aviation and Aerospace, FL,May 1996.º

E. Feron, V. Gavrilets, B. Mettler, and J. Padu-ano. MIT aerial robotics project simulation system. URL:http://gewurtz.mit.edu/research/heli.htm, 2000.»

V. Gavrilets, B. Mettler, and E. Feron. Nonlinear model for asmall-size acrobatic helicopter. In Proceedings of AIAA Guidance Nav-igation and Control Conference, Montreal, Quebec, Canada, August2001.¼

V. Gavrilets, A. Shterenberg, M. A. Dahleh, and E. Feron. Avion-ics system for a small unmanned helicopter performing aggressivemaneuvers. In Proceedings of 19th Digital Avionics Systems Confer-ence, Oct. 2000.½

D. L. Kleinman. On an iterative technique for Riccati Equa-tion Computation. IEEE Transactions on Automatic Control, AC-13(1):114–115, 1968.¾

P. K. Menon, T. Lam, L. S. Crawford, and V. H. L. Cheng. Real-time computational methods for SDRE nonlinear control of missiles.In Proceedings of AIAA Guidance Navigation and Control Conference,Monterey, CA, August 2002.¿

B. Mettler, V. Gavrilets, E. Feron, and T. Kanade. Dynamiccompensation for high-bandwith control of small-scale helicopter. InAmerican Helicopter Society Specialist Meeting, San Francisco, CA,January 2002.·�À

G. D. Padfield. Helicopter flight dynamics: the theory and appli-cation of flying qualities and simulation modeling. American Instituteof Aeronautics and Astronautics, Inc., Reston, VA, USA, 1995.

10AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS

Page 11: STATE-DEPENDENT RICCATI EQUATION CONTROL OF A SMALL

·Á·R. van der Merwe and E. Wan. Sigma-Point Kalman Filters for

Probabilistic Inference in Dynamic State-Space Models”. In Proceed-ings of the Workshop on Advances in Machine Learning, Montreal,Canada, June 2003.· ¸

E. A. Wan and A. A. Bogdanov. Model predictive neural controlwith applications to a 6 DoF helicopter model. In Proceedings of IEEEAmerican Control Conference, Arlington, VA, June 2001.

11AMERICAN INSTITUTE OF AERONAUTICS AND ASTRONAUTICS