搜档网
当前位置:搜档网 › The NASA STI Program Office provides

The NASA STI Program Office provides

NASA Technical Memorandum 4790

PLATSIM: A Simulation and Analysis Package for Large-Order Flexible Systems (Version 2.0)

Peiman G. Maghami, Sean P. Kenny, and Daniel P. Giesy

Langley Research Center, Hampton, Virginia

The NASA STI Program Office . . . in Profile

Since its founding, NASA has been dedicated to the advancement of aeronautics and space science. The NASA Scientific and Technical Information (STI) Program Office plays a key part in helping NASA maintain this important role.

The NASA STI Program Office is operated by Langley Research Center, the lead center for NASA’s scientific and technical information. The NASA STI Program Office provides access to the NASA STI Database, the largest collection of aeronautical and space science STI in the world. The Program Office is also NASA’s institutional mechanism for disseminating the results of its research and development activities. These results are published by NASA in the NASA STI Report Series, which includes the following report types:

?TECHNICAL PUBLICATION. Reports of completed research or a major significant phase of research that present the results of NASA programs and include extensive data or theoretical analysis. Includes compilations of significant scientific and technical data and information deemed

to be of continuing reference value. NASA counter-part or peer-reviewed formal professional papers, but having less stringent limitations on manuscript length and extent of graphic presentations.

?TECHNICAL MEMORANDUM. Scientific and technical findings that are preliminary or of specialized interest,

e.g., quick release reports, working papers, and bibliographies that contain minimal annotation. Does not contain extensive analysis.

?CONTRACTOR REPORT. Scientific and technical findings by NASA-sponsored contractors and grantees.?CONFERENCE PUBLICATION. Collected papers from scientific and technical conferences, symposia, seminars, or other meetings sponsored or co-sponsored by NASA.

?SPECIAL PUBLICATION. Scientific, technical, or historical information from NASA programs, projects, and missions, often concerned with subjects having substantial public interest.

?TECHNICAL TRANSLATION. English-language translations of foreign scientific and technical material pertinent to NASA’s mission.

Specialized services that help round out the STI Program Office’s diverse offerings include creating custom thesauri, building customized databases, organizing and publishing research results . . . even providing videos.

For more information about the NASA STI Program Office, see the following:

?Access the NASA STI Program Home Page at https://www.sodocs.net/doc/8811430222.html,

?Email your question via the Internet to help@https://www.sodocs.net/doc/8811430222.html,

?Fax your question to the NASA Access Help Desk at (301) 621-0134

?Phone the NASA Access Help Desk at (301) 621-0390

?Write to:

NASA Access Help Desk

NASA Center for AeroSpace Information 800 Elkridge Landing Road

Linthicum Heights, MD 21090-2934

NASA Technical Memorandum 4790

PLATSIM: A Simulation and Analysis Package for Large-Order Flexible Systems (Version 2.0)

Peiman G. Maghami, Sean P. Kenny, and Daniel P. Giesy

Langley Research Center, Hampton, Virginia

The use of trademarks or names of manufacturers in this report is for

accurate reporting and does not constitute an official endorsement,

either expressed or implied, of such products or manufacturers by the

National Aeronautics and Space Administration.

Available from the following:

NASA Center for AeroSpace Information (CASI)National Technical Information Service (NTIS) 800 Elkridge Landing Road5285 Port Royal Road

Linthicum Heights, MD 21090-2934Springfield, VA 22161-2171

(301) 621-0390(703) 487-4650

Contents

Chapter 1—Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 PLATSIM Version 2.0 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

Chapter 2— Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Modal Frequency Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Mode Shape Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Modal Damping Schedule File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Instrument Data File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Instrument data parameter act. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Instrument data parameter mout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Instrument data parameter pout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Instrument data parameter instr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Disturbance Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 distdata.m input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 distdata.m outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Control System File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Linear and time-invariant control system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Nonlinear or time variant control system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Solution Check File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Nonlinear Reaction Wheel Friction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Nonstiction condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Stiction condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

Chapter 3—Analysis Methodology and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Time Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Linear analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Nonlinear analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Jitter analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Frequency Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 PLATSIM frequency domain inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 PLATSIM frequency domain outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Execution Control Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

Chapter 4—Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 GUI Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Top-level graphical interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Supporting graphical interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Batch Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Batch Mode Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

iii

Chapter 5—PLATSIM Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Time Domain Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Full-time histories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Time history plots and reduced time history data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Jitter results and plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 File-naming conventions for PC’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Frequency Domain Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Frequency response matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Bode plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 File-naming conventions for PC’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 Chapter 6—Diagnostic Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Appendix A—User-Supplied Routines for Earth Observing System EOS-AM-1 Example . . . . . . . . . . . .43 Appendix B— S-Function Representation of Earth Observing System EOS-AM-1

Attitude Control System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Appendix C—Solution Integrity Checking File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 Appendix D—Time Domain Output and Frequency Domain Output for Earth Observing System

EOS-AM-1 Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Time Domain Output for EOS-AM-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Frequency Domain Output for EOS-AM-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72

Figures

Figure 1. Format of phi.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Figure 2. Reaction wheel friction characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Figure 3. Stiction condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Figure 4. Open-loop block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Figure 5. Closed-loop block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Figure 6. Graphical user interface for the PLATSIM package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Figure 7. Work space button pull-down menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Figure 8. Options button pull-down menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Figure 9. Jitter window interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Figure 10. Analysis button pull-down menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Figure 11. Inputs/outputs button pull-down menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 Figure 12. Spacecraft modal uncertainty interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Figure 13. Mode-by-mode frequency modification interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Figure 14. Set analysis parameters interface (time domain) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Figure 15. Controller definition interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Figure 16. Set analysis parameters (closed loop, frequency domain) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Figure 17. Input/output connections interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Figure 18. Performance output selection interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Figure 19. Disturbance module interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Figure D1. Example of time-history plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Figure D2. Example of Bode plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

Chapter 1

Introduction

The software package PLATSIM provides time and frequency domain analysis of large-order generic space platforms. PLATSIM can perform open-loop analysis or closed-loop analysis with linear or nonlinear control sys-tem models. PLATSIM’s generic control structure para-digm permits almost any type of control architecture to be implemented, for example: attitude control systems with or without flexible body controls, active isolation systems, and payload-instrument local control systems. In the time domain analysis, PLATSIM simulates the response of the space platform to disturbances and calcu-lates the jitter and stability values from the response time histories. In the frequency domain analysis, PLATSIM calculates frequency response function matrices and pro-vides the corresponding Bode plots. While PLATSIM was designed for analyzing space platforms, it only assumes that it has a finite element model of a structure that is being excited by force and/or torque inputs. Thus, any structure (e.g., aeronautical, automotive, structural, or mechanical) that fits this model can be analyzed by PLATSIM.

PLATSIM operates in the MATLAB? technical computing environment at MATLAB version 4.2 or 5.0. MATLAB, a product of The MathWorks, Inc., is a tech-nical computing environment for high-performance numeric computation and visualization (ref. 1). PLATSIM also uses the Control System Toolbox and SIMULINK, which are additional products of The MathWorks, Inc. User input to PLATSIM is provided in the form of MATLAB readable data files and MATLAB function M-files.

PLATSIM allows the user to maintain a database of performance measurement outputs on the space platform and a database of disturbance scenarios. An individual run of PLATSIM can use all the performance outputs or a user-selected subset; the user selects one disturbance scenario for each run. Time domain analysis in PLATSIM provides on-screen plots of time histories at user-selected output locations (e.g., instrument bore-sight) due to user-selected disturbance scenarios, encap-sulated PostScript files of these plots, tables of jitter-stability values due to disturbances for user-selected time window sizes, and files containing the time history data in either compressed or full form. Frequency domain analysis in PLATSIM provides on-screen Bode plots, encapsulated PostScript files of these plots, and files con-taining the plot data.

PLATSIM includes novel algorithmic features that provide efficiency in all calculations and, in some cases,are actually enabling technologies. PLATSIM exploits the particular form of sparsity (block diagonal with 2 by 2 blocks) of the plant matrices for both time analysis and frequency domain analysis. A new, original algorithm for the efficient computation of closed-loop (as well as open-loop) frequency response functions for large-order sys-tems has been developed and is implemented within PLATSIM. This algorithm is an enabling technology for the analysis of large-order systems, in general, and flexi-ble space systems, in particular. Furthermore, a novel and efficient jitter analysis routine which determines jit-ter and stability values from time simulations in a very efficient manner (speedup of three to four orders of mag-nitude in typical examples as compared to the brute force approach of sweeping minima and maxima) has been developed for and is incorporated in the PLATSIM package.

PLATSIM requires the following user inputs: modal data of the spacecraft as generated by finite element anal-ysis, damping ratios for flexible modes, information about control actuators, measurement feedback sensors, and performance instrument outputs (e.g., boresight mea-surements), spacecraft disturbance data, and spacecraft control system model.

The program can be used in either a graphical user interface (GUI) mode or in a batch mode. The two modes differ in the way the required and optional flags and parameters that control execution are defined. In the GUI mode, the parameters and flags are chosen from pop-up MATLAB menus with a keypad and a mouse. In the batch mode, all flags and parameters are defined in MATLAB command lines, which can be placed in an ASCII input file.

Although PLATSIM was developed to analyze generic space platforms, the Earth Observing System EOS-AM-1 (ref. 2) is used throughout this manual as an example. Furthermore, several M-files and data files included in the PLATSIM distribution, some of which are listed in appendix A, correspond to the EOS-AM-1 spacecraft. These files are the spacecraft control system defined in formscs.m, the instrument types and con-nectivity data defined in instdata.m, the finite ele-ment data defined in omega.mat and phi.mat, the damping schedule defined in mkdamp.m, and the spacecraft disturbance data defined in distdata.m and its supporting routines. These files can serve as tem-plates for the user-supplied files for other space platform applications.

PLATSIM Version 2.0 Enhancements

PLATSIM version 2.0 offers several substantial improvements in both capabilities and performance over the initial version 1.0 release. Improvements have been

made to all aspects of the software package, but the most significant improvements have been made to core analy-sis modules (time and frequency domain modules and the jitter analysis module) and to the graphical user interface. PLATSIM version 2.0 offers the following new features: Nonlinear controllers are permitted.

?Seven nonlinear integration routines are available for controller state propagation.

?The user has direct access of controller states to facil-tate solution integrity checking.

There is direct interface with SIMULINK controller models.

?Controller models may be SIMULINK block diagrams or generic S-functions.

Time-domain memory management has been greatly enhanced.

?Jitter calculations may be performed on-the-?y as opposed to postprocessing the entire time history matrices.

Time-domain analysis has been generalized.

?The control system can be modeled as continuous time or discrete time.

?Hybrid control system models, consisting of continu-ous and discrete states, are supported.

?Three methods are available for the propagation plant states.

Frequency domain analysis has been generalized.?PLATSIM frequency domain analysis now has the capability of performing Bode analysis on 16 closed-loop and 9 open-loop transfer functions.

?The control system may be continuous time or discrete time.The graphical user interface has been expanded.?Complete graphical access to all new time and fre-quency domain features has been added, for example, transfer function de?nition (including input/output connections), controller implementation methods, plant integration methods, and others.?Graphical interface for de?ning jitter windows is possible.

?Session ?le creation for convenient recovery of previ-ous PLATSIM run-time variable setting can be used.

The manual begins with the description of input files and variables required by PLATSIM that include the finite element data, instrument and disturbance descrip-tion data, and information on the control system (chap-ter2). In chapter 3, the methodology and the assumptions behind the various analysis capabilities by the program are described, along with a discussion on the execution control parameters and options, which direct the type and extent of analysis performed by PLATSIM. Chapter 4 describes the graphical user interface execution mode as well as the batch execution mode. The various menus, buttons, and sliders in the graphical user interface that assign the execution control parameters, define or rede-fine the structural and controls models, or execute the program are discussed in detail. The description of the results or output of the various analyses performed by PLATSIM, in terms of file names, types, and contents are provided in chapter 5. These results and outputs include the time history plots, reduced time history data, jitter tables, gain and phase plots, and transfer functions. The run-time diagnostic messages generated by PLATSIM are listed in chapter 6. Appendixes A and B provide a listing of typical user-supplied routines required by the program. Appendix C provides an exam-ple of the type of routine required for the solution integ-rity check capability of PLATSIM. Finally, examples of typical PLATSIM outputs for a time domain analysis (including jitter analysis) and a frequency domain analy-sis are provided in appendix D.

Chapter 2

Input Files

The PLATSIM program requires user-supplied information from which it can construct the simulation or analysis model. PLATSIM requires

https://www.sodocs.net/doc/8811430222.html,rmation on the ?nite element model of the plant:

modal frequencies, modal damping ratios, and mode shapes.

https://www.sodocs.net/doc/8811430222.html,rmation on the control system hardware and

instrument outputs: location, direction, identi?cation number, and types.

https://www.sodocs.net/doc/8811430222.html,rmation on disturbances: disturbance time histo-

ries, along with the corresponding location and direc-tion of actions, and identifying names.

https://www.sodocs.net/doc/8811430222.html,rmation on the control system mathematical

model: whether the controller is linear or nonlinear;

for linear control systems, the control system matri-ces; for nonlinear control systems, the nonlinear con-troller function, along with discrete-state updates and output vector.

https://www.sodocs.net/doc/8811430222.html,rmation on user-de?ned and optional checking

algorithm to be used in the validation of the integra-tion of the nonlinear controller.

Specifically, PLATSIM requires users to provide the fol-lowing input files:

?modal frequency data ?le (omega.dat or omega.mat)

?mode shape data ?le (phi.dat or phi.mat)?modal damping schedule ?le (mkdamp.m)?instrument data ?le (instdata.m)?disturbances data ?le (distdata.m)?disturbances ?les (arbitrarily named M-?les)?control system ?le (arbitrarily named M-?le)?solution check ?le (optional) (solchk.m)

Note: These ?les should be placed in MATLAB’s directory path.

The remainder of this chapter is devoted to presenting the details of these input files.

Modal Frequency Data File

The finite element modal frequency data are to be provided in ASCII file omega.dat, or in MATLAB binary file omega.mat.

The ASCII file omega.dat contains one frequency per line:

where p is the number of modes in the spacecraft model.

The MATLAB binary file omega.mat should con-tain a variable omega which is a p×1 vector containing the frequencies from omega.dat as described above.

The user running PLATSIM in its graphical user interface (GUI) mode has the opportunity, via the menu item “Modify Plant Model” under the “Options” button, to interactively change the plant model’s frequencies. (See “Program Execution” on page 21.)

Mode Shape Data File

The ?nite element mode shape data are to be pro-vided in ASCII ?le phi.dat, or in MATLAB binary ?le https://www.sodocs.net/doc/8811430222.html,e s to denote the number of grid points at which mode shape data are to be given in file phi.dat and label these grid points with grid numbers N1,N2,...,N s. Then phi.dat has(p×s) lines in the format shown in figure1 on page 4, where X j i,Y j i, and Z j i are the modal translations in X,Y, and Z, andΘj i,Φj i, andΨj i are rotations about X,Y, and Z for mode i at grid point N j. Note that grid points that are not needed to model instruments, the control system, or disturbances do not need to be included in file phi.dat. However, if they are included, care must be taken to ensure that each mode block contains data for exactly the same grid points.

Note: If p frequencies are defined in omega.dat, modal amplitudes for exactly p modes should be defined in phi.dat, and the i-th mode in phi.dat should cor-respond to frequencyωi.

The MATLAB binary file phi.mat should contain a variable phi, which is a (p×s) by 7 matrix containing the grid numbers and mode shape displacements and mode slope displacements from phi.dat as described previously. Users are encouraged to create the binary file phi.mat to improve the efficiency of loading model data.

Modal Damping Schedule File

PLATSIM determines the damping ratios of the flex-ible spacecraft modes by calling the user-supplied

ω1

ω2

ωp

..

.

4

MATLAB function mkdamp in file mkdamp.m . This function has the following form:

function [d]=mkdamp(omega)

The input argument omega is a vector containing the modal frequencies ω1,ω2,...,ωp . The user must set the output d to a vector containing the corresponding damping ratios. Appendix A contains a sample file mkdamp.m for the EOS-AM-1 mission. This file defines a damping ratio of 0.2percent for structural modes with frequencies under 15Hz, a damping ratio of 0.25percent for structural modes with frequencies between 15Hz and 50Hz, and a damping ratio of 0.3percent for structural modes with frequencies over 50Hz.

The user running PLATSIM in its graphical user interface (GUI) mode can use “Modify Plant Model”under the “Options” menu to change the damping sched-ule. (See “Program Execution” on page 21.)Instrument Data File

The data defining the location, direction, type, and identification of the control system actuators and sensors,as well as the performance outputs of the system, must be provided by the user through a user-supplied MATLAB function instdata in a file named instdata .m . This function must have the following form:

function [act ,mout ,pout ,instr]=instdata The following is a description of the user-defined output parameters in file instdata.See appendix A for a sample file instdata .m for the EOS-AM-1spacecraft.Instrument data parameter act .Parameter act is used to define the location, direction, identification, and scaling of the control system actuator models. Parameter act is a matrix of four rows by as many columns as

Figure 1.Format of phi .dat .

N 1N 2N s

X 1

1X 1

2X 1s

Y 1

1Y 1

2Y 1s

Z 1

1Z 1

2Z 1s

θ1

1θ1

2θ1s

φ1

1φ1

2φ1s

ψ1

1ψ1

2ψ1s

N 1N 2N s

X 2

1X 2

2X 2s

Y 2

1Y 2

2Y 2s

Z 2

1Z 2

2Z 2s

θ2

1θ2

2θ2s

φ2

1φ2

2φ2s

ψ2

1ψ2

2ψ2s

N 1N 2N s

X p

1X p

2X p s

Y p

1Y p

2Y p s

Z p

1Z p

2Z p s

θp

1θp

2θp s

φp

1φp

2φp s

ψp

1ψp

2ψp s

necessary to represent the actuators. An example of act is given as

act

?The ?rst row of act de?nes the ?nite element grid points upon which the actuators are acting.

?The second row of act de?nes the directions at which the actuators are acting. Direction numbers

are limited to 1 through 6, which correspond to

x-translational,y-translational,z-translational,

x-rotational,y-rotational, and z-rotational direc-

tions, respectively.

?The third row of act de?nes the user-de?ned pos-itive identi?cation numbers associated with the

actuators.Note: Each actuator must have a

unique identi?cation number. A single actuator

may require more than a one-column

description.

?The fourth row of act de?nes the weighting-scale factors associated with the actuators. This factor

allows for distributing the effect of an actuator

within grid points. For example, in the act exam-

ple, actuator 550 exerts its torque about the Y-axis

on two grid points (1211 and 1212), each with a

weighting of 0.5; that is, half the torque generated

by this actuator is applied to grid point 1211 and

the other half to grid point 1212. On the other

hand, actuator 400 exerts its torque about the

Z-axis solely at grid point 827. This factor also

allows for independent scaling of the actuator

output.

?Each column of act indicates a contribution of an actuator (force or torque) to a grid point.Note:

Each actuator must be represented by at least

one column.

?Note: Internally, PLATSIM reorders the actuator numbers according to the sorted (low-to-high)

identi?cation numbers provided in the third row of

act. In the previous example, PLATSIM consid-

ers actuator 300 as the ?rst actuator, actuator 400

as the second, and actuator 550 as the third and last

actuator.

Instrument data parameter mout.Parameter mout is used to define the location, direction, identifica-tion, scaling, and measurement type of the control system sensor models. Parameter mout is a matrix of five rows by as many columns as necessary to represent the mea-surement outputs. An example of mout is given as

mout

?The ?rst row of mout de?nes the ?nite element grid points whose responses contribute to the sen-

sor measurements.

?The second row of mout de?nes the direction associated with the grid point responses that

contribute to the sensor measurements. Direction

numbers are limited to 1 through 6, which

correspond to x-translational,y-translational,

z-translational,x-rotational,y-rotational, and

z-rotational directions, respectively.

?The third row of mout de?nes the user-de?ned positive identi?cation numbers associated with the

measurement sensors.Note: Each measurement

sensor must have a unique identi?cation num-

ber. A single sensor may require more than a

one-column description.

?The fourth row of mout de?nes the weighting-scale factor associated with the sensors. This factor

allows for the contribution of responses from mul-

tiple grid points and directions to a measurement

signal. For example, in the mout example above,

measurement sensor 11 measures a combined

response from rotation about the Y-axis at grid

point 111, rotation about the Z-axis at grid point

121, and rotation about the Z-axis at grid point

122, with corresponding weighting factors of 0.5,

0.25, and 0.25. In other words, the measurement

signal of sensor 11 is comprised of half the rota-

tional response (about the Y-axis) at grid 111, a

quarter of the rotational response (about the Z-axis)

at grid point 121, and a quarter of the rotational

response (about the Z-axis) at grid point 122. Note

that this weighting-scale factor also allows for

independent scaling of the sensor output.

?The ?fth row of mout de?nes the measurement sensor type ?ag numbers which take the value 0 for

displacement and the value 1 for rate. PLATSIM is

programmed only to handle displacement and rate

sensors as input to the control system; however,

acceleration feedback to the control system can be

implemented by the addition of a judiciously

selected pre?ltering of a velocity signal.

=62512111212827

4556

300550550400

1.00.50.5 1.0

Grid Point No.

Direction No.

Identification No.

Weighting/Scale Factor

=

111121122827

5664

111111120

0.50.250.251.0

0001

Grid Point No.

Direction No.

Identification No.

Weighting/Scale Factor

Type Flag No.

5

?Each column of mout indicates a contribution of a grid point (in a speci?ed direction and type) to a measurement sensor. Note: Each measurement sensor must be represented by at least one column.

?Note: Internally, PLATSIM reorders the sensor numbers according to the sorted (low-to-high) identi?cation numbers provided in the third row of mout. In the previous example, PLATSIM

considers sensor 11 as the ?rst sensor and sensor

120 as the second and last sensor.

Instrument data parameter pout.Parameter pout defines the location, direction, identification, scaling, and measurement type of the performance output models. Parameter pout is a matrix of 5 rows by as many columns as necessary to represent the performance outputs. An example of pout is given as

pout

?Note: The rows and columns of parameter pout follow exactly the de?nitions given for that of

parameter mout with one exception:

The elements in the fifth row of pout,which

define the performance output types, may also

take values of 2 for acceleration output.

? A weighting factor is included with the prior data.

One use of this weighting factor is for conversion

of units. The performance output which is being

calculated in radians is converted to arc seconds by

multiplying the original weighting factors [1 0.3 1]

by (3600× 180)/π to obtain the fourth row in the

example pout.

Instrument data parameter instr.Parameter instr is a matrix of character strings that provides names for the performance outputs. The number of rows in instr must be equal to the number of performance outputs, that is, the number of distinct entries in the third row of pout. An example of instr, corresponding to the previous example of pout, is given as

instr

?Each element of instr is a string consisting of three or four ?elds separated from each other by

the vertical bar (|) character.

?The ?rst ?eld is an integer which must correspond to one of the performance output identi?cation

numbers de?ned in the third row of pout.

Note: Every identification number in that row must be referenced in instr.

?The second ?eld is one or more alphanumeric words which provide a unique name for the corre-sponding performance output. These names are used in PLATSIM on menu labels and to identify information in output tables and graphs. They are also used as parts of ?le names after embedded blanks have been replaced by underscores (_).

No characters (except blanks that will be

replaced by underscores) should be used

that would confuse the computer operating

system when used in a file name.

For purposes of determining whether

character strings are distinct, embedded

blanks should be considered the same as

underscores (e.g., “SWIR Pitch” and

“SWIR_Pitch” should be considered the

same).

?The third ?eld is used to name the menu button under which this instrument will be found when running PLATSIM in the GUI mode. By using the same name in the third ?eld of several entries, the entries will be grouped in a submenu under the same menu heading. In the example shown previ-ously, all performance outputs are found under separate menus labeled: “SWIR”, “VNIR”, and “TIR”.

?If the optional fourth ?eld is present, PLATSIM will add it to the second ?eld in generating the ver-tical legend of time history plots; this can be used, for example, to give the units of the output.

=

101314567

564

11131120

2.0626105

×0.6188105

× 2.0626105

×

012

Grid Point No.

Direction No.

Identification No.

Weighting/Scale Factor

Type Flag No.

=

1|SWIR Pitch|SWIR|arc-sec

1120|VNIR Yaw Acceleration|VNIR|arc-sec/sec2 113|TIR Roll|TIR|arc-sec

6

Disturbance Data

In the development of the PLATSIM package, it was assumed that spacecraft simulations and analyses would be performed for a variety of different disturbances sce-narios and that each user would maintain a disturbance database. Easy interactive access to the disturbance data-base is provided in PLATSIM through a graphical user interface. The operation and capabilities of the distur-bance GUI will be described in “Program Execution” on page 21.

The PLATSIM disturbance data are communicated to the main package through a user-supplied MATLAB function distdata in file distdata.m. This user-supplied data file provides a complete description of all spacecraft disturbance scenarios. A spacecraft distur-bance scenario may consist of several disturbance events.

A disturbance event is a force or torque time history act-ing on the platform.

The actual structure of the user disturbance data is described herein.Note: The specific structure of the function call has been modified for version 2.0. The variable tdflag has been added to the input list.The first line(s) of file distdata.m. must have the follow-ing form:

function [dist,w,period,cnames,dnames, instdat,mapping]

=distdata(casenum,tdflag)

The data the user returns in the first three parameters (dist, w,and period) will depend on casenum, while the data returned in the last four parameters (cnames, dnames, instdat,and mapping) must be the same, independent of the value of casenum. The data returned in dist,w, and period will model the one or more disturbance events of the distur-bance scenario identified by casenum.

distdata.m input

casenum: Used to select a particular disturbance sce-nario from the user-provided database.

?If PLATSIM calls distdata with casenum = 0, the user need only return the last four parame-

ters (cnames, dnames, instdat,and

mapping).

?If casenum is input as a positive integer between the values of 1 and the number of rows in character

matrix dnames, then all seven parameters should

be returned with the values in the ?rst three corre-

sponding to the disturbance scenario whose name

is in row casenum of dnames. See input variable

tdflag for exceptions.

?Note: All other values of casenum are invalid.

?For all nonbatch mode operations, the value of casenum is set by the disturbance module GUI.

In batch mode, the value of casenum is set in the

batch mode input ?le.

tdflag: A string variable set to ‘yes’ for time-domain analysis and to ‘no’ for frequency domain analysis. This input is a version 2.0 modification which allows users to avoid unnecessary calculations when frequency domain analysis is requested.

?When tdflag=’no’, output variables w, and period do not have to be de?ned.

distdata.m outputs

dist: A matrix of four rows by as many columns as necessary to describe one disturbance event represented by a column of the matrix w. An example of dist is given as

dist

?The ?rst row of dist de?nes the ?nite element grid points upon which the disturbances are acting.

?The second row of dist de?nes the directions at which the disturbances are acting.Direction num-

bers are limited to the integers 1 through 6,

which correspond to x-translational,y-translational,

z-translational,x-rotational,y-rotational, and

z-rotational directions, respectively.

?The third row of dist de?nes the user-de?ned positive identi?cation numbers associated with the

disturbances.Note: Each disturbance event must

have a unique identi?cation number. A single

disturbance event may require more than a one-

column description.

?The fourth row of dist de?nes the weighting-scale factor associated with the disturbances. This

factor allows for distributing the effect of a distur-

bance across multiple grid points. For example, in

the dist illustration, disturbance 200 exerts its

torque about the Y-axis on two grid points (121 and

112), with weighting factors of 0.6 and 0.4, respec-

tively. In other words, 60 percent of the torque

exerted by this disturbance is applied to grid point

121, and the other 40 percent is applied to grid

point 112. On the other hand, disturbance 100

exerts its force in the x-direction solely at grid

point 6325. This factor also allows for independent

scaling of the disturbance levels.

=

6325121112

155

100200200

1.00.60.4

Grid Point No.

Direction No.

Identification No.

Weighting/Scale Factor

7

?Each column of dist indicates a contribution of a disturbance (force or torque) to a grid point.Note:

Each disturbance must be represented by at

least one column.

?Note: Internally, PLATSIM reorders the distur-bance numbers according to the sorted (low-to-

high) identi?cation numbers provided in the third

row of dist. In the previous example, PLATSIM

considers disturbance 100 as the ?rst disturbance

event and disturbance 200 as the second and last

disturbance event.

w: A matrix of force and/or torque disturbance time his-tory profiles. The number of rows in w is the number of time steps, and the number of columns in w is the number of disturbance events. This output is optional for fre-quency domain analysis.

period: A disturbance sampling period, which is also used as the update rate of the simulation solution. Note that the same discretization period is used for all events in a single disturbance scenario. This output is optional for frequency domain analysis.

cnames: A string matrix that contains the menu head-ing labels for the disturbance GUI. The disturbance GUI will create a pull-down menu button for each row in cnames. The entries in cnames are used for menu button labeling only and will not appear in output documentation.

dnames: A string matrix of disturbance scenario case names. The rows in dnames are used for labeling pull-down menu items in the disturbance GUI, for labeling plot figures, and for constructing some PLATSIM output file names.

?If the PLATSIM user selects a disturbance scenario from the disturbance GUI that was in row “j” of

dnames, then PLATSIM will call distdata

with casenum = ‘j’. The user who wrote

distdata.m must return the disturbance case

which corresponds to the name in row “j” of

dnames by testing casenum and acting on the

value found there.

?Individual disturbance scenarios may be “com-mented out” by editing distdata.m to return

the corresponding row of dnames with an asterisk

(*) as the ?rst character. The scenario will still

show on the disturbance GUI menu but in a dis-

tinctive grey type, and it will not be selectable. instdat: The variables instdat and mapping together define which dnames row entries will appear under a particular cnames disturbance GUI pull-down menu button. The vector instdat may be any length, and its entries may be in any numerical order.

?Note: The entries in instdat must correspond to valid row numbers in the dnames string

matrix.

mapping: The vector mapping must contain non-negative integers and define the partitioning of the instdat vector required to map the entries in dnames to the disturbance GUI labels created from cnames.

?The number of entries in the mapping variable must equal the number of rows in cnames.

?The sum of all entries in mapping must equal the number of elements in instdat. For example, if

instdat has 30 elements, the MATLAB com-

mand sum(mapping) must also equal 30.

To illustrate the use of the parameters cnames, dnames, instdat, and mapping, suppose the file distdata.m contains these commands:

cnames=str2mat(‘Calibration’,’Tracking’);

dnames=str2mat(‘Solar Array’,’Telescope Cal’,’Antenna Cal’);

dnames=str2mat(dnames,’Telescope Track’,’Antenna Track’,’Antenna Sweep’); instdat=[1 2 3 1 4 5 6];

mapping=[3 4];

This disturbance database should contain six distur-bance cases whose names are given in the six lines of the dnames matrix. When PLATSIM is run in GUI mode, there will be two buttons on the disturbances menu with labels Calibration and Tracking. The Calibration button will invoke a submenu showing three entries (mapping(1) = 3) which will be taken from the first three rows of the dnames matrix. The first three entries of instdat are[1 2 3]. The Tracking button will invoke a submenu showing four entries (mapping(2)=4) which will be taken from rows 1, 4, 5, and 6 of dnames. The next four entries of

8

instdat are [1 4 5 6]). Note that the same disturbance scenario (Solar Array in this example) may be included in more than one category.

Control System File

The control system model is accessed by a user-supplied MATLAB function whose name is in the string variable nlcon. Depending on the linear or nonlinear nature of the controller, the user-supplied file may be either a PLATSIM version 1.0 style, that is, a function that returns a linear time-invariant state space representa-tion, or a MATLAB S-function. It should be emphasized that any linear or nonlinear control system can be repre-sented, such as a spacecraft attitude control system, a flexible body control for payload isolation or disturbance rejection, robotic control, and many others.

Linear and time-invariant control system.If the control system is linear and time invariant, information on the control system may be provided in one of two ways:

1. A user-supplied MATLAB function must provide the

matrices that de?ne the control system in state-space form. This form was required by PLATSIM version1.0.

?The ?rst line of this type controller ?le must have the form function[ascs,bscs,cscs,dacs]

=xxyyzz where the output parameters ascs,

bscs,cscs, and dacs denote the state matrix,

the input in?uence matrix, the output in?uence

matrix, and the feed-through matrix of the control

system, respectively. The name of the controller

?le,xxyyzz.m in this example,is arbitrary and

is passed to PLATSIM in the execution control

parameter (p.16ff)nlcon as nlcon=

’xxyyzz’.

?An example ?le named formscs.m is given in appendix A. This ?le corresponds to a simpli?ed

continuous-time model of the attitude control sys-

tem of the EOS-AM-1 spacecraft.

2. A user-supplied MATLAB S-function may be pro-

vided in one of three ways:

?As a user-supplied MATLAB function which fol-lows the input/output requirements for S-functions.

Type help sfunc at the MATLAB prompt for a

complete description of S-functions. An example

of a user-supplied S-function corresponding to a

continuous-time model of the attitude control sys-

tem of the EOS-AM-1 spacecraft is given in

appendix B.

? A user-supplied SIMULINK block diagram. If the controller exists as a block in a SIMULINK simu-

lation ?le, a MATLAB S-function may be obtained

by isolating the controller block, by changing its

input and output connections to Inports and

Outports, respectively, and by saving the

updates.

?A user-supplied C or FORTRAN function which follows the input/output requirements of

S-functions. This function is subsequently con-

verted to a MATLAB “mex” ?le through the

MATLAB fmex or cmex routines.

Note: Controller file names are arbitrary and can be modified from default values during program execu-tion in GUI mode or by setting string parameter nlcon in the batch mode.

General assumptions and comments:

1.The linear controller can be either a continuous or a

digital controller. Note that the user declares the con-tinuous or digital nature of the controller in ?ags used during the program execution.

2.It is assumed that the control system is implemented

with a negative feedback connection.

3.It is assumed that the number of control system inputs

is equal to the number of measurement outputs of the plant. Moreover, there is a straight connection between the measurement outputs of the plant and the inputs of the control system.

4.It is assumed that the number of control system out-

puts is equal to or greater than the number of control inputs to the plant. However, it is assumed that only control system outputs 1 through the number of plant inputs are used in the feedback connection. Moreover, the feedback connection is a straight connection.

Nonlinear or time variant control system.If the controller model is nonlinear or time variant, the neces-sary information on the control system model is provided solely by a user-supplied MATLAB S-function which can be defined in one of three ways, as discussed in the previous section. An example of a nonlinear control sys-tem corresponding to a continuous-time model of the attitude control system of the EOS-AM-1 spacecraft with reaction wheel stiction is provided in user-supplied MATLAB S-function stiction.m.

General assumptions and comments:

1.The nonlinear controller may have both continuous

and discrete states. (See S-function de?nitions.)

2.It is assumed that the control system is implemented

with a negative feedback connection.

9

103.It is assumed that the number of control system inputs is equal to the number of measurement outputs of the plant. Moreover, there is a straight connection between the measurement outputs of the plant and the inputs of the control system.

4.It is assumed that the number of control system out-puts is equal to or greater than the number of control inputs to the plant. However, it is assumed that only control system outputs 1 through the number of plant inputs are used in the feedback connection. Moreover,the feedback connection is a straight connection.Solution Check File

PLATSIM provides the capability to accept or reject a solution of the nonlinear controller integration through the use of the user-supplied solchk .m input file. By using this function (given the information on the previ-ous as well as the current controller states and outputs),the user can implement a checking of the solution; that is,if the conditions are not met, the current solution is rejected, and a smaller recommended step size is pro-vided by solchk .m . The first line of file solchk .m must have the form

function[han]=solchk(z2,u2,z1,u1,h)where the input parameters z2,u2,z1,u1, and h are defined as

z2: current controller state vector

u2: current controller output vector

z1: previous controller state vector

u1: previous controller output vector

h : integration step size

The output parameter han must be set to h , if the user accepts the solution. If the solution is rejected,han should contain the recommended new integration step size, which must be less than h .

Nonlinear Reaction Wheel Friction

As an example of controller solution checking, con-sider the problem of nonlinear reaction wheel friction model (stiction); see figure 2, “Reaction wheel friction characteristics.”

Nonstiction condition.If the wheel speed is non-zero, or if the magnitude of the applied torque is greater than or equal to the stiction torque (static friction torque),the reactive torque is given as

where T react denotes the reactive torque (output torque),J w represents the inertia of the reaction wheel, and represents the wheel speed rate.Stiction condition.If the wheel speed is zero and the magnitude of applied torque is also less than or equal to the stiction torque (see fig.3, “Stiction Condition”), the reactive torque is given as The wheel speed would stay at zero until the applied torque becomes larger then the stiction torque (static fric-tion torque).From the previous equations, it is obvious that the reactive torque is not a continuous function of .Moreover, it is quite possible that in the process of advancing the states of the nonlinear control system,which includes the nonlinear model of the reaction wheel, an integration step may come about wherein (a) a zero-crossing of the wheel speed occurs, and (b) the applied torque at the time of wheel speed zero-crossing is

T react J w ω˙w

–=Figure 2. Reaction wheel friction characteristics.Figure 3. Stiction condition.

ω˙w T react 0=

ω˙w

less than or equal to the stiction torque; that is, stiction has occurred. Thus, the current solution of the integration is not valid because it did not model the behavior of the wheel properly by predicting and taking the stiction of the wheel into account. For example, if from the states and outputs it is determined that a stiction condition may have occurred in the vicinity of point “s”, at time from the previous step, the user may recommend retrying the integration with a step size of or some fraction of .

The solution check is provided to give the user the capability of altering integration step sizes and state val-ues to accommodate for discontinuities associated with some nonlinear devices. A solution check file for the stiction of reaction wheels in the EOS-AM-1 example is provided in appendix C. Note that in this example file, the checks on the zero crossing of the wheel speed and the friction torque crossing of the applied torques are per-formed by using linear interpolation between the previ-ous and current values.

11

Chapter 3

Analysis Methodology and Options

PLATSIM includes novel algorithmic features that provide efficiency of all calculations while constituting enabling technology in some cases. PLATSIM exploits the particular form of sparsity of the plant matrices both in the continuous-time and discrete-time forms, as used by the time domain analysis and the frequency domain analysis.

Time Domain

In the time domain analysis, PLATSIM performs a time simulation of the system by using the user-provided input data files (which define the model) together with the execution control parameters selected by the user. This simulation is optionally followed by a jitter analysis at the discretion of the user. PLATSIM assumes the fol-lowing with regard to the plant and control system models:

1.The plant model is assumed to be linear with model

information provided, as described in chapter 2.

2.The control system model can be either linear or non-

linear. See chapter 2 for the proper input ?le format.

3.The control system can be modeled in continuous

time or in discrete time.

4.Hybrid control system models, consisting of

continuous-time and discrete-time modules, are also permitted (in the nonlinear analysis only).

5.The information needed to declare the type of control

system is provided by the user through the linearity ?ag (execution control parameter linflag) and the continuous-time ?ag (execution control parameter ctflag). See “Execution Control Parameters” on page 16.

Once the plant and the control system models have been defined, PLATSIM allows for two types of time analysis, linear and nonlinear. The user defines the type of analysis desired through the implementation flag (impflag). See “Execution Control Parameters” on page 16. PLATSIM takes advantage of the sparsity of the spacecraft dynamic model system matrix to perform the linear or nonlinear analysis very efficiently. The reader should refer to reference 3 for a detailed description of this sparsity.To take advantage of the sparsity, PLATSIM assumes that the measurement outputs of the plant, which are inputs to the control system, are pro-cessed through a sample and hold analog-to-digital con-version; this is not a restrictive assumption because it is a routine procedure in almost all modern practical applications.

Linear analysis.When using the previously men-tioned assumption regarding the sample and hold applied to control inputs, the following applies to linear analysis: 1.If the control system model is discrete time with a

sampling period tsc, then time simulation is per-formed through algebraic propagation of the plant and the controller states, with the output updates occur-ring at the appropriate times (every tsd for the plant and every tsc for the controller).

2.If the control system model is continuous time, the

controller is still implemented in a discrete-time form.

However, the sampling period tsc is chosen auto-matically by PLATSIM to be small enough; that is, the controller, for all practical purposes, is continuous time. Then, time simulation is performed through algebraic propagation of the plant and the controller states, with the output updates occurring at the appro-priate times (every tsd for the plant and every tsc for the controller).

?The controller sampling rate is chosen to be one decade larger than the crossing frequency with the

line 20 dB below the H-in?nity norm (of the con-

troller). A 40 dB line is used if the roll-off rate is

less than 20 dB/decade.

?Users may de?ne their own value for tsc (the value must be different from the default) to over-

ride its automatic computation. (See “Execution

Control Parameters” on page 16.)

3.The disturbances are interpolated by using linear

interpolation as necessary.

Nonlinear analysis.When using the assumption regarding the sample and hold applied to control inputs, the following applies to nonlinear analysis:

1.In the nonlinear analysis, the sampled measurement

outputs are used in one of seven nonlinear integration routines to propagate the states of the controller.

These routines are as follows:

?Euler integration algorithm

?Second-order Runge-Kutta-Heun integration algo-rithm (with no error control)

?Second-order Runge-Kutta integration algorithm (with third-order error control)

?Third-order Runge-Kutta algorithm by Bogacki-Shampine (with error control)

?Fourth-order Runge-Kutta-Hall integration algo-rithm (with error control)

?Fifth-order Runge-Kutta integration algorithm by Fehlberg (with error control)

?Modi?ed Rosenbrock algorithm for stiff systems (with error control)

13

相关主题