Home
pEst Version 2.1 User's Manual
Contents
1. Operationally the measured time history file is divided into one or more time intervals called ma neuvers ach maneuver is treated as a complete and separate time history record in the integration of the equations of motion the integration is reinitialized at the beginning of each maneuver All maneu vers are used together in the estimation process program variables including estimated parameters apply to all time points in all maneuvers The program automatically breaks the time history into maneuvers when reading the file a new maneuver is defined when one of two conditions is found Both conditions are based on time values for successive time points read If the time is nonincreasing or if the time increment exceeds a certain value 1 0 sec then a new maneuver is started In the simplest and most common case the file consists of a single maneuver The maneuver times defined by the program may be displayed see section 4 7 8 By default pEst expects the time history data to be on a file named measured Other file names can be specified by user command The measured time history file is normally produced by the GetData program which selects the desired times and signals from the available data The pEst program recognizes signals by their names thercfore the signal names on the file must match those expected by pEst The GetData program can rename signals if required The signal names expected by the standard user routines are document
2. reasonable situations this should be far more accuracy than you will need For highly unstable systems it is possible for the rounding to 10 digits to make the restored state noticably different than that originally saved The validity of the estimates for any case in which this effect is noticable is in serious doubt anyway SEE ALSO save read KEYWORDS restore command restore read load current status AUTHOR James Murray VERSION 2 1 DATE 11 19 85 B 24 Save save cmd save current status to a file USAGE save fileName PARAMETERS filename filename or pathname of the file to be written If not specified it defaults to the same name as last specified on a RESTORE command If no fileName has been specified by any restore command in the current run the name defaults to current DESCRIPTION Saves current program status to a file The program status includes the values of all parameters and program options The resulting file can be used for several purposes The program can later be restored to the saved point by using the restore command The file can be input to plotting programs or other programs that use the parameter values estimated by pEst The file can also be printed it is ascii as a record of the results EXAMPLES save save current case23 19Nov85 CAVEATS Note that the default fileName is taken from the last RESTORE command rather than the last SAVE command The logic behind this is
3. 3 INTERFACE TO OTHER PROGRAMS The plist package must be installed on your computer Depending on the operating system and specific installation a few features of the program may not be available notably the help facility The pEst package consists of three separate programs The pEst program itself is the parameter estimation program The thPlot program plots time history data and time history fits The GetData program ref 3 selects signals and maneuver times for analysis In use the pEst program interfaces with these and other programs through several files external to the program All file names used by pEst and other programs are italicized in the following sections only to distinguish them from other text 3 1 Measured Time History Data A file of measured time history data for the case to be analyzed must be available in a form suitable to the program The program reads the entire measured time history file into memory the upper limit on the number of time points that the program can handle is 2000 This limit can be easily changed by a single line modification in the program code While you can interactively select subsets of the time history for use in the analysis see section 4 7 8 it is most convenient for the measured time history to approximate the time interval or intervals to be used The time between sample time points on the file need not be constant The measured time history data file is never rewritten or altered by pEst
4. status AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 3 18 86 B 16 Parameters parameters var estimated parameters DESCRIPTION The following are the names and brief descriptions of the estimated parameters currently defined in pEst Instrument positions are positive aft above and right of the reference point 44 NAME cNormO cNorma cNormq cNormde cNormdi cNormd2 cNormd3 cm0 cma cmq cmde cmd1 cmd2 cmd3 ca0 caa caq cade cadi cad2 cad3 vO alpha0 q0 theta0 vBias alphaBias qBias thetaBias anBias axBias qdotBias ka xa ya za xan yan zan DESCRIPTION normal normal normal normal deg normal normal normal force force force force force force force aerodynamic bias due to alpha per deg due to pitch rate per rad due to elevator deflection per due to di deflection per deg due to d2 deflection per deg due to d3 deflection per deg pitching moment aerodynamic bias pitching moment due to alpha per deg pitching moment due to pitch rate per rad pitching moment due to elevator deflection per deg pitching moment due to di deflection per deg pitching moment due to d2 deflection per deg pitching moment due to d3 deflection per deg axial axial axial axial deg axial axial axial force force force force force force force aerodynamic bias due to alpha per deg due to pitch rate per rad due to elevator deflection p
5. Second the corresponding measured response variable can be used if available Third for some state variables a constant value can be used The program flags and the status of the state variables determine the source of each state variable on the right hand side of the equations Five flags specify using average values of measurement variables V a 6 6 and in the equations If a flag is turned on the value of the corresponding constant variable is used in the equations If the flag is not turned on or if there is no corresponding flag for the state variable the status of the state variable determines the source If the state variable is active the computed state time history is used If the state variable is inactive the corresponding measurement variable is used Two additional flags specify the source of the extra time history variables such as g on the right hand side of the equations If the flag for an extra variable is turned on the value of the corresponding constant variable is used otherwise the measured time history of the extra variable is used 6 1 1 State equations The predicted state variables are obtained by integrating the state equations defined in the following equations gsR ft r a a q tan P pcos a rsina oa gk cos 6 cos cos a sin sin a V cos 6 B A Oy mV cos p cos O sin sin P cos cos sin a sin O cos a Isp Lay4 Iszt GsbCeR qr Iy
6. The pEst program allows the user complete generality in defining the nonlinear equations of motion used in the analysis The equations of motion are specified by a set of FORTRAN subroutines a set of routines for a general aircraft model is supplied with the program and is described in the report The report also briefly discusses the scope of the parameter estimation problem the program addresses The report gives detailed explanations of the purpose and usage of all available program commands and a description of the computational algorithms used in the program INTRODUCTION Parameter estimation techniques in one form or another have been in use at NASA Ames Research Centers Dryden Flight Research Facility Ames Dryden and other research organizations for many years High speed digital computers were first used for parameter estimation in 1968 ref 1 and the number of parameter estimation computer programs available has since greatly increased The MMLE3 program modified maximum likelihood estimation program version 3 developed at Ames Dryden ref 2 has been accepted as an industry standard for aircraft parameter estimation and has been used on a variety of aircraft programs The MMLE3 program is representative in two respects of the majority of parameter estimation programs currently in use First it is designed for use solely ina batch processing environment Second the equations of motion defining the dynamic model used in the prog
7. is completed or the convergence criterion see section 4 7 4 is met The iterative process may terminate with one or several error messages if any of numerous problems is detected If the estimation is prematurely terminated all progress made up to the point of failure is retained and is reflected in the current program status Examples of the iterate command are Iterate 6 newton raphson it 3 IT 10 4 6 System Variable Commands The equations of motion define the dynamic system analyzed by the program The equations of motion contain numerous time history and parametric variables defining the specific characteristics of the dynamic system The system variable commands allow you to display and to modify these variables and therefore the characteristics of the dynamic system The time history and parametric variables are vector variables and each vector element has several characteristics or attributes Each system variable command allows you to display and to modify the attributes of selected elements of a specified vector The first part of each system variable command selects elements of the vector to be displayed or modified The syntax of this specification is common to all system variable commands A generalized list of vector elements follows the command name The list can be a list of element names delimited by commas or blanks It can also be one of two key words all or active all selects all elements of the vector and active sele
8. o 22 6 2 1 3 Instrumentation parameters Numerous parameters characterize instrumentation installa tion and calibration Each response variable has a corresponding response bias parameter The bias value is added to the computed response variable value at each time point The dimensions of each response bias parameter are the same as the dimensions of the corresponding response variable Re sponse bias parameters are vBias V alphaBias ap qBias q thetaBias 6 anBias an axBias as qdotBias qp betaBias 4 pBias pp rBias rb phiBias fp ayBias a pdotBias pp and rdotBias tp Several response measuring instruments have parameters describing their location in the aircraft Each instrument position parameter specifies the location of a response measuring instrument aft of to the right of or above the aircraft reference point Instrument position parameters correct computed response values for instruments not located at the aircraft center of gravity In operation the program determines the distance from the instrument to the center of gravity by subtracting the instrument position from the center of gravity position see section 6 2 2 1 The dimensions of all instrument position parameters are feet Table 3 gives the instrument position parameter names TABLE 3 INSTRUMENT POSITION PARAMETERS Aircraft axis Response variable X Y Z Velocity xv zv yv yv zv zy Angle of attack xa a ya
9. times and avg_ constants on the status file are rejected instead the windows are set equal to the available maneuvers and the avg_ constants are set equal to the average measured values For similar reasons the window times and avg_ constant values are reset every time a read command is executed On initial startup if the automatic read command works the program automatically attempts a restore command for the file name current Unlike the read command which must succeed before you can analyze any data the restore command is technically optional It is possible to analyze a case without ever reading a status file All of the items set by the restore command have default values In some cases where no meaningful default is possible the default value is an illegal one for instance weight defaults to 0 Such values must be reset either by a restore command or by manual entry before estimation can procede The program will give an error message if you attempt estimation without setting these variables to legal values EXAMPLES restore restore current case13 CAVEATS Because of the interaction between the read and restore commands you must be cautious of the order in which you execute them If you want to do a read command and a restore command to completely restore a previously saved status the read command must precede the restore command The data on the saved file is in ascii form accurate to only about 10 digits For
10. 2 System Variables and Names The standard user routines define the names of all system variables parameters constants states controls responses extras and flags In program use all system variables are accessed by their given names 6 2 1 Parameters The standard user routines define 97 parameters Parameter subsets are defined below Each parameter is individually documented in the parameters help file 6 2 1 1 Stability and control derivatives Any parameter whose name starts with the letter c is a stability or control derivative There are three classes of stability and control derivatives aerody 21 namic biases control derivatives and stability derivatives Each derivative is nondimensionalized the details of the nondimensionalization depend on the parameter All aerodynamic biases are completely normalized they are dimensionless All rotational rate derivatives are expressed in reciprocal radians All a 8 and control derivatives are expressed in reciprocal degrees The reason for the apparent inconsistency in nondimensionalization is historical and follows existing conventions The stability and control derivatives can be divided into longitudinal and lateral directional deriva tives though there is some overlap in the control derivatives Tables 1 and 2 tabulate the longitudinal and the lateral directional stability and control derivatives respectively In the tables and text math ematical variables in parentheses fo
11. ALSO response cmd states var KEYWORDS state command set change list show display state equation variable status add delete state equations AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 3 17 86 B 28 States states var state variables DESCRIPTION The following are the names and brief descriptions of the state variables currently defined in pEst NAME DESCRIPTION v velocity ft sec alpha angle of attack deg q pitch rate deg sec theta pitch attitude deg beta angle of sideslip deg p roll rate deg sec r yaw rate deg sec phi bank angle deg SEE ALSO state parameters constants flags responses controls extras KEYWORDS state variables names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 61 B 29 Statistics stats var time history statistics USAGE show stat istics DESCRIPTION The show statistics command lists the average value of every measured response input and extra signal for the time history data currently loaded Statistics is not really a variable as it can not be set it can only be displayed EXAMPLES show stats show statistics SEE ALSO show KEYWORDS statistics variable maneuver signal statistics stats averages AUTHOR James Murray VERSION 2 1 DATE 11 21 85 B 30 thPlot thplot cmd execute thPlot program USAGE thplot DESCRIPTION Writes time histories of computed responses then enters thPlot program Upon termination
12. Examples of the help command are HELP Help variables help iterate HELP PARAMETERS 4 2 Program Startup Commands The program expects two files to be available at startup a measured time history data file and an initial status file If they are available pEst automatically reads the measured time history file from the file measured and the initial program status from the file current Both are default file names for the respective files Two commands are available to get startup data from different files or to restart without exiting the program 4 2 1 Read command Use the read command to read a measured time history data file into program memory At this time the program checks to see if all signals defined in the program see section 6 2 are found on the file If a signal is not found on the file a constant value of zero is used for the time history of that signal Some program variables such as maneuvers see section 3 1 and windows see section 4 7 8 are automatically reset whenever a read command is executed You can specify the name of the file to be read if you omit the file name the program uses the name last specified in a read command The program automatically attempts to read the file measured at startup Jf the file does not exist or the program cannot successfully read the file for any reason no time history data are stored in memory an error message is printed and control is returned to the command line If there
13. Security Classif of this page 21 No of Pages 22 Price Unclassified Unclassified 75 A04 For sale by the National Technical Information Service Springfield Virginia 22161
14. are no measured time history data in program memory some commands will not be accepted by the program In particular any command requiring integration of the equations of motion such as iterating will not be accepted if you attempt any such command an error message is printed and control is returned to the command line Examples of read commands are READ Read measured case6 4 2 2 Restore command Use the restore command to read the program status from a status file You can specify the name of the file to be read if you omit the file name the program uses the name last specified in a restore command The program automatically attempts to read the file current at startup If the file does not exist when you attempt to read it an error message is printed and control is returned to the command line If the program fails when reading a file all program variables successfully read into program memory up to that point are retained an error message is printed and control is returned to the command line Examples of restore commands are Restore REST current f1t18 man6 4 3 Program Termination Commands Several commands are available for terminating the program Program status can be saved at program termination if desired 4 3 1 Save command Use the save command to write the program status to a status file You can specify the name of the file to be written if you omit the file name the program uses the name last specified
15. key word and is followed by optional specifications An inter active help facility is available to help you find both the appropriate command and the proper syntax of a command Mach command controls a different aspect of the program the applicable set of specifiers and their syntax are command dependent Several specifiers however are used in the same syntax in several commands their usage and syntax are documented in the following sections Several commands use switches to specify program options A switch has one of two values it turns an option either on or off Most switches have one or more synonyms and antonyms which are documented in the help files Which name you use is a matter of personal preference and context some fit more naturally into a certain command context than others An algebraic sign is part of the switch specification inverting the sign inverts the value of the switch For example false is equivalent to true Several commands also use key word and value pairs to specify program options A key word and value pair assigns a value to a program variable The key word is a word or abbreviation recognized by the program that corresponds to a variable in the program The key word is delimited by a space or an equals sign and is followed by a value of the correct type All input to pEst is case insensitive you can use any mixture of upper and lower case letters Most key words program variable names and values and sw
16. lt s ceca reie AS AR A 5 3 Integrating the Equations of Motion STANDARD USER ROUTINES 6 1 Equations of Motion 200 A SOW ho es 61i State Cqualions s saii 2x a Soe hE Be eA CH2 Initial cONditiONS s 6 445 aoe amp Gd es EE BGS 6 1 3 Total force and moment coefficients 6 1 4 Response equations o eee eee eee ee 6 1 5 State feedback equations o 6 2 System Variables and Names 02 1 Paramete ceci A a ir 6 2 1 1 Stability and control derivatives 6 2 1 2 State initial conditions 6 2 1 3 Instrumentation parameters 6 2 1 4 Feedback gains 5 4 3 ica 2 SS eH ES ao Ss S 6 22 Constant 24 464 ea ee ew See eS EOE SOS 6 2 2 1 Aircraft physical characteristics 6 2 2 2 Time history variable averages OAI OMA AA Ee a eae ee A BO A 0 24 CONTO sd ds dine a eh eee ee Cee em ee E 0 20 RESPONIE ana od Se es ee Be Gs ee AR PS LO EXIST oe ad me a ee G2 A A bee eS Sas Se eS APPENDIX A PROGRAM STATUS FILE FORMAT ASE Version Record lt a3 rar GS eed das OS Oa we es Pao Title ICOCOLO me A ee A Se eS oe A3 Parameter Record o a Beek a Se ee Sw ee eee A NA Constant Record y cs ad a at HE es we See ee ES ho ae Record erin aa ea Ee SE eR o eee Az6 State Record ua Ai SG eS A ee I A A G AT Response Record 00 seb 4k AOS SNS a eS AB Contro Records va eae Be Gols e
17. possible values single sided specifies the forward difference algorithm and double sided specifies the central difference algorithm The default value is single sided Examples of the use of the gradient method variable are sh gradmethod Set GradM 2 13 4 7 3 Gradient delta variable The gradDelta variable specifies the parameter increment used in computing the finite difference gradients The parameter increment used for each parameter is defined by d gradDelta max 0 000001 where is the parameter value and d is the parameter increment Valid values are floating point numbers the program default value is 0 0000001 Examples of the use of the gradient delta variable are sh graddelta SET GRADD 0 0001 4 7 4 Convergence bound variable The bound variable defines the convergence criterion for the estimation process If the percentage change in cost between two successive iterations drops below the value of the bound variable convergence is declared and the iterative process is terminated Valid values for this variable are floating point numbers the program default value is 0 0001 Examples of the use of the convergence bound variable are SHOW BOUND set bound 1 0e 6 4 7 5 Message level variable The msgLevel variable controls the amount of output that the program prints during use Higher values produce larger amounts of output Valid values for the variable are integers between 0 and 100 the defa
18. response record is output Four fields follow The first is the response name The second is a floating point field specifying the average value of the measured response variable The third is a logical field specifying the status of the response equation The last is a floating point field specifying the response weighting in the cost function Examples of response records are output alpha 8 165277248 T 500 0000000 output phi 3456887850 f 10 00000000 A 8 Control Record The file can have several control records typically there is one for each control variable defined in the program The key word for a control record is input Two fields follow The first is the control name The second is a floating point field specifying the average value of the measured control variable Examples of control records are input de 2 275935836 input d3 0000000000 A 9 Extra Record The file can have several extra records typically there is one for each extra variable defined in the program The key word for a extra record is extra Two fields follow The first is the name of the extra signal The second is a floating point field specifying the average value of the measured extra variable An example of an extra record is extra qbar 112 4635873 A 10 Maneuver and Window Records The file can have several maneuver or window records or both typically there is one for each maneuver or window defined in the program The formats of the two records
19. roll acceleration on yaw acceleration deg sec 2 kb sidewash factor for beta sensor xb x coordinate of beta sensor ft yb y coordinate of beta sensor ft zb z coordinate of beta sensor ft xay x coordinate of lateral accelerometer ft yay y coordinate of lateral accelerometer ft zay z coordinate of lateral accelerometer ft gAlpha feedback gain for alpha state gQ feedback gain for q state gBeta feedback gain for beta state gP feedback gain for p state gR feedback gain for r state SEE ALSO param constants flags states responses controls extras KEYWORDS parameter param names descriptions AUTHOR James Murray VERSION 2 1 DATE 3 10 86 B 17 pEst pEst cmd parameter estimation program USAGE user murray commands pEst DESCRIPTION This program does parmater estimation The program is designed for interactive operation The program resides in the directory user murray pEst with aliases in user murray commands The usePest command facilitates access to pEst There is a full internal help facility which covers the commands within pEst EXAMPLES user murray commands usePest pEst read measured restore current 47 iter 3 newton plot quit CAVEATS Current dimensions limit the program to 200 parameters and 2000 time points The limits are all checked so that accidentally exceeding them will not cause the program to crash ERROR HANDLING The program attempts to recover from all errors Such m
20. that a save command with no arguments is taken as a request to save the current status in place of the file that you started with this is the most usual mode of operation A save specifying a different fileName is assumed to be asking to save a specific status to a specific file for special purposes All subsequent work reverts to the original file BUGS By normal Fortran defaults the file is created with the A fortranCCTL flag set in spite of the fact that the file does not have fortran carriage control characters in column 1 In order to correctly print the file you must explicitly specify fortranCCTL in the print command or do a modifyFile to correctly set the flag maintained with the file SEE ALSO restore write KEYWORDS save command write save current status AUTHOR James Murray VERSION 2 1 DATE 11 19 85 B 25 Set set cmd set program variables USAGE set lt variable name gt lt value gt PARAMETERS variable name Name of the variable to be set value Value to be used for the variable The syntax and legal values may vary for different variables In particular some variables have several components and the value syntax must specify which component is being set DESCRIPTION The set command sets the values of program variables For a list of the available variables do help variables For details about a specific variable do help on the variable name EXAMPLES set msgLevel 80 set in
21. to the minimum It is commonly useful to start the minimization with one algorithm and to later switch to a different algorithm to complete the solution The different algorithms do not interact The gradient algorithm uses only first gradient information and consequently performs best where the cost function is very steep It is useful for greatly reducing the cost when far from the minimum as is common when beginning work on the problem However its performance deteriorates as it approaches the minimum and the cost becomes flatter In cases of high correlation between parameters it may even stall so completely as to appear to have converged We do not recommend using the gradient algorithm for the final iteration The Newton Raphson algorithm uses second gradient information in addition to first gradient information and consequently performs best where the cost function is approximately quadratic This approximation is generally most accurate near the minimum of the cost function the algorithm has excellent convergence characteristics once it is close to the minimum However the Newton Raphson algorithm is sensitive to identifiability problems the algorithm may fail if there are linear dependencies among the parameters The Newton Raphson algorithm is the only algorithm that can compute Cram r Rao bounds which are defined for all active parameters following a successful Newton Raphson iteration The Davidon Fletcher Powell algorithm in so
22. will give an error message and return to the command line If the integration fails part way through usually because it goes unstable the file is written normally up to the point where the integration failed The remainder of the file is written with average measured values substituting for the unavailable calculated responses This is done to accomodate the plotting program which wants the same time points in both 67 the measured and calculated data files in order to plot a fit SEE ALSO read plot thplot KEYWORDS write save command write save computed time history data AUTHOR James Murray VERSION 2 1 DATE 11 19 85 68 REFERENCES Taylor Lawrence W Jr and Iliff Kenneth W A Modified Newton Raphson Method for Determining Stability Derivatives From Flight Data Second International Conference on Computing Methods in Optimization Problems San Remo Italy Sept 9 13 1968 Academic Press New York 1969 pp 353 364 2 Maine Richard E and Diff Kenneth W User s Manual for MMLE3 A General FORTRAN Program for Maximum Likelihood Parameter Estimation NASA TP 1563 1980 3 Maine Richard E Manual for GetData Version 3 1 A Fortran Utility Program for Time History Data NASA TM 88288 1987 69 Report No NASA TM 88280 Title and Subtitle 5 Report Date September 1987 6 Performing Organization Code 8 Performing Organization Report No H 1390 10 Work Unit No RT
23. will be truncated to the first word The default is title EXAMPLES show title 63 set title x29 flight 20 case 10 SEE ALSO show set KEYWORDS title variable plot title AUTHOR James Murray VERSION 2 1 DATE 2 19 86 B 32 Version version topic changes in pEst with version 2 1 DESCRIPTION pEst version 2 1 is now released The following describes the changes between version 2 1 and the previous release version 2 0 Access to the new version is automatic when you use pEst normally The previous version will be retained for an interim period as a backup To access the previous version use the command pEst2 0 COMPATABILITY Version 2 1 has several small differences from version 2 0 The exact syntax of a few of the commands has changed This will require getting used to the revised syntax and changing any command files the changes are all small If you have a customized set of user routines you must make a minor change to the argument list of defineNames this change is small and mostly involves deleting a few lines from the routine There are several additions to the current file but version any current files from version 1 6 or later will be accepted without error Any program that reads current files must be able to accept the new fields USER ROUTINES All the arguments have been removed from subroutine defineNames They were not being used for anything constructive anyway and they
24. zeg 2g they are measured in feet aft of to the right of and above the aircraft reference point respectively 6 2 2 2 Time history variable averages Several constants specify average values of measured time history variables The avg v avgalpha avg beta avg theta and avg phi constants contain average values for the corresponding response variables The avg qbar constant contains the average value of the dynamic pressure Whenever a measured time history file is read see section 4 2 1 the average value of each time history variable is computed and values are assigned to the corresponding constants Of course at any point in the program you can modify the value of a constant see section 4 6 2 The equations of motion use the value of the constant variable containing the time history average of a response variable if its corresponding flag is turned on see section 6 2 7 6 2 3 States The standard user routines define eight state variables All state variables are used internally in the program in English units The wind relative velocity is defined in spherical coordinates by three states airspeed angle of attack and angle of sideslip Airspeed is measured in feet per second and its state name is v V Angles of attack and sideslip are both measured in degrees and are named alpha a and beta 8 respectively The aircraft rotational velocities are defined in the aircraft body axes and are all measured in degrees per second The
25. 0000000E 06 1000000000E 03 50 29 APPENDIX B HELP FILES The online help files used by pEst are listed in the following sections as they appear in program use The help files detail the exact syntax of each command The help files are alphabetically ordered B 1 Abort abort cmd exit pEst immediately USAGE abort DESCRIPTION Exits pEst without saving current program status or writing computed time history EXAMPLES abort SEE ALSO quit save write KEYWORDS abort command abort exit pEst AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 19 85 B 2 Bound bound var convergence bound USAGE show bound set bound lt convergence bound gt DESCRIPTION Bound is the value used in the convergence test of the minimization algorithm If the percentage change in the cost function between two successive iterations is less than this number then convergence is declared and the program stops iterating Convergence tests may become more complicated in future 30 versions possibly rendering this variable obsolete The default is bound 0001 EXAMPLES show bound set bound 0 00001 SEE ALSO show set KEYWORDS bound variable convergence bound criterion AUTHOR James Murray VERSION 2 1 DATE 11 21 85 B 3 Constant const cmd display or set constants USAGE const lt const_list gt lt value gt PARAMETERS const_list List of const names separated by commas or blanks May alternativ
26. All computed variables are first assigned constant default values for the entire time history The program then integrates the equations of motion using current program status replacing the default values with the computed values as the integration proceeds If the integration fails for any reason the computed time histories up to the point of failure are stored an error message is printed and the integration is terminated 4 4 1 Write command Use the write command to write the computed time history data from program memory to an external file Time histories for all computed state and response variables are written to the file The time histories of all computed variables are made consistent with the current program status prior to writing the computed time history file by integrating the equations of motion using the current program status Time histories for all response residual variables as well as measured control response and extra variables are also written to the file You can specify the name of the file to be written if you omit the file name the program uses the name last specified in a write command The default file name at program startup is computed If a file with the specified name already exists it is overwritten If no measured time history data are in program memory the computed time history file is not written an error message is printed and control is returned to the command line If the integration terminates premat
27. E COMMON as sacs pte a Mocks Bl de ee Rie A eB cra Y dd Goes SA DOFUCOMMANG E e ty Hs gow Bri a A ob ee aed 4 4 Plotting Commands sie Gee ae BES oA ee Re RR a ES he eo 4AL Writecommand se di lew a Roda ee a te ee ee Be AA RIGE COMMAND WE ad Be a eh be ee AAS ANP IOUCOMMANG oieee ra dd O N de erate Command daa a Oe Oe Sm 4 6 System Variable Commands 0000 cee eee eee ee eee ng 4 6 1 Parameter command 00 cee eee nee ee een enas 4 6 2 Constant command a se sae a ok SR ee wR Rw Rk 4 6 3 State command y 66 2 soe a A OS WS Mew eR 4 6 4 Response command 2 000 eevee eevee cen ae nee A00 Flap command aae fe a Be Shr nds ae eh a a amp 1 7 Program Variable Commands 0 00000 cee eee ee ee ee 4 7 1 Integration method variable 4 7 2 Gradient method variable 4 7 3 Gradient delta variable 200 0000 eee eee eee ens 4 7 4 Convergence bound variable ee rt eee oe eae 4 7 5 Message level variable eee ceo a EN ee eS 4 7 6 Plot title variable 0 00 000 a AS Statistics Variables s Ss bad Go ace Sop eh GH Ww Ee dl SE Re 4 7 8 Maneuver window variable ee eee ee eee nes 43 Advanced Commands a seccare s en Gs Bs A KG Be ORS 111 A amp I Do Command syst BA A a 1 3 2 System command sa ds a A OES 5 ALGORITHMS 5 1 Minimization Algorithms lt a A 5 2 Gradient Computation
28. Iz g r Iyz palos prIsy R GscCmR pr l Lo r pez qrIay palyz R It Isap Iya Gs0CHR pols Iy p Lay prIyz qrioz R 0 q cos rsin p d p tand rcos qsin 1 4 Ly Isyp where b is reference span c reference chord Cy coefficient of lift Ce coefficient of rolling moment Cw coefficient of pitching moment Ci coefficient of yawing moment Cy coefficient of lateral force g gravitational acceleration Tey lid are moments of inertia Izy Izz Lyz cross products of inertia m is mass p roll rate q pitch rate G dynamic pressure T yaw rate R conversion factor 57 2958 8 reference area V total velocity a angle of attack P angle of sideslip 0 pitch attitude and roll attitude 6 1 2 Initial conditions The initial conditions of the state variables used in integrating the equations are defined as follows a 0 a ap ka ao B 0 Bz Pb kg Bo p 0 Pz P Po q 0 q m go r 0 Ta rTb ro 00 02 Oa 00 0 Pzo dp Po where f 0 is the value of the state variable at the beginning of the integration subscript b denotes the measurement bias for the corresponding observation variable subscript 0 denotes the increment to the initial state value and subscript zo denotes the measured value of the corresponding observation variable of the initial point 6 1 3 Total f
29. NASA Technical Memorandum 88280 pEst Version 2 1 User s Manual James E Murray and Richard E Maine September 1987 NASA National Aeronautics and Space Administration NASA Technical Memorandum 88280 pEst Version 2 1 User s Manual James E Murray and Richard E Maine Ames Research Center Dryden Flight Research Facility Edwards California 1987 NASA National Aeronautics and Space Administration Ames Research Center Dryden Flight Research Facility Edwards California 93523 5000 CONTENTS SUMMARY INTRODUCTION 1 THE PARAMETER ESTIMATION PROBLEM Pet ost Function e e oe eS ies Ook od a ke Wauations OMON ai do ag a da a eee et 2 INTERACTIVE DESIGN PHILOSOPHY IMPLEMENTED IN pEst 3 INTERFACE TO OTHER PROGRAMS 3 1 Measured Time History Data ee eee ee eee ee did PTOPTAM States Pile we aa dois 0 Bodo mae eed ee Ms ER OE ete ee oH SS Es 3 3 Computed Time History Data e ee da Command Files saa es pa Win ete be aaa bok hb a we eB RR di 3 09 Jlot Commands Pile e 5 4 0 4s et dl we bb ei ew AO ee ws Es 4 HOW TO RUN THE PROGRAM Si Help Command ce segwa ha how a e id Ew es 4 2 Program Startup Commands 2 0 000 cee e o 42At Mead command s te a OE He OS hee ee ks 422 Restore command 0 000 cee eee ee ee ee ee ee es 4 3 Program Termination Commands 00000 eee eee ue eens 4 3 1 Save COMMand 2 36 6 4 A a eee eB Rae Andee QUI
30. OP 505 68 31 11 Contract or Grant No 13 Type of Report and Period Covered Technical Memorandum 14 Sponsoring Agency Code pEst Version 2 1 User s Manual Author s James E Murray and Richard E Maine _ Performing Organization Name and Address NASA Ames Research Center Dryden Flight Research Facility P O Box 273 Edwards CA 93523 5000 Sponsoring Agency Name and Address National Aeronautics and Space Administration Washington DC 20546 Supplementary Notes 16 Abstract This report is a user s manual for version 2 1 of pEst a FORTRAN 77 computer program for interactive parameter estimation in nonlinear dynamic systems The pEst program allows the user complete generality in defining the nonlinear equations of motion used in the analysis The equations of motion are specified by a set of FORTRAN subroutines a set of routines for a general aircraft model is supplied with the program and is described in the report The report also briefly discusses the scope of the parameter estimation problem the program addresses The report gives detailed explanations of the purpose and usage of all available program commands and a description of the computational algorithms used in the program 17 Key Words Suggested by Author s 18 Distribution Statement Parameter estimation Unclassified Unlimited Stability and control derivatives Subject category 61 19 Security Classif of this report 20
31. R James Murray VERSION 2 1 DATE 11 19 85 13 21 Response response output cmd display or set response equation status USAGE response output lt resp_list gt active weight lt weighting gt resp_list List of response variable names separated by commas or blanks May alternatively be all for all responses active for the active responses or one of several synonyms for active If not specified it defaults to all active responses active o0n yes vary enable t inact deact disable no f Switch to activate or deactivate computation of the referenced responses If active is set the referenced response equation s will be activated If active is set they will be deactivated If neither is set the status of the response equations will remain unchanged weighting Floating point value for response error weighting If this parameter is specified the cost function weightings of all the referenced outputs will be set to the specified value If it is not specified the weightings will be left unchanged The keyWord may be abbreviated to anything starting with w DESCRIPTION Displays or sets status of response variable s Anything beginning with resp or out will be accepted for this command Note that the weighting is irrelevant for responses that are inactive An inactive response makes no contribution to the cost function making its effective weighting zero The differences between setti
32. Sometimes however you might have a sequence of commands that you will be executing as a group more than once The program provides a way of automating such repetitive tasks If you write the desired sequence of commands on a file you can then instruct pEst to execute the commands from that file as though they were typed from the keyboard see section 4 8 1 After executing all the cominands in the file control is returned to the terminal There is no default name for the command file any name can be specified by user command 3 5 Plot Commands File The pl st program runs the thPlot program when plotting time history fits A temporary scratch file is created to communicate information from pEst to thPlot whenever plotting In normal operational use this file is deleted after the successful completion of the plotting so you should never be aware of its existence In the event of catastrophic program failure however it is possible that this file named plist_thPlot temp might remain in existence 4 HOW TO RUN THE PROGRAM The pEst user interface is command driven there is no menu There is a single level of interaction between you and the program all commands are available at any time The program will atcept com mands when it issues the prompt pest command The program recognizes a large set of commands it is your responsibility to know the available command set and enter an appropriate command Each command starts with a simple English
33. TERACTIVE DESIGN PHILOSOPHY IMPLEMENTED IN pEst The first priority of any interactive program is a simple and efficient interface with the user we have paid very close attention to the program s interface Initially we used a hierarchical menu driven interface However we soon found the menu structure cumbersome difficult and sometimes even dangerous We have rewritten the interface completely adopting a simple command driven interface All program commands and capabilities are available for use at any time Each command starts with a simple English key word we also allow a wide range of synonyms and abbreviations for each command key word Error detection and correction are integral parts of any program interactive or otherwise A simple and responsive interface however gives the user greatly increased opportunities for making mistakes In the interactive environment good error handling becomes increasingly important We have implemented error detection at every potential error source identified and where possible we have applied error recovery procedures We have made every attempt to make it impossible for you to crash the program The program gives a one line response to each error detected we have attempted to give brief yet meaningful error messages We leave all detailed explanations to the help files Online help files are also an integral part of any interactive program Interactive program input calls for interactive troubleshoo
34. Ya za Za Angle of sideslip xb xg yb yg zb zg Axial acceleration XaX Tas yax Yaz ZAX Za Lateral acceleration xay a yay Ya zay 2a Normal acceleration xan a yan Yap zan Za Two parameters define the flow amplification factors for the aircraft flow angle sensors The upwash factor for the angle of attack sensor is ka ka and the sidewash factor for the angle of sideslip sensor is kb kg Both parameters are dimensionless 6 2 1 4 Feedback gains Five parameters define feedback gains for five of the state equations Valid values for feedback gains are between 0 and 1 a value of 0 implies no feedback While the feedback gains arc parameters and can therefore be estimated such use is experimental Feedback gain parameters are gAlpha ga gBeta 94 gP gp EQ gq and gR gr 6 2 2 Constants The standard user routines define several constants The use and dimensions of cach constant are defined as follows 6 2 2 1 Aircraft physical characteristics Constants defining the mass characteristics of the aircraft are mass m ix Is iy Ly iz 12 ixy Izy ixz Izz and iyz Iyz The mass is in slugs and all inertias in slug feet squared Constants defining the reference dimensions of the aircraft are area s span b and chord c the area is in feet squared and the span and chord are in feet Constants 23 defining the location of the aircraft center of gravity are xcg Leg YCE Yog and
35. am and automatically plots time history fits of all currently active response variables Fit residuals and other signals are selectively plotted Upon completion of the time history plots control is returned to pEst This command differs from the thplot command in that the thplot command expects you to interactively enter any commands to the thplot program That allows more flexibility in what is plotted but requires more input from the user The plot command in contrast neither expects nor allows interactive input during the plotting EXAMPLES plot plot res plot u extra CAVEATS As currently implemented the plot command creates a file called pEst_thplot temp used for input to the thplot program Any pre existing user file of that name will be overwritten and later deleted ERROR HANDLING Automatically uses the write command to create the computed 49 time history file Therefore all of the error handling discussed under that command applies If the write command fails to write a computed time history file the plot command will terminate and return to the pEst command line without doing any plots If a bad flag is specified the plot command will terminate and return to the pEst command line without doing any plots SEE ALSO thplot write KEYWORDS plot command plot response fits residuals controls inputs and extras AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 19 85 B 19 Quit quit cmd save c
36. ar in if true mach if true velocity if true alpha if true pitch attitude if true beta if true roll attitude if true states responses controls 30 B 9 GradDelta gradDelta var parameter increment to use for computing gradients USAGE show gradDelta set gradDelta lt value gt DESCRIPTION GradDelta is the relative step size used for computing finite difference gradients The step size used for each unknown parameter is gradDelta times the current estimate of the parameter To avoid problems near zero there is a fixed minimum parameter value in the step size computation If a parameter estimate is smaller than this limit currently 000001 the step size for that parameter is gradDelta times the limit The default is gradDelta 0000001 EXAMPLES show gradDelta set gradDelta 0 00001 SEE ALSO show set gradMeth KEYWORDS gradDelta variable delta increment step size for computing gradients sensitivity matrix AUTHOR James Murray VERSION 2 1 DATE 11 21 85 B 10 GradMeth gradMeth var method of computing gradients USAGE show gradMeth set gradMeth lt method gt 30 DESCRIPTION GradMeth is the method used by the program for computing gradients Two options are available Both are finite difference methods Pest has no provision for analytical differentiation If gradMeth is set to 1 or s ingle sided a forward difference method will be used This is the fastest method
37. are identical the only difference is the key word The key word for a maneuver record is maneuver while that for window record is window Two fields specifying the start and end times follow the key word The format for each time is identical There are two blank spaces followed by a two digit hours specifier a period a two digit minutes specifier a period a two digit seconds specifier a period and a three digit milli seconds specifier Examples of maneuver and window records are maneuver 10 42 18 508 10 42 25 487 window 10 42 18 508 10 42 25 487 28 A 11 Option Records The file can have several option records typically there is one for each program option defined The key word for an option record is option Two fields follow The first is the name of the option There are six program options each corresponding to a program variable The second field is the value of the program variable so the format depends on the variable For the integMeth minMeth and gradMeth variables the second field is a character string left justified in a field 16 characters wide For the gradDelt and bound variables the second field is a floating point field For the msgLevel variable the second field is is an integer value right justified in a field 5 characters wide Examples of option records are option option option option option option integ min gradMeth gradDelt bound msgLevel runge kutta newton raphson single sided 100
38. ated If neither is set the status of the parameters will remain unchanged reset If reset is specified all parameters in the param_list will be reset to their predicted values Note that it does not make much sense to specify both a value and reset if you do so the reset specification will override without comment The switch may be abbreviated to r The default is reset predicted If the predicted switch is specified the predicted values of the parameters will be included in the display resulting from this command The switch may be abbreviated to pr The default is predicted crBound 43 If the crBound switch is specified the Cramer Rao bounds of the parameters will be included in the display resulting from this command Anything beginning with cr or b is accepted as a synonym The default is crBound delta If the delta switch is specified the the parameter value changes in the previous iteration will be included in the display Anything begining with d will be accepted as a synonym unless the second letter is i which could cause confusion with disable DESCRIPTION Displays or sets value and estimation status of selected parameters Any command starting with par will be accepted as a synonym EXAMPLES param cma cmde cmq fix param cnp 0 25 parm vary par all SEE ALSO const flag cmd parameters var KEYWORDS param command set change list show display parameter param parm values
39. been modified to reflect the changes The helpFile format for showing command syntax has been redone to be more consistent with Elxsi helpFiles also a little simpler This file is included under help version SEE ALSO param const flag state response KEYWORDS pEst version 2 1 changes AUTHOR James Murray VERSION 2 1 DATE 3 17 86 65 B 33 Window window var maneuver window descriptor USAGE show window set window lt window number gt man lt maneuver number gt time lt start gt lt end gt DESCRIPTION A window is a time interval which is wholly contained within a maneuver time interval A maneuver may contain multiple windows When the equations of motion are evaluated the computed time history is generated only for those time points contained within the window s Outside of the window s the average value for the output variables is used Also the cost function for the estimation process depends only on those time points within the window s If when a window is defined the window number is not specified all existing windows will be deleted and the new window will be window 1 The window number if specified cannot exceed the current window count by more than 1 If the maneuver number is not specified the default maneuver number 1 will be used The window start and end times must be specified and are given relative to the starting time of the maneuver The default is that the windows exact
40. cNormde 7798399770E 02 8341009928E 02 T 0001045977 param clp 3680106990 3680106990 F 0000000000 A 4 Constant Record The file can have several constant records typically there is one for each constant defined in the program The key word for a constant record is const Two fields follow The first is the constant name The second is a floating point field specifying the value of the constant Examples of constant records are const avg_alpha 8 165277248 const ixz 1870 199950 const zcg 5 317500110 A 5 Flag Record The file can have several flag records typically there is one for each flag defined in the program The key word for a flag record is flag Two fields follow The first is the flag name The second is the value of the flag in a logical field An example of a flag record is flag use_avg_alpha F A 6 State Record The file can have several state records typically there is one for each state variable defined in the program The key word for a state record is state Three fields follow The first is the state name The second is a logical field specifying the status of the state equation The third is a floating point field specifying the integration limit for the state Examples of state records are state alpha t 100000 0000 state p F 10000 00000 27 A 7 Response Record The file can have several response records typically there is one for each response variable defined in the program The key word for a
41. caused excessive clutter in the main program 64 The semantics of the interface to subroutine computeZ have changed We now allow computeZ to change its xc computed state argument Any such change constitutes the correction step of a predictor corrector algorithm such as a Kalman filter This change is solely one of establishing an expanded convention It requires no code changes in old code but just liberalizes what new code is allowed to do USAGE The param command has been expanded to allow optional display of or reset to the predicted values See the param helpFile for details The title variable has been added to allow the title used on the current file to be modified The same title is now also put on time history plots See the title helpFile for details The plot command uses thPlot s expand option to expand scales to the full screen width An extension to the state command allows the state variable limits to be displayed and changed These limits are also now saved on the current file The state variable limits are what stops the integration when it goes unstable There are 5 new parameters gAlpha gQ gBeta gP gR in the default user routines These parameters are gains in the filter error formulation Among other things they can be used to stabilize the estimation for unstable systems Their use at this time is still experimental DOCUMENTATION The helpfiles mentioned in the following SEE ALSO section have
42. commended only for rough approximations when computer time is of critical importance If integMeth is R unge Kutta a 4th order Runge Kutta method is used This method requires 4 state derivative evaluations and 1 response evaluation per time point Although moderately expensive its accuracy is good and it is recommended for most applications The default is integMeth Runge Kutta EXAMPLES show integMeth set integMeth runge SEE ALSO show set KEYWORDS integMeth variable Euler integration method algorithm Runge Kutta Runge Kutta RK integration method algorithm AUTHOR James Murray VERSION 2 1 DATE 11 21 85 B 12 Iterate iterate cmd perform parameter estimation iterations USAGE iterate lt niter gt lt min_meth gt PARAMETERS niter 38 Maximum number of iterations to do if omitted or zero the equations of motion will only be integrated and the cost function evaluated no parameter update will be performed min_meth Optional specification of the minimization method to be used If this parameter is included the minMeth variable is set accordingly and the specified method is used If this parameter is not specified the current value of the minMeth variable is used The minMeth variable can also be set with the set command The 3 currently valid values are n ewton raphson g radient and d avidon fletcher powell The initial default for min_meth is newton raphson See the minMeth helpFile
43. cts the vector elements with active status The definition of active status is dependent on the vector and is defined in each of the following command descriptions If the list is omitted all active elements are selected by default Whenever you execute a system variable command the values of the selected elements are displayed For each system variable command several optional descriptors control the attributes to be displayed or modified The order in which they are specified on the command line is immaterial The descriptors and the syntax for using them are documented in each of the following command descriptions 4 6 1 Parameter command Use the parameter command to display and modify the at tributes of the parameters The parameters are the variables that can be estimated by the program Each parameter has five attributes current value estimation status predicted value Cram r Rao bound and change in value from previous iteration The current values of the selected parameters are always displayed after the command is entered The estimation status of a parameter is active or inac tive an active parameter is one that is currently being estimated while an inactive parameter is one that is not You can modify the estimation status of the selected parameters with the active switch The predicted value of a parameter is fixed and can only be displayed with the predicted switch The Cram r Rao bound and the change in parameter value fro
44. d levels 100 control output that occurs every time point of integration Note that the volume of output can be extremely large 100 Show the state vector every time point Unimplemented The default is msgLevel 50 EXAMPLES show msgLevel set msgLevel 60 SEE ALSO set KEYWORDS show msgLevel variable msg level amount of output messages AUTHOR James Murray VERSION 2 1 DATE 11 22 85 B 15 Parameter param cmd display or set parameter values or status USAGE param lt param_list gt lt value gt tactive reset predicted crBound delta PARAMETERS param_list List of parameter names separated by commas or blanks May alternatively be all for all parameters active for the active parameters or one of several synonyms for active If not specified it defaults to all active parameters In this context an active parameter is one being allowed to vary in the estimation varying is one of the acceptable synonyms value Floating point value for all referenced parameters If this value is present all referenced parameters will be set to the specified value If value is omitted the parameter values will remain unchanged active on yes vary enable t inact deact disable no f Switch to activate or deactivate estimation of all referenced parameters If active is set the referenced parameters will be estimated If active is set they will not be estim
45. deg sec phi bank angle deg ay lateral acceleration g s pdot roll acceleration deg sec 2 rdot yaw acceleration deg sec 2 SEE ALSO response parameters constants flags states controls extras KEYWORDS response output signals names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 B 23 Restore restore cmd restore status from file USAGE restore fileName PARAMETERS filename filename or pathname of the file to be read If not specified it defaults to the same name as last specified on a restore command If no fileName has been specified by any restore command in the current run the name defaults to 7current DESCRIPTION Reads program status from the specified file The program status includes the values of all parameters and program options The file can be from either of two sources The file may have been created by an independent program usually by looking up predicted derivative values from a data table this is often the case when starting a new case Alternatively the file can have been created from a save command in this case the program will be restored to the same status as when the save command was executed A file created while analyzing one case can be restored while analyzing a different set of time history data This allows for instance a convenient way of starting the estimation from converged values obtained from a case at a similar flight condition Some values such as t
46. e Ss EE EW So ee eS AAO a Record ic io a A Oe ea GSES Eres eS A 10 Maneuver and Window RecordS A 11 Option Records AE SAO ON ee L APPENDIX B HELP FILES DA ADOPG sus wae amp Ghote ee eS eee ee Be See SS 22 ROUnd ea tock oe Ae do A A ee Oe i Constant 4 5 4S hk he id BS ee GG ee a ew ES de Ma ONSPANUS 5 Ske di ear Sets ae A FE et AA PEL dE ecg es eb Controle sea A E CM RSS aS oS iv e o o o e e s o gt o Ro e es b s o e gt Le gt gt o o ese s e a a e 9 o o gt o o o gt n 8 o e 8 8 8 8 e s gt o e 8 o gt s o 4 8s 8 b e 8 o o Re e gt o gt o s o gt o e ee 8 Re a o o e s o s e 8 0 e o e e 8 o e gt s o 8 gt s e oo e o a o o gt o o o 15 15 16 17 17 17 18 19 19 20 21 21 21 21 22 23 23 23 23 24 24 24 24 24 24 Be AI NAAA AA AN 34 INSI aaa pas a a a AD E Aa 35 B9 GradDella 2 64 das ety a A ias si a A 36 B 10 Grad Meth aa a ii id ios o e dol o 36 DAI e eS a io aa ici de o 37 Bl2 META a ia ar Be
47. e id e ld 38 PM aMethi as a Sis A a BS Ee a ee e Ls 39 B14 MsgLevel lt 2 2 eri rrsa AA ok Se ee ee 41 AA AE a Se ee ek ee 8G Se eS es 43 B 16 Parameters 336 6 6 EER OCA SEARS EE ERS eR ee REM a e e EO 44 TAE DB is eee te ads Ae died Sea gt Ae Ee AD doe Mealy a ds Bhai Gees ID ce I Be 47 DDS Ot suba Se fee a ee eS I i eens See eR ye ee tes 49 DB URE IG fo Boer sve ons ae ter cca te gee See ae ee gee eee eeu i eee a foc tes no ae oe 50 IA co ce De sae des Greg eo ake ers ck a Ge By cits tas a ee the ae ee es 51 DCE RESDOBSS aia Ghd bain ne Bo e Gee see da Sen eee ee ed 52 1322 RESPONSES ict oy eee ey Ge heh eh he A A A Seven Me SS a lee ae te e Gene 54 Dizo REStore ope das oe oe See eee ed 54 B24 DAVE dogs es Jaen BAe Ga ae ey ves RS ih Se St ak i EEE E a oh ee ae 57 A E sos as ht ey ie hese gt eh Ar BD tie Pe oe ee ae Se ee cach le oe en ee Be 58 DOSZO OW sex Jot de he oe ees ae Sc Wake Heer nes ads es a hs De et a ira 59 D2 UU Oe ae st de Soi rcs Sw pn gs wae at Gee Pe Ee sk GE a ee E a 59 DS AR Se AG a ee E oe SA ee le ee heh aed 61 MIS IAE 62 PR A O A eR r ee 62 EAN O O RA 63 1 02 Veron macem aa a ae A Be e a in a id a 64 POSS WV ING OW siana as as A ae ew e Di E E NN ee Se 66 DS WE ca ei od WE wh as Ga eh ld Hee Bias es Gs o dd ee eae a 67 REFERENCES 69 SUMMARY This report is a user s manual for version 2 1 of pEst a FORTRAN 77 computer program for interactive parameter estimation in nonlinear dynamic systems
48. ed in section 6 2 The GetData program and the file format are documented separately in reference 3 3 2 Program Status File The program uses a status file to store the operational status of the program With the exception of time history data the status file stores the value of every program variable Effective use of the status file is central to efficient use of the program The status file serves three purposes First it can provide initial values for program variables and options at program startup Second it can store the program status to be used for later program recovery or restart Third it can store summary results at the conclusion of a run Efficient production use of pEst requires a status file at program startup This file is not strictly required as all variables are initialized with default values which you can then change interactively Ilowever manually setting the many variables for each case is laborious if many cases are to be analyzed The initial status file can be obtained from one of several sources For a large project you will normally want to write a program that automatically creates an initial status file for each case this program should get starting parameter estimates from the simulation data base A status file from whatever source for one case can be copied and used to initialize another case any required modifi cations can be made interactively Making the required modifications is likely to take less e
49. ed difference algorithm requires np 1 solutions of the equations of motion where n is the number of parameters the central difference algorithm requires 2np solutions of the equations of motion The gradient computation requires a large number of solutions of the equations of motion the computational time involved is typically the most significant percentage of the total time used in an iteration The single sided difference algorithm is the faster of the two algorithms but it is also the less accurate The increased accuracy of the central difference algorithm however is not really consequential until close to convergence we generally find it most efficient to use single sided differences for all but the last few iterations The Gauss Newton approximation ref 2 is used to compute the second gradient thus the computational burden of computing the second gradient in addition to the first gradient is not significant 5 3 Integrating the Equations of Motion There are two algorithms available for integrating the equations of motion forward Euler and fourth order Runge Kutta integration The forward Euler integration requires one evaluation of the state derivative function f for each time point of the solution while the Runge Kutta algorithm requires four such function evaluations per time point Both algorithms require a single evaluation of the response function g for each time point of the solution Thus the Euler algorithm is the faster of
50. ely be all for all constants If not specified it defaults to all constants value Floating point value for all referenced constants If this value is present all referenced constants will be set to the specified value If value is omitted the constant values will remain unchanged DESCRIPTION Displays or sets value of selected constants EXAMPLES const area 200 0 const all SEE ALSO param flag cmd 31 constants var KEYWORDS const command set change list show display constants AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 3 11 86 B 4 Constants constants var user defined constants DESCRIPTION The following are the names and brief descriptions of the user routine constants currently defined in pEst C G positions are positive aft above and right of the reference point NAME DESCRIPTION avg_qbar average qbar psf avg_mach average mach avg_v average velocity ft sec avg_alpha average alpha deg avg_theta average pitch attitude deg avg beta average beta deg avg_phi average roll attitude deg mass mass slugs 1x ix slug ft 2 ly ly slug ft x 2 iz iz slug ft 2 ixy ixy slug ft 2 ixz 1xz slug ft 2 lyz lyz slug ft 2 area reference area tx x 2 span reference span ft chord reference chord ft XCg x coordinate of cg ft ycg y coordinate of cg ft ZCE z coordinate of cg ft SEE ALSO const parameters flags states responses controls extras KEYWORDS 32 con
51. er due to di deflection per deg due to d2 defection per deg due to d3 deflection per deg increment to velocity initial condition ft sec increment to alpha initial condition deg increment to pitch rate initial condition deg sec increment to pitch attitude initial condition deg measurement bias on velocity ft sec measurement bias on alpha deg measurement bias on pitch rate deg sec measurement bias on pitch attitude deg measurement bias on normal acceleration g measurement bias on axial acceleration g measurement bias on pitch acceleration deg sec 2 upwash factor for alpha sensor of alpha sensor ft of alpha sensor ft x coordinate y coordinate z coordinate x coordinate y coordinate z coordinate of alpha sensor ft of normal accelerometer ft of normal accelerometer ft of normal accelerometer ft 45 46 xax yax zax XV yv ZV cyo cyb cyp cyr cyda cydr cyd3 cyd4 cl0 clb clp clr clda cldr cl1d3 c1d4 cno cnb cnp cnr cnda cndr cnd3 cnd4 beta0 po ro phio betaBias pBias rBias phiBias ayBias pdotBias rdotBias x coordinate z coordinate z coordinate x coordinate o y coordinate z coordinate o aerodynamic bias side side side side side side side side force force force force force force force force due due due due due due due rolling moment rolling moment rolling moment rolling moment rolling moment deg rolling mome
52. essure and altitude named mach M qbar q and alt A respectively 6 2 7 Flags The standard user routines define seven flag variables The flags select alternative forms of the equations or sources of data Each flag specifies using the average value of a measured time history variable in the equations of motions in place of a time varying quantity This option is particularly useful when you do not have a measurement time history for a particular variable In such a case you can input an average value using the appropriate constant see section 6 2 2 and then 24 activate the flag to use the average value in the equations The flags are named use_avg_v use_avg beta use_avg theta use avg_phi use_avg mach and use avg qbar National Aeronautics and Space Administration Ames Research Center Dryden Flight Research Facility Edwards California September 9 1986 25 APPENDIX A PROGRAM STATUS FILE FORMAT The program status file is a FORTRAN formatted file that stores the status of every program variable Each record on the status file corresponds to an individual program variable or option the records are grouped together into common record types When the file is written by the program a complete file is written all records defined for the file are written If you create the file outside the pEst program it is not necessary to fill in all fields on the file At startup the program assigns a default value to each program va
53. ey will not be integrated If neither is set the status of the state equations will remain unchanged limit The limit on the absolute value of the referenced states allowed during integration Any integration that exceeds this limit will be abandoned If this parameter is not specified the previous limits remain unchanged DESCRIPTION 60 Displays or sets status of state equation s The system equations can change fairly significantly depending on which states are active and which ones are inactive If the state is inactive no computed value for that state variable is defined thus response equations or other state equations that use the deleted state variable must be revised The revision done is to substitute some other quantity for the unavailable state variable By default if a state is deactivated the corresponding measured quantity is substituted Any output bias on the measured quantity is subtracted before substituting it Also the measured flow angles are corrected to the center of gravity before substituting them The variables with names like use_avg_alpha can force alternate substitutions If use_avg_alpha is true then the constant avg_alpha is substituted wherever the computed alpha state would otherwise have been used In this case the substitution occurs even if the alpha state is active Corresponding comments apply to the other states EXAMPLES state theta on 1imit 1000 state all state phi active SEE
54. ffort than starting from scratch Program status can be saved or recovered at any time during program use This feature provides a strong error recovery capability By saving the program status at appropriate intervals you can continuously maintain a fallback position Should you reach a dead end in the analysis you can simply recover your previous program status and try a different approach to the problem Normal termination of pEst saves a file that reflects the complete program status prior to termina tion This file can be used by any program that analyzes or displays the results of pEst It can also be used with or without modifications as an initial status file for later cases By default the program expects the file to be named current other file names can be specified by user command The format of the status file is documented in appendix A 3 3 Computed Time History Data A file of time history data computed by the program is available for use outside the pEst program The computed time history file is used by the thPlot program when plotting time history fits It can also be used by several other programs The format of the computed time history file is identical to that of the measured time history file The default name for the file is computed other file names can be specified by user command 3 4 Command Files The pEst program is an interactive program with commands normally entered singly from the terminal keyboard
55. first record on the file The key word for the version record is version Four fields follow The first is a character string with the phrase pest current left justified in a field of 16 characters The program recognizes the file by this phrase and it is required The second field specifies the version number of the current file as a character string left justified in a field 8 characters wide The current value is 2 1 The third and fourth fields specify the date and time when the file is written by the program these fields are not read by the program An example of a version record is version pest current 26 31 Mar 86 15 33 30 A 2 Title Record The file typically has a single title record The key word for the title record is title A character field 40 characters wide specifying the title follows the key word An example of a title record is title F18 FLIGHT 11 LONG MAN 3 26 A 3 Parameter Record The file can have several parameter records typically there is one for each parameter defined in the program The key word for a parameter record is param Five fields follow The first is the parameter name The second and third are floating point fields specifying the predicted and current values of the parameter respectively The fourth is a logical field specifying the estimation status of the parameter The last is a floating point field specifying the Cram r Rao bound for the parameter Examples of parameter records are param
56. for details DESCRIPTION The iterate command initiates the parameter estimation Anything beginning with it will be accepted as an abbreviation EXAMPLES iterate iter 3 grad SEE ALSO set show minMeth integMeth gradMeth bound msgLevel param state response flag KEYWORDS iterate iter it command set minMeth minimization method variable estimate parameters integrate equations minimize cost function AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 21 85 B 13 MinMeth minMeth var cost function minimization method USAGE show minMeth set minMeth lt minimization method gt DESCRIPTION 39 MinMeth is the algorithm used by the program for minimizing the cost function There are currently three valid values n ewton raphson g radient and d avidon fletcher powell Newton Raphson is recommended for most situations It is actually implemented as a Gauss Newton algorithm Cramer Rao bounds are available only when Newton Raphson is used The algorithm is modified by the addition of a line search in the Gauss Newton direction With this line search the cost function is guaranteed never to increase from one iteration to the next it may not decrease much or at all but it will never increase Any violations of this principle should be reported as program bugs Gradient also known as steepest descent is in general less efficient than Newton Raphson The gradient algorithm is the most conser
57. functions The algorithms currently available are described in the following sections 5 1 Minimization Algorithms The pEst program has three algorithms available for iteratively minimizing the cost function gradient or steepest descent modified Newton Raphson and Davidon Fletcher Powell The Newton Raphson 15 algorithm is modified to eliminate an undesirable characteristic it has when used far from the mini mum of the cost function or in any other case where the cost function is far from quadratic in the parameter vector It is not uncommon in such a case for a strict Newton Raphson iteration to pro duce a higher cost value To alleviate this problem the Newton Raphson algorithm is implemented with an explicit line search first an initial parameter increment is computed using the Gauss Newton algorithm then the parameter space is searched along the line defined by the parameter increment for the minimizing cost value The addition of the line search means that a Newton Raphson iteration is guaranteed to produce a cost value no larger than the cost before the iteration Both the gradient and Davidon Fletcher Powell algorithms use implicit line searches an iteration using either algorithm is also guaranteed to produce a nonincreasing cost value Any or all of the available minimization algorithms may be used on a single problem The utility of any algorithm depends on both the problem and the location in the parameter space with respect
58. he parameter estimates can be meaningfully transfered from one case to another in this manner However other values on the current status file are unlikely to be useful or legal when applied to a different time history data file In particular the window definitions are closely tied to specific maneuvers Window times for one case are likely to be outside of the maneuver times for a different case The avg_ constants are also closely tied to the specific maneuvers they usually equal the average measured values for the maneuver It is possible to manually override these values if you want to for instance if the measured values are wrong but it is unlikely that you want such overrides to automatically carry over from one maneuver to another in fact it could cause great confusion if you were not aware that such carryover was occuring To avoid these undesired carryovers while allowing carryover of other pertinent parameters the restore command checks for consistency between the status file and the time history data being analyzed The status file includes a record of the maneuver times and average measured signal values to facilitate this comparison If the data on the status file is consistent with the time history data being analyzed then all parameters from the status file are accepted including window times and avg_ constants If the data on the status file is inconsistent with the maneuver being analyzed then the window 59
59. ies the variable s weighting in the cost function and is specified with the weight key word and value pair The key word output is a synonym for response Note that making a response variable inactive is not equivalent to making its weighting zero If a response variable is made inactive the equations of motion are modified to remove the corresponding response equation There may also be secondary changes in the equations of motion to remove all usage of the response variable These secondary changes depend on the equations of motion used If the response is active but has zero weighting the response is computed and used in the equations of motion but does not directly influence the cost function The response variables defined by the standard user routines are documented in section 6 2 5 Examples of response commands are response beta pr on OUT alpha w 150 12 4 6 5 Flag command Use the flag command to display and modify the flags in the program A flag is a logical variable used in the equations of motion The flags typically select alternative forms of the equations of motion or sources of data You can modify the value of a flag with the on switch the switch value is assigned to all selected flags The flags defined by the standard user routines are documented in section 6 2 7 Examples of flag commands are flag use_avg_qbar Flag use_avg_alpha use_avg_beta 0N FLAG all off 4 7 Program Variable Commands Use the set a
60. ign as implemented in pEst Section 3 describes the external files used by the program and how the program interfaces with other programs Section 4 gives a description of each command in the pEst command set Section 5 discusses various algorithms available during program use Section 6 defines the standard user routines supplied with the program Both the equations of motion and the definition of all system variables used in the equations are included In this manual file names program prompts and literal program input are shown in italics to distinguish them from other text The appendixes contain information on file formats used by the program app A and listings of the help files used in the program app B 1 THE PARAMETER ESTIMATION PROBLEM Conceptually the parameter estimation problem is straightforward We are studying a physical system and we write a vector set of dynamic equations of motion that hopefully describes a model of the actual system We presume to know the form of the equations but not the values of certain parametric variables in the equations We perform an experiment with the actual physical system recording the input to the sytem and the response of the system to the input We seek to infer the values of the unknown parameters by adjusting their values in the model until its response agrees with the measured response The pEst program does two things First the program defines quantitatively the criterion for measur
61. in a restore command The default file name at program startup is current If a file with the specified name exists it is overwritten If the program fails when writing a status file no status file is written an error message is printed and control is returned to the command line Examples of save commands are Save save curr final 4 3 2 Quit command Use the quit command to write the current program status to a status file and then terminate the program This is exactly equivalent to running in order the save and abort commands Note that you cannot specify the name of the status file to be written the program uses the name last specificed in a restore command If the program fails when writing the status file the file is not written an error message is printed and the program terminates An example of the quit command is quit 4 3 3 Abort command Use the abort command to terminate the program and return control to the operating system This command does not save the current program status any progress made since you last ran a save command is lost An example of the abort command is Abort 4 4 Plotting Commands The pEst program uses the thPlot program for plotting time histories of response variable fits and other variables The pEst program communicates with thPlot through a file containing computed time history data The equations of motion are integrated to produce the time history of the computed variables
62. include all of the output for the lower levels The numeric values assigned leave lots of room for future finer control LEVEL DESCRIPTION levels 1 9 control output that occurs only on error termination 5 Show error specifics detailing where errors occur levels 10 49 control output that occurs once per iteration 10 Show cost function value each iteration 15 Show cost per response signal each iteration 20 Show estimated parameter values each iteration 40 Summarize each iteration levels 50 99 mostly control output that can be many times per iteration 50 Summarize each line search 52 Summarize each stage of line search 55 Show all integration failures recoverable or not At lower message levels some integration failures are Silently recovered for instance by trying smaller step sizes 4 57 60 62 65 70 75 80 Show correlation matrix every newton raphson iteration Detail each cost evaluation in line searches This tracks the convergence of the line search algorithm Mostly used in development of line search algorithms Detail integration failures Show details of why integration was terminated Show second gradient matrices every newton raphson iteration Show approximate inverse second gradient matrices every dfp iteration Show all gradient vectors Show cost function value whenever it is evaluated for any purpose Show the cost per response signal whenever the cost is evaluate
63. ing the agreement between the model s computed response and the measured response Second it mechanizes the search for the unknown parameter values Figure 1 illustrates the pEst parameter estimation process The number in each block refers to the section in this manual describing the function of the block Noise Measured response Test aircraft Computed response Nonlinear aircraft mode 1 2 Response residual Cost function 1 1 Minimization algorithms 5 1 Estimate of 6 2 1 Parameter estimates Uncertainty bounds 7125 Figure 1 The pEst parameter estimation process 1 1 Cost Function The criterion is a scalar cost function that is an explicit function of the computed response and thus an implicit function of the vector of unknown parameters The cost function used in the program is 1 a ere 7 J E gt 2 ti 2 t WIz t Z t 1 2nz MN i 1 where n and n are the numbers of time history points and response variables respectively t is the time variable W the response weighting matrix z the measured response 2 the response computed by integrating the equations of motion the parameter vector and superscript denotes transpose The cost function is quadratic in the computed response 2 1 2 Equations of Motion The pEst program solves a vector set of time varying finite dimensional ordinary differential equations of
64. itches can be abbreviated The minimum 6 recognizable abbreviations are indicated by the underlined letters of each key word variable or switch as first described in the following sections Many key words also have synonyms The following sections document the individual commands of the pEst command set 4 1 Help Command The help command is the most important command in the program the online help facility provides comprehensive and detailed descriptions of program commands variables and subjects of interest There are three classes of information available commands variables and topics The commands help commands help variables and help topics give you listings and short one line descriptions of all available commands program variables and topics respectively If you use help with the name of a specific command program variable or topic you get a detailed help file listing giving information on syntax and usage and a few examples When using the help command with a specific command or variable name you must use the full primary name of the command or variable synonyms and abbreviations are not acceptable If you use the help command with no arguments you get a brief description of the help facility All help file listings are included in appendix B The help command uses operating system specific software Its implementation may differ depend ing on the operating system and it may not be implementable on some systems
65. llow the corresponding program variable names TABLE 1 LONGITUDINAL STABILITY AND CONTROL DERIVATIVES Force or moment Axial Normal Pitching State or control force force moment Aerodynamic bias ca0 C4 cNorm0 Cmo cm0 Cmo Angle of attack caa CAa cNorma Cy cma Cma Pitch rate caq Ca cNormq Cyn cmq Cm Elevator deflection cade C A cNormde Cp cmde Cms d1 deflection cadi Cas cNormd1 Cn cmdi Cms d2 deflection cad2 Ca cNormd2 Cy cmd2 Cms d3 deflection cad3 Ca cNormd3 Cy cmd3 Cms TABLE 2 LATERAL DIRECTIONAL STABILITY AND CONTROL DERIVATIVES Force or moment Lateral Rolling Yawing State or control force moment moment Aerodynamic bias cy0 Cy cl0 Cg cn0 Cho Angle of sideslip cyb Cy clb Ces cnb Cng Roll rate cyp Cy clp Ce cnp Chp Yaw rate cyr Cy clr C cnr Cp Aileron deflection cyda Cy clda Ce cnda Cns Rudder deflection cydr Cy cldr Ce cndr Cn d3 deflection cyd3 Cy cld3 Ce cnd3 Cne 6 2 1 2 State initial conditions Each state variable has a corresponding state initial condition increment parameter The initial condition increment is added to each measured initial condition The dimensions of cach initial condition parameter are the same as those of its corresponding state variable State initial condition parameters are v0 Vo alpha ag q0 90 theta0 80 beta 8 pO po rO ro and phi0
66. ly equal the available maneuvers EXAMPLES show windows set wind 1 time 0 5 9 5 set wind man 3 time 1 25 5 55 SEE ALSO show set KEYWORDS window variable multiple maneuvers start stop times time segments intervals windows AUTHOR James Murray 66 VERSION 2 1 DATE 11 21 85 B 34 Write write cmd write computed time history file USAGE write fileName PARAMETERS filename filename or pathname of the file to be written If not specified it defaults to the same name as last specified on a write command If no fileName has been specified by any Write command in the current run the name defaults to computed DESCRIPTION Writes a computed time history data file This file is most often used for plotting but can have numerous applications It could be input to programs to analyze the residual statistics It also allows pEst to be used as a simple batch simulator for other purposes The signals written to the file are the calculated states s hat suffixes the calculated responses hat suffixes and the residuals res suffixes The names of all signals are derived by appending the indicated suffixes to the basic state or response variable name The residual is defined to be the measured response minus the calculated response EXAMPLES write write computed casei2 ERROR HANDLING If the output file can not be opened or if integration of the equations is disallowed for any reason the write command
67. m the previous iteration are defined in the estimation process and cannot be directly modified by the user they can only be displayed with the bound and delta switches respectively You can modify the current value of a parameter in one of two ways You can explicitly specify a value and that value is assigned to all selected parameters Alternatively you can turn on the restore switch and each selected parameter will be reset to its corresponding predicted value The parameters defined by the standard user routines are documented in section 6 2 1 Examples of parameter commands are PARAMETER clp 0 25 par cma cNorma cmde cNormde on Par Active Restore parm cr delta 4 6 2 Constant command Use the constant command to display and modify the constants in the program The constants are program variables that cannot be estimated by the program The 11 value of each selected constant is always displayed after the command is entered You can modify the value of a constant the specified value is assigned to all selected constants The constants defined by the standard user routines are documented in section 6 2 2 Examples of constant commands are constant mass 1056 0 CONST ixy iyz O Const all 4 6 3 State command Use the state command to display and modify the attributes of the state variables in the program A state variable has two attributes its status and its integration limit If a state is active the state equa
68. me sense combines the best features of the gradi ent and Newton Raphson algorithms This algorithm changes character from iteration to iteration Initially it performs much like the gradient algorithm the first iteration is identical to a gradient itera tion As the iterations proceed the algorithm gains information on the second gradient and approaches the Newton Raphson algorithm in character Thus this algorithm combines the initially rapid cost reduction characteristics of the gradient algorithm with the excellent convergence characteristics of the Newton Raphson algorithm The iterative process is automatically terminated if a convergence criterion is met The convergence criterion is based on cost values for successive iterations if the percentage change in the cost value drops below a threshhold value see section 4 7 4 convergence is declared and the iterative process is terminated 5 2 Gradient Computation The minimization algorithms require computation of first or second or both gradients of the cost function at each iteration The complete generality in the nonlinear equations of motion precludes using analytical differentiation to compute the gradients finite difference algorithms are used The 16 parameter increment used in computing the gradients is a fixed percentage of the parameter value see section 4 7 3 Both single sided and central difference algorithms are supported Gradient computation using the single sid
69. motion The equations are separated into the continuous time state equation and the discrete time response equation z t flx t u t 2 z t glz t u t 3 where f is the state derivative function g the response function u the control variable and z the state variable We have implemented a discrete time feedback feature in the equations of motion The feedback feature is similar in implementation and function to the process noise feature of the MMLE3 program ref 2 The nonlinear equations used in pEst however preclude using the discrete time Kalman filter formulation of MMLE3 an ad hoc and intuitive approach is used in pEst The feedback term is proportional to the difference between the measured and computed responses and is applied at each time point The feedback gains k are parameters adjustable by the user see section 6 2 1 4 ti Z ti klz ti Z t 4 where Z is the corrected estimate of the state variable and Z is the predicted estimate Input u and time t are assumed to be known exactly The responses are measured at every sample point There is no restriction that the sample rate be constant The state derivative function f and the response function g are nonlinear functions of the parameter state input and time The specific form of the functions f and g is defined by a set of user modifiable subroutines in pEst the equations supplicd with the program are documented in section 6 1 2 IN
70. nd show commands to display and modify the program variables and options controlling the estimation process The set command sets the value of program variables With one exception the command syntax is the command key word followed by a key word and value pair specifying a program variable and setting its value The valid key words and the program features they control are described in the following sections Each key word is given with its first few letters underlined the underlined portion is the minimum abbreviation recognized by the program The value type is dependent on the variable for each variable described the range of legal values is specified Any variable modified by the command is displayed The show command allows you to display the values of program variables The command syntax is the command key word followed by a variable name or appropriate abbreviation In addition to the variables described by the set command there is one variable that is only displayable 4 7 1 Integration method variable The integMeth variable specifies the algorithm used when integrating the equations of motion The variable has two possible values euler and runge kutta the default value is runge kutta Examples of the use of the integration method variable are show integMeth SET integ runge 4 7 2 Gradient method variable The gradMeth variable specifies the algorithm used when computing the finite difference gradients The variable has two
71. ng the weighting to O and deactivating the response are two First the responses are still computed just not used in the cost function if the weighting is zero for an active response if the response is inactive it is never computed Obviously if you need the response computation for some reason other than its use in the cost function perhaps you want a plot of it you must have the response active This may involve substantial computation time so if you don t need the response it is preferrable to deactivate it The second difference is just one of convenience if you deactivate a response the program still remembers what its weighting was in case you later want to re activate it with the same weighting as before EXAMPLES response resp alpha toff output beta activate w 100 0 SEE ALSO state cmd responses var KEYWORDS response command set list show display response output equation variable status weighting AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 3 18 86 53 B 22 Responses responses var response signals DESCRIPTION The following are the names and brief descriptions of the response signals currently defined in pEst NAME DESCRIPTION v velocity ft sec alpha angle of attack deg q pitch rate deg sec theta pitch attitude deg an normal acceleration g s ax longitudinal acceleration g s qdot pitch acceleration deg sec 2 beta angle of sideslip deg p roll rate deg sec r yaw rate
72. nt deg rolling moment rolling moment yawing moment yawing moment yawing moment yawing moment yawing moment deg yawing moment deg yawing moment yawing moment increment to beta of of of f v of v f v to to to to to to to ae axial accelerometer ft axial accelerometer ft axial accelerometer ft elocity sensor ft elocity sensor ft elocity sensor ft beta per deg roll rate per rad yaw rate per rad aileron deflection per deg rudder deflection per deg d3 deflection per deg d4 deflection per deg rodynamic bias due to beta per deg due to roll rate per rad due to yaw rate per rad due to aileron deflection per due to rudder deflection per du du aer due due due due due due due increment to roll deg sec increment to yaw rate initial condition deg sec increment to bank angle initial condition deg Measurement bias measurement bias measurement measurement measurement measurement bi bi bi bi deg sec 2 measurement bias as as as as e to d3 deflection per deg e to d4 deflection per deg odynamic bias to beta per deg to roll rate per rad to yaw rate per rad to aileron deflection per to rudder deflection per to d3 deflection per deg to d4 deflection per deg initial condition deg rate initial condition on beta deg on roll rate deg sec on yaw rate deg sec on bank angle deg on lateral accelerometer g on
73. of the thPlot program control is returned to pEst The computed responses are written by an automatic write command with no arguments therefore the file name is whatever such a write command would use usually the name computed This command differs from the plot command in that the thplot command expects you to interactively enter any commands to the thplot program This allows more flexibility in what is plotted but requires more input from the user The plot command in contrast neither expects nor allows interactive input during the plotting EXAMPLES thplot ERROR HANDLING Automatically uses the write command to create the computed time history file Therefore all of the error handling discussed under that command applies If the write command fails to write a computed time history file the plot command will terminate and return to the pEst command line without doing any plots SEE ALSO plot write KEYWORDS thplot command time history plots AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 19 85 B 31 Title title var title for current file and plots USAGE show title set title lt title gt DESCRIPTION Title is the title used on the current file and on the top of each plot page The length of the title is limited to 40 characters longer titles are truncated without comment If the title contains imbedded blanks not uncommon the title must be enclosed in quotes otherwise the title
74. ons V z cts 20 V V Ra fa La kp a 26 p Po q r r 0 0 H qs mg q tog a T Ya z tee 2 0 p T eg iG up tes Bs 1 gy 1 7 las Zeg Ya Yeg t aaa a 20gHXg ro ar qs 1 1 Oe au ig OY lla tea Zay 2cg 8l Fea Yay Yee P 17 an ang sg N e alle sl Tcg 4 Yan Ycg JD re z Zeg q T p An p P D di q 0 To T where P is roll acceleration q pitch acceleration T yaw acceleration P Uta are axial accelerometer position parameters tala ay lateral accelerometer position parameters tas P A normal accelerometer position parameters Leg Uog cg aircraft center of gravity position constants Rastas Us angle of attack measurement parameters kg B ZB angle of sideslip measurement parameters and the subscript 2 denotes the computed response value 6 1 5 State feedback equations The corrected state variables are obtained by evaluat ing the discrete feedback equations see section 1 2 defined by the following standard user routines Feedback is implemented for only five of the state variables amp Ja ka az az B ge ke Gz Bz p B Gp pz Pz G G 9 92 92 P Gr Tz Tz y where ga 98 9p 94 and g are feedback gain parameters the superscript denotes the predicted state value and the superscript denotes the corrected state value 6
75. orce and moment coefficients The total force and moment coefficients used in the state and response equations are defined as follows Cr Cncosa Cy sina c Ca Ca CALO VR C404 T Cas be F Cas CAs gt Cas 3 c Cn Cm CNaQ VR MNa2 CN be CN 01 Cng 2 CNg 3 b vy Cyt Cy 8 SVR CYP Cy r Cy ba Cy or CY 63 CY 64 19 li C Aoi C Aas C Agp C An Cas Cas CAs Cno CNas CNG E Nia ONs N 5 s N Cy Cy Cy CY CVs Cra Co gt Cro Cs Cty Ce Cto Ces Ces Ces Ces Cmos Cmas mgs Cms gt e 0 Cro Cngr Cnpr Cres Chs Chs Ong Ons Cto Ce Cmo Cmaa Cai Crh alo Cer Ces ba Ces br Cog 63 Cos 54 Ron Cms be Cms by Cms 62 HE Cms 3 zy Coo Cap Crs ba Cne Crs 63 Crs 54 is coefficient of axial force coefficient of normal force aileron deflection elevator deflection rudder deflection control surface 1 deflection control surface 2 deflection control surface 3 deflection control surface 4 deflection are axial force parameters normal force parameters lateral force parameters rolling moment parameters pitching moment parameters and yawing moment parameters All parameters are defined in section 6 2 6 1 4 Response equations The computed response variables Z are obtained by evaluating the response equations defined in the following equati
76. ram are linear For a large class of well behaved parameter estimation problems these two characteristics pose no serious limitations in the utility of the program Recent flight test experience at Ames Dryden has pointed out some of the limitations inherent in current parameter estimation programs The dynamic behavior of aircraft at the extreme flight conditions currently being explored often cannot be appropriately modeled using the simple linear dynamic equations of motion More accurate and flexible nonlinear models are often needed The difficulties associated with extreme flight conditions as well as those associated with the unique aircraft configurations currently being flown have required significantly more attention from the analyst than previously Interaction between the analyst and the estimation program is often the only viable means for obtaining results in a finite amount of time In response to these problems Ames Dryden researchers have developed a new parameter estimation program pEst The pEst program is designed to be fully interactive however it can be run in a batch mode The program supports full nonlinear capability in the dynamic equations of motion linear equations are acceptable as a subset This report documents the design philosophy capabilities and operational use of the pEst program Section 1 defines the parameter estimation problem that pEst solves Section 2 describes the philosophy of interactive program des
77. requiring only nti integrations to compute an n dimensional gradient It sacrifices some accuracy however If gradMeth is set to 2 or d ouble sided a central difference method will be used This is the most accurate method implemented but requires 2n integrations to compute an n dimensional gradient Since the integrations in the gradient computation dominate the computational time of pEst the central difference method takes about twice the time of the forward difference method For most efficient use of computer time when it is worth the trouble you might want to use forward difference computation most of the time switching to central difference for the last few critical iterations The default is gradMeth single sided EXAMPLES show gradMeth set gradMeth single SEE ALSO show set gradDelta KEYWORDS gradMeth variable forward central difference method gradient sensitivity computation AUTHOR James Murray VERSION 2 1 DATE 11 21 85 13 11 IntegMeth integMeth var integration method USAGE 37 show integMeth set integMeth lt method gt DESCRIPTION IntegMeth is the method used by the program for integrating the equations of motion There are currently two valid values If integMeth is Eluler a first order Euler method is used This simple method uses only 1 state derivative evaluation and 1 response evaluation per time point Although fast this method is quite innaccurate It is re
78. riable the value is retained unless it is redefined by reading a corresponding record on the status file Except for the first record which specifies the file format the order of the records is immaterial Any record can be repeated if repeated the last record read overrides all previous records All fields are case insensitive upper and lower case can be mixed Each record type is defined by its key word the key word is the first field of each record and is left justified in the first eight columns of the record Each key word can be followed by several fields the content and format of the fields of course depend on the record type However all fields of a common type have identical format independent of the record type There are no spaces between fields Any field specifying a system or program variable name is 16 characters wide the name is left justified in the field Any floating point field is also 16 characters wide and is read with a FORTRAN g16 10 format Any logical field is 2 characters wide and contains either a t or an f right justified All other fields are record dependent and are described in the individual sections that follow All key words and literal phrases used in the status file are italicized in the following sections to distinguish them from other text A l1 Version Record The file has a single version record The version record specifies the format used when reading the file hence the version record must be the
79. rimarily all maneuver and window times are redefined The maneuver times are automatically determined by looking for time dropouts of greater than 1 second exact number subject to future change The window times are set to equal the maneuver times by default The avg constants are also reset to the average of the measured data for the maneuver It is possible to manually override these values if you want to for instance if the measured values are wrong but it is unlikely that you want such overrides to automatically carry over from one maneuver to another in fact it could cause great confusion if you were not aware that such carryover was occuring Therefore average values are reset each time a maneuver is read EXAMPLES read 91 read measured casei3 ERROR HANDLING The program gives error messages and returns to the command line on encountering any error Previously read data may be overwritten by a failed attempt to read new data in this case the program will clear out all of the corrupted data and you will have to execute a new successful read command before doing much else constructive A11 commands that use time history data will recognize and appropriately handle the case where no valid time history data is available Appropriate handling usually means that the command will give an error message and refuse to execute SEE ALSO write save restore KEYWORDS read command read load time history data file AUTHO
80. rogram from within pEst The computed time histories are first written to an external file by automatically executing the write command The pEst program does not communicate with thPlot when using this command you have complete freedom to read any files and plot any signals desired After thPlot terminates control is returned to pEst An example of the thPlot command is thplot 4 5 Iterate Command Use the iterate command to start the iterative parameter estimation process You can specify the maximum number of iterations and the desired minimization algorithm If you do not specify the number of iterations no iterations are done the equations of motion are integrated and the cost function is evaluated The three minimization algorithms available are gradient Newton Raphson and Davidon Fletcher Powell If you omit the minimization algorithm the algorithm last specified remains in effect The default algorithm at program startup is Newton Raphson All the iterations specified with a single iterate command use the same minimization algorithm Before attempting to iterate the program tests the validity of the current program status for estimation if the validity test fails iterating is not allowed and control is returned to the command line For example if no measured time history data are in program memory iterating will not be allowed If all validity tests succeed the program iterates until either the specified number of iterations
81. roll pitch and yaw rate states are named p p q q and r r respectively The aircraft attitude is defined by the the aircraft Euler angles measured in degrees The pitch and bank angles are named theta 0 and phi respectively Heading angle is not used in the aircraft equations of motion 6 2 4 Controls The standard user routines define seven control variables All control variables are measured in degrees The three conventional aircraft control surface deflections elevator aileron and rudder deflection are named de e da 6a and dr r The program defines four additional controls d1 81 d2 62 d3 63 and d4 64 6 2 5 Responses The standard user routines define 14 response variables Each of the eight state variables see section 6 2 3 has a corresponding response variable the name and dimensions of each response variable are identical Six additional response variables have no corresponding states The aircraft rotational accelerations are defined in the aircraft body axes and are measured in degrees per second squared The roll pitch and yaw accelerations are named pdot p qdot 4 and rdot 7 respectively The aircraft linear accelerations are defined in the aircraft body axes and are measured in g The axial lateral and longitudinal accelerations are named ax az ay ay and an an respectively 6 2 6 Extras The standard user routines define three extra signals Mach number dynamic pr
82. s No propulsion or rotating mass effects are included We assume a flat earth and constant gravitational acceleration We use English units throughout the equations 6 1 Equations of Motion The standard user routines define the equations of motion used by the program The equations are divided into the state equations and the response equations All time history and parameteric variables 17 used in the equations are described in section 6 2 There is no explicit division of the equations into longitudinal and lateral directional subsets The state equation for airspeed is not implemented in pst The standard user routines define 8 state equations 5 feedback equations and 14 response equa tions Only in rare instances however will you use the complete set of equations In practice you will probably interactively define a subset that is dependent on the maneuver being analyzed You can independently activate the state equations and response equations Each state equation is integrated only if it is active see section 4 6 3 inactive state equations are not integrated and are removed from the equations of motion Each response equation is evaluated only if it is active see section 4 6 4 inactive response equations are removed from the equations Each state variable on the right hand side of the state and response equations can come from one of three sources First the computed time history of the state variable can be used if available
83. stant names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 B 5 Controls controls var control signals DESCRIPTION The following are the names and brief descriptions of the control signals currently defined in pEst NAME DESCRIPTION de elevator deflection deg di deflection of control surface 1 deg d2 deflection of control surface 2 deg da aileron deflection deg dr rudder deflection deg d3 deflection of control surface 3 deg d4 deflection of control surface 4 deg SEE ALSO parameters constants flags states responses extras KEYWORDS control input signals names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 B 6 Extras extras var extra signals DESCRIPTION The following are the names and brief descriptions of the extra signals currently defined in pEst NAME DESCRIPTION qbar dynamic pressure psf mach mach number 33 alt altitude ft SEE ALSO parameters constants flags states responses controls KEYWORDS extra signals names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 B 7 Flag flag cmd display or set user defined flags USAGE flag lt flag_list gt active PARAMETERS flag list List of flag names separated by commas or blanks May alternatively be all for all flags active for the active flags or one of several synonyms for active If not specified it defaults to all active flags tactive o0n yes var
84. tegMeth euler set gradDelta 0 00001 set window time 0 5 9 5 SEE ALSO show KEYWORDS set command set change program variable values AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 20 85 B 26 Show show list display cmd show values of program variables USAGE show list display lt variable name gt DESCRIPTION Shows the value of the specified program variable For a list of the available variables do help variables For details about a specific variable do help on the variable name List and display are accepted as synonyms Sh and disp are acceptable abbreviations EXAMPLES list integ show bound display window show statistics SEE ALSO set KEYWORDS show list display command show list display program variable values AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 20 85 13 27 State state cmd display or set state equation status 99 USAGE state lt state_list gt tactive limit lt limit gt PARAMETERS state_list List of state names separated by commas or blanks May alternatively be all for all states active for the active states or one of several synonyms for active If not specified it defaults to all active states active on yes vary tenable t inact deact disable no f Switch to activate or deactivate integration of the referenced states If active is set the referenced state equation s will be integrated If active is set th
85. the two The Runge Kutta algorithm though slower is more accurate and has a larger region of stability The nonlinear character of the functions f and g requires consideration of several issues that are not relevant for linear equations of motion The inherent possibility of singularities in f and g means that catastrophic termination of the program with subsequent loss of anything done up te that point is a real consideration Extreme caution maybe even paranoia as some have suggested is necessary to anticipate and climinate these possibilities Singularities however are just extreme and obvious cases of ill conditioning the more subtle cases can also generate equally catastrophic errors In the estimation process it is not uncommon for an intermediate solution to diverge greatly from the final converged solution The large magnitudes of the state and observation variables in these intermediate solutions can casily exceed the bounds of validity of intrinsic FORTRAN functions We have implemented limit checking on the state variables see section 4 6 3 to preclude catastrophic computational errors 6 STANDARD USER ROUTINES The pEst program is supplied with a set of equations of motion to model a wide range of aircraft prob lems The equations of motion are a full six degree of freedom nonlinear set of differential equations We do not assume that the aircraft is symmetric We do assume fixed aircraft geometry and constant mass characteristic
86. ting of input errors We have incorporated an online help facility into the program Each program command has its own help file detailing the use and syntax of the command Additionally we have incorporated information on subjects of interest to the program user into the help file system All help files are accessible during program use they are also available outside the program Interactive programs are generally reserved for difficult problems where the approach to the solution is not clear at the outset The solution progress tends to be discontinuous and incremental with numerous dead ends met during the process Efficient interactive problem solution requires a means of recovery from such dead ends We have implemented a program feature that greatly enhances the potential to recover from errors and to restart the program if necessary We have defined a program status file on which you can record the current status of the program at any point thus allowing you to maintain an ancestor that can be used in the event of reaching a dead end Effective use of the status file gives you freedom to experiment with different approaches to the problem without fear of losing any progress already made The pEst program is an interactive program Some problems do not require much user interaction to obtain a solution If you can define a sequence of pEst commands that when executed will solve the problem you can use the program in a batch operating mode
87. tion for the state is integrated and this integrated value is used in the equations of motion If a state is inactive the state equation is not integrated and the equations of motion are modified to remove the corresponding state equation You can modify the status of the selected state variables with the active switch The integration limit for a state variable is used to avoid catastrophic program failure during integration of the equations of motion If during integration the value of a state variable exceeds its limit an error message is printed and the integration is terminated The integration limit is a floating point value specified using the limit key word and value pair The state variables defined by the standard user routines are documented in section 6 2 3 Examples of state commands are state v alpha an q on STATE p r lim 10000 4 6 4 Response command Use the response command to display and modify the attributes of the response variables in the program response variable has two attributes its status and its weighting The status of a response variable determines whether or not the response variable time history is computed If a response is active the response variable time history is computed and made available for other uses If a response is inactive no response time history is computed You can modify the status of the selected response variables with the tactive switch The weighting of a response variable specif
88. ult value is 50 The help file lists the significance of the various numerical values Examples of the use of the message level variable are sho msg Set MsgLev 65 4 7 6 Plot title variable The title variable specifies the title used on the time history plots of response fits Valid values are character strings of up to 40 characters If there are blanks embedded in the string you must put the whole string inside quotes The default value for the title is blank Examples of the use of the plot title variable are Show Tit SET title Space Shuttle Flight 4 Maneuver 3b 4 7 7 Statistics variable The statistics variable contains sample statistics of all measured variables from the time history data file The statistics are defined whenever a measured time history file is read and may not be modified during use they may be displayed only with the show command An example of the use of the statistics variable is Sho Stats 14 4 7 8 Maneuver window variable A window is a time subset of the measured time history file Each window must be wholly contained within a maneuver see section 3 1 When the equations of motion are integrated the integration is reinitialized at the start of each window Only the time points within the windows are used in the analysis Integration of the equations of motion defines values for all computed variables for all time points in all maneuvers regardless of whether the time points are inside or o
89. undane errors as exceeding dimension limits or giving a non existent file name or signal name are all caught The program should not crash regardless of what junk you feed it for commands Infinite or NaN quantities in the data may crash it If you succeed in crashing the program in any other way please let me know SEE ALSO bindPEst thPlot usePest internal help FILES current current program status measured time history data file computed time history file of estimated variables pEst_thplot temp scratch file for communicating with thplot IMPLEMENTATION Fortran program The time history data file interface routines are used to read the data files See the help topic fileInterface for discussions of the file interface subroutines You must write customized versions of these routines to use pEst on data files not supported by the standard ones KEYWORDS program pEst parameter estimation mml e AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 10 28 85 AS B 18 Plot plot cmd plot fits of currently active responses control and extras USAGE plot res iduals u cfontrols i nputs ex tras PARAMETERS res If this flag is turned on the fit residuals are also plotted Default is res u 1f this flag is turned on the contol signals are also plotted Default is u ex If this flag is turned on the extra signals are also plotted Default is ex DESCRIPTION Enters thPlot progr
90. urely for any reason an error message is printed but the computed time history file is still written If the program fails to write the file an error message is printed and control is returned to the command line Examples of the write command are write Write computed maneuveri0g 4 4 2 Plot command Use the plot command to plot time history fits for all active response variables see section 4 6 4 using the thPlot program The computed time histories are first written to an external file by automatically running a write command The time histories are plotted four per page multiple pages are plotted if required The measured response and computed response are both plotted on the same axis the axis is automatically scaled to accommodate both variables You can optionally request plots of additional time history variables response residuals states controls and extras the plots for these variables follow the plots of the time history fits of the response variables If no measured time history data exist in program memory an error message is printed and no plots are made If the integration terminates prematurely for any reason an error message is printed but plots are still made If the program fails to write the computed history file for any reason an error message is printed and no plots are made Examples of the plot command are Plot plot resids states 4 4 3 thPlot command Use the thPlot command to run the thPlot p
91. urrent status and exit pEst USAGE quit DESCRIPTION Writes current program status and computed time history files and exits pEst The effect is the same as doing a save command with no parameter followed by an abort command EXAMPLES quit SEE ALSO abort write save KEYWORDS quit command save current status and quit exit pEst AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 11 19 85 B 20 Read read cmd read measured time history file USAGE read fileName PARAMETERS filename filename or pathname of the file to be read If not specified it defaults to the same name as last specified on a read command If no fileName has been specified by any read command in the current run the name defaults to measured DESCRIPTION Reads a measured time history data file A measured time history file must be read before pEst can do anything of consequence On initial startup the program attempts to read a time history file named measured If this attempt fails for any reason you will be unable to do much until you do a successful read command The read command can also be used after completing analysis of one maneuver to switch to a new data set for analysis A few program variables are automatically reset whenever a read command is successfully executed These are variables that are closely associated with the individual maneuver and unlikely to be meaningfully carried over from one case to another P
92. utside the windows For time points outside the windows the program uses a constant value for each computed variable the value depends on the variable type For a state variable the value is zero for a response variable the value is the average value of the measured data for the variable At program startup the default window or windows are identical to the maneuver or maneuvers The window variable specifies the window or windows used in the analysis The window variable specification has three elements the window number the maneuver number and the time specification Whenever a window is referenced all currently defined maneuvers and windows are displayed Examples of the use of the window variable are Show windows SET WINDOW TIME 0 10 set wind 2 man 2 time 0 5 7 5 4 8 Advanced Commands 4 8 1 Do command Use the do command to read a sequence of pEst commands from an external command file and execute them Upon successful completion of the command sequence control is returned to the command line Examples of the do command are do initialize Do Startup X29 4 8 2 System command Use the system command to execute an operating system command from within pEst This command may not be implemented on some systems Examples of system commands are SYSTEM FILES sys help copy sys Rename Current init fi8 Current 5 ALGORITHMS The pEst program gives you selective use of several different algorithms for various program
93. vative of those implemented in that it has the least chance of failing This is because the gradient method involves no matrix inversions Note however that matrix inversion difficulties are usually a sign of more serious intrinsic identifiability problems and should not be lightly ignored Like the pEst implementation of Gauss Newton the gradient method should never give a cost increase from one iteration to the next Convergence of the gradient method is often extremely slow The implementation of the Davidon Fletcher Powell algorithm in the pEst program is still somewhat experimental The algorithm is generally considered to be quite powerful However we have not yet spent much time investigating its performance in the pEst environment The default is minMeth newton raphson EXAMPLES show min_meth set min_meth newton SEE ALSO show set iterate KEYWORDS AQ minMeth variable Newton Raphson Newton Gauss Newton Gauss method algorithn gradient steepest descent method algorithn Davidon Fletcher Powell dfp method algorithm cost function minimization min optimization method algorithm AUTHOR James Murray VERSION 2 1 DATE 11 21 85 B 14 MsgLevel msgLevel var amount of screen output USAGE show msgLevel set msgLevel lt message_level gt DESCRIPTION MsgLevel is the amount of screen output displayed The following describes the output added at each value of msgLevel Higher values of msgLevel also
94. y enable t inact deact disable no f Switch to set the value of the referenced flags to active or inactive or on off etc If this switch is present all referenced flags will be set to the specified value If the switch is omitted the flag values remain unchanged DESCRIPTION Displays or sets status of flags The flag values are boolean true false etc There is no distinction between on true active etc except that some of these synonyms may sound more sensible than others for a specific flag The interpretation of the flag values is solely a function of the user routines The core pEst program does nothing with the flags except handle the mechanics of setting displaying and storing them EXAMPLES flag use_avg_qBar use_avg_mach no flag all SEE ALSO param const cmd flags var KEYWORDS flag command set change list show display flags AUTHOR James Murray NASA Dryden VERSION 2 1 DATE 3 18 86 B 8 Flags flags var user defined flags DESCRIPTION The following are the names and brief descriptions of the user routine flags currently defined in pEst NAME DESCRIPTION use_avg_qbar use average use_avg_mach use average use _avg_V use average use_avg_alpha use average use_avg theta use average use_avg_beta use average use_avg_phi use average SEE ALSO flag parameters constants extras state KEYWORDS flag names descriptions AUTHOR James Murray VERSION 2 1 DATE 11 22 85 qb
Download Pdf Manuals
Related Search
Related Contents
R-15AM Operation-Manual DE Installation and Operating Instructions NOTA Korenix JetNet 4510 Series Industrial Managed Ethernet Switch Copyright © All rights reserved.
Failed to retrieve file