7.5..- 4 . ~ ‘~-,....-...-.-—....._..-u “. v" ‘V. a "v.-. ‘ “w... ..--- “5.5.5“ A ‘14.; n n... '~Mll v... ..... r.. 1‘ .wlh'du «flunk.¢~_.v.lc...mu. I4.‘l.‘.‘<.-<. -....-s-':lut.u~4 THESlS lllllllllllllllllllmllflllllll 1293 01063 6904 ‘r LIBRARY Michigan State University ’b This is to certify that the thesis entitled The Develonnent of a Remote-Controlled Aircraft Flight Simulation presented by David Arnold McClaughry has been accepted towards fulfillment of the requirements for Master of Science Mechanical Engineering degree in 2' , \\ 5/ ' 9:. 14 641% f rvv v v Major professor Date 5/8/31; Erik Goodman MSU is an Affirmative Action/Equal Opportunity Institution MSU LIBRARIES m RETURNING MATERIALS: Place in book drop to remove this checkout from your record. fifl§§ wili be charged if book is returned after the date stamped below. THE DEVELOPMENT OF A REIOTE-CONIROLLED AIRCRAFT FLIGHT SIIULAIION By David Arnold IcClaughry A.IHESIS thnitted to Michigan State University in partial fulfillment of the requirements for the degree of IASTER OF SCIENCE Depart-ent of Iechanical Engineering 1985 ABSTRACT THE DEVELOPIENT'OF A REMOTE-CONTROLLED AIRCRAFT FLIGHT SIMULATION By David Arnold lcClaughry This thesis presents a structured approach for calculating. displaying and simulating the motion of a remote-controlled aircraft. A PRlIE 750 is used to compute and sum the forces generated by the engine. fuselage and aerodynamic bodies, yielding the equations of motion. These are then integrated over time to yield the aircraft's velocities. The velocities are downloaded to an Evans and Sutherland P8300 which performs an integration over time to find the aircraft's position. The solutions obtained provide a description of the flight path of the aircraft which is used to generate the P8300's visual display. Various strategies to partition the computational load between the PRIME and the P8300 were investigated. with the goal of providing smooth visualization while preserving rapid control response. The pilot is able to interactively implement aircraft controls via the P8300 control dials. to my family ii ACINOILEDGEHENTS I wish to express my gratitude to my advisers. Dr. Erik Goodman and Dr. Clark Radcliffe for their guidance and assistance throughout my research and graduate study. Iany thanks to my family for their never-ending love and support. A special thank you goes to larci for her love. understanding and help through the difficult times. Finally. a thanks to ny friends-for all they have done for me. iii TABLE OF CONTENTS L£‘t Of Fi‘u.‘ OOOOOOOOCOOOOOOOOOOOO...OOOOOOOOOOOOOOOOOOOO Nuancl‘tu. COOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO a‘pt.r1:InttOdnctionOOOOOOOOOOOOIOOOOOOOOOOOOOOOOOOOOOOO a‘pt.‘ 2: ”ya-1° “Od‘l OOOOOOOOOOIO0.000000000000000000000 Airf°11 soction. 00......OOOOOOOOOOOOOOOOOOOOOOOOCOO... Fu..1". 0.000000000000000.0000000000000000000.0.0.0... En.‘n./Prop‘11.r OOOOOOIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO “rottl. ‘nd contrOI suf‘c.‘ OOOOOOOOOOOOOOOOOOOOOOOOO Chapter 3: Simulation Implementation ....................... Chapter 4: Real-time Considerations ........................ Ch‘pt.r5:conc1u'ion‘ OOOOOOOOOOOOOOOOOOOOO0.0.00.0...CO... Li‘t 0t R.t.r.nc.‘ OOOIOOOOOOOOOOOIOOOOOOOOOOOO0.0.0.0000... Appendix Appendix Appendix Appendix Appendix Appendix A: C: coordin‘t. Tr‘n.fon.tion. OOOOOOOOOOOOOOOOOOOOO Faro. G.n.r‘ti°n T.bl°. OOOOOOOOOOOOOOOOIOOOOOIO Aircr‘ft L‘yont OOOIOOOOOOOOOOOOOOOOO0.0.0.0.... :Dlmq V°rif1°‘ti°nOOOOOOOOOOOOOOOOOO00.0.00... ' Evans and Sutherland Display Function Network .. : Simulation Computer Code ....................... iv vi 11 12 14 17 26 31 33 35 39 44 47 65 68 Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 31. 32. 83. B4. C1. D1. DZ. 03. D4. LIST OF FIGURES page Primary and secondary forces and moments of an aircraft 6 Force-generating elements and control surfaces of an aircraft 7 Forces and moments generated by an airfoil-shaped body 8 Schematic representation of the simulation task division 19 and conunication points Timing and triggering mechanisms of sinulation tasks 20 Depiction of the simulation environment 24 Definition of the remote-controlled pilot's line of sight 25 Revised timing and triggering nechanisms of simulation tasks 30 Axis systems used in coordinate transformation 36 Angle of Attack vs. Lift Coefficient Curve 40 Lift Coefficient vs. Drag Coefficient Curve 41 Angle of Attack vs. lament Coefficient Curve 42 Advance Ratio vs. Thrust Coefficient Curve 43 Dimensions to the line of actions for a light aircraft 46 DIFFEQ time response verification -- steady-state check 50-52 DIFFEQ time response verification -- elevator check 53-55 DIFFEQ time response verification - aileron check 56-60 DIFFEQ time response verification -- rudder check 61-64 Evans and Sutherland Display Function Network 67 NOMENCLATURE A - acceleration, projected frontal area b - airfoil span c - airfoil chord CD - airfoil drag coefficient ch - fuselage drag coefficient CL - airfoil lift coefficient C. - airfoil moment coefficient CT - propeller thrust coefficient D - airfoil drag force. propeller diameter at - fuselage drag force 31 - airfoil induced drag force F - resultant external force vector Fel - force at an individual force-generating element 6 - resultant moment vector about the center of mass 6.1 - moment about an individual force-generating element I - moment of inertia matrix Ixx - maaent of inertia about x axis Iyy - mouent of inertia about y axis In - moment of inertia about 2 axis Ixs - product of inertia xs dm vi J - advance ratio of propeller ‘i - Runge-Kntta intermediate velocity evaluation L - airfoil lift force m - mass of the aircraft I - airfoil moment n - angular velocity of prOpeller P.Q.R - angular velocity about the center of mass P'.Q'.R' - transformed angular velocity about the center of mass r - line of action of an individual force-generating element q - dynamic pressure a - airfoil area T - thrust generated by the propeller U.V.I - linear velocity of the center of mass D'.V'.I' - transformed linear velocity of the center of mass V - velocity vector of the center of mass V. - previous velocity vector of the center of mess I - position vector of the aircraft At - time interval for integration c - angle of attack of the airfoil. angular acceleration vector about the center of mass 11 - ith eigenvalue of a system of equations A: - real root of an eigenvalue 0.0.1 - angles for coordinate transformations 9 - air density n - angular velocity vector about the center of mass NOTE: Throughout this paper the author refers to the Evans and Sutherland P8300 system as the E-S. vii CHAPTER 1 Introduction Iith the recent advances in the computer industry. real-time flight simulators can be developed on mini- and micro-computers with a high degree of accuracy and realism. These advances allow computer flight simulators to be used in a variety of applications. Commercial airlines. the military and NASA use computer-driven flight simulators for safely training pilots in a wide range of flight situations in order to improve their piloting abilities. These simulators are very complex machines. often having one or more computers dedicated solely to the simulation task. Realising the force feedback in the controls. providing the sensation of flight forces and motion and displaying intricate instrumentation and advanced graphics are some of the features of these very complex simulation systems. In a second application. research simulators are of great aid to aircraft designers. Preliminary testing of aircraft designs can be confidently performed without actually building a plane. It is possible to evaluate the stresses which aircraft parts will be subjected to in order to aid in design optimization. The effects of parameter changes on aircraft stability and maneuverability can be determined before implementation. A third type of flight simulator is the recreational or hobby simulator. Only recently have home computers gained the capabilities of modeling a complex dynmmic problem such as flight simulation in near real-time. However. the realima of these simulators is limited. It is difficult to gain a feel for controls implemented with keystrokes on a keyboard. Also. the graphics are often "Jumpy" and do not provide a realistic display. All of the above simulation systems rely heavily upon extensive flight testing data and/or several very complex aerodynamic theories. The goal of this thesis is to outline a method for generating simple but realistic equations of motion. and implementing these in a flight simulation. According to this goal. the simulator can be categorised as a hobby-type simulator. Note that exact engineering data are not expected from this research -- only an approximation of the flight path of a vehicle of the type modeled. However. some of the negative factors of the prevailing hobby-type simulator are addressed and solved. Before embarking on the dynamic modeling of an aircraft. it is valuable to examine the constraints on the simulation. and thus define a foundation for the flight simulator. The computing systems available were a multiple-user PRlIE 750 which can handle the computationally intensive equations of motion for the flight simulation. and an Evans and Sutherland P8300 that lends itself well to the graphical display tasks. The rate of communication between the two systems and the effects of a multiple-user system on the simulation provide additional constraints on the simulation performance. These effects - in addition to each computer's architecture -- determined the simulation task assignment. The flight situation selected for simulation was the remote piloting of an aircraft using visual feedback from the point of view of a fixed ground observer. This situation was well-suited to the available resources. and presented a graphical challenge. Tb model the flight. visual feedback of the simulator should correspond to an abstraction of the actual flight scene. Similarly. the controls should resemble those of the real aircraft. Immediately. it was recognized that the force feedback present in aircraft controls would be difficult to model. Therefore. simulation of a flight scheme which does not rely on control feedback was selected. Finally. the idea of a simple dynamic model became important. The computing time period and power for real-time computation on the time-sharing mini-computer is limited. It is assumed that the aircraft modeled flies at relatively low airspeed and altitude. implying that the fluid properties of air are constant. This simplifies the calculation of the aerodynamic forces. Therefore. simpler calculations yielding a quicker response time resulted in a more realistic real-time simulation. Clearly. a simulator of this type can serve a useful purpose in training and practicing the techniques necessary to fly a remote-controlled aircraft. An aircraft of this type requires only visual feedback between the pilot and the plane. No instrumentation and certainly no force feedback controls are present to aid in the flying of the plane. The crash or loss of a remote-controlled aircraft from inadequate practice and simulation would be costly in terms of time and money spent in designing and building the model. CHAPTER 2 Dynamic Model The first step in the development of a flight simulator is the lconstruction of a dynamic mathematical model of the aircraft which can be implemented on the computer. The key to the dynamic modeling is simplification. A fast and computationally simple model of the aircraft is needed for implementation as a real-time simulation. This will maximize the simulator's control response. Conversely. a certain amount of detail must be present in the model to attain the flying qualities of an aircraft. The guideline: Any factors which do not influence the general flying characteristic of the plane will be neglected. The aircraft is best modeled under these conditions as a body with various forces and moments acting upon it. As a further extension of the simplification idea. the aircraft structure is assumed to be rigid during flight. Initially. the forces and moments acting on the plane are very general and can be located anywhere on the aircraft. These forces and moments are then summed vectorially at the center of mass of the aircraft (C.I.). Newton's Second Law. 3 - .4, can be applied and the equations of motion defined. l} WEIGHT Figure 1: Primary and secondary forces and moments of an aircraft There are four primary forces acting on the plane: Lift. thrust. drag. and weight [7]. These forces are shown in Figure 1. Figure 1 also identifies a set of secondary moments [7]. These are the control moments; i.e.. the rolling moment. the pitching moment and the yen moment. These moments provide handling and directional control of the aircraft. The primary force and moment generating elements are identified in Figure 2 -- the main wing. the horizontal tail. the vertical tail. the fuselage and the engine/propeller combination. The control elements also identified in Figure 2 - the aileron. the elevator. the rudder and the throttle - produce the directional control and performance forces and moments. There are many more components that Vertical Horizontal ax; . Tail 3' ‘ Fuselage Engine/Propeller Combination Rudder “‘ Main Wing Aileron Figure 2: Force-generating elements and control surfaces of an aircraft contribute to the flight forces and moments of a real plane. However. these main elements may be used to define a mathematically simple model that describes the aircraft flying characteristics adequately for the purposes at hand. Based on the mode of generation of these forces and moments. the elements are divided into three unique categories: 1) the airfoil-shaped sections. which include the main wing. the horizontal tail and the vertical tail. 2) the fuselage. and 3) the engine/prOpeller combination. The evaluation of the forces and moments of these elements will be addressed individually. The control forces and moments are a subset of the primary forces and moments and will be discussed later. Figure 3: Forces and moments generated by an airfoil-shaped body mm Ihen an airfoil moves through a fluid. two forces and a moment are generated. These forces. shown in Figure 3. are lift. which is perpendicular to the relative wind vector. and drag. which is parallel to the relative wind vectorll]. The moment produced is about the y axis of the airfoil. The above forces and moments are evaluated using wind tunnel testing. The National Advisory committee on Aeronautics (NACA) and later the National Aeronautics and Space Administration (NASA) have published wing section data that gives the lift. drag. and moment coefficients for a given wing type [1]. The airfoil selected was one which is suitable for a light commercial aircraft; the classification number is NACA 63-412. Thus. the force and moment calculations are based upon the wind tunnel test data for the selected airfoil. These data are presented in the form of a force or moment coefficient versus the angle of attack of the airfoil (c). The angle of attack is defined as the angle included between the relative wind vector and the chord line of the airfoil. as shown in Figure 3. The relative wind of the airfoil must be calculated to determine this angle. Three main factors define the relative wind of an airfoil: l) the linear velocity of the C.l. and the angular velocity about the C.H.. 2) the location of the airfoil relative to the C.I. of the plane. and 3) the orientation of the airfoil axis to the plane axis. The first two factors determine the fluid velocity at the airfoil. The third factor transforms the fluid velocity into the coordinate system defined by the dihedral. washout and sweep angles of the airfoil. These angles are fixed for a given surface of the aircraft. (The development of the transformation of coordinates appears in Appendix A.) At this point the airfoil is assumed to be of infinite length and therefore two-dimensional. This assumption neglects the downwash of the wings. The correction for this assumption will be 10 addressed later. The angle of attack is then defined by the relative horizontal and vertical velocities. The forces and moments generated are calculated using the wind tunnel test data (shown in Appendix H) and the characteristic dimensions of the airfoil: L ' q s (1) D ' CD q a (2) I - Cu g g c (3) where b - airfoil span c - airfoil chord CD - drag coefficient CL - lift coefficient CI - moment coefficient D - airfoil drag force airfoil lift force airfoil moment - dynamic pressure. ipv - wing section area. b.c 3 mufl‘llF I At this point it is important to discuss the implication of using a finite aspect ratio wing. The primary result when downrash is included is an increase in the airfoil drag [9]. The additional drag effect is known as induced drag. and current aerodynamic theory predicts the induced drag to be: ”1 ' L3 I 9b,“ (4) where Di - airfoil induced drag force Therefore. once the lift is known the induced drag effects can be incorporated into the force and moment summation. In view of the need for simplification of this model. other secondary effects of downwash have been omitted. 11 The procedure described above is used repeatedly for all of the airfoil bodies on the aircraft. The same wind tunnel test data is used in each case with the exception of the rudder. The rudder is assumed to be a symmetric airfoil. This results in no moment or perpendicular force being produced when the airfoil angle of attack is zero. Therefore in the lift and moment calculation an offset has been subtracted to satisfy the symmetric airfoil condition. The main purpose of the fuselage is to house the passengers and freight that the aircraft is to carry. It is designed to have minimum effect on the flying forces and moments of the aircraft. It is assumed that the fuselage never experiences large angles of attack. Therefore. moments produced by the drag on the fuselage are negligible. However. there is a substantial contribution in the drag or performance forces. For this reason the fuselage is modeled as a pure drag-producing element. Three major parts of the fuselage are examined - the fuselage body. the engine/nacelle and the landing gears/wheels. Aerodynamic theory shows that this parasitic drag is proportional to the square of the velocity [4]. Therefore. a relationship between the aircraft's velocity and projected frontal area and the fuselage drag can be defined: 12 where A - projected frontal area of the aircraft CDf - fuselage drag coefficient D! - fuselage drag force V - velocity Once again the evaluation of the drag coefficients come from testing performed by the NACA. Because of the naall angle of attack assumption the drag coefficient is assumed to be constant. The data for the three identified fuselage parts are summed and the result identified as the force and moment contributions of the fuselage. WW The main purpose of the engine/prepeller combination is to furnish the thrust to overcome the drag forces of the plane. as well as provide a means for longitudinal acceleration of the plane. The engine model is assumed to be an ideal engine in the sense of maintaining a constant engine speed for a given throttle setting. The propeller is analyzed as a rotating airfoil which creates a lift along the x axis of the plane. namely thrust. A simple analytical expression is difficult to define for the thrust of a prepeller. However. the basic characteristics can be examined by considering a typical blade and applying blade element theory [6]. Iith this analysis a relationship between the advance rate of the prepeller and the thrust coefficient of the propeller can be developed. Having defined the propeller characteristics and evaluated 13 the advance ratio 1 I V/nD (6) where J - advance ratio n rotational speed of the prepeller D - propeller diameter the thrust can be determined: 1 . CTn’nD‘ (7) where - thrust coefficient - thrust (The thrust coefficient graph is shown in Appendix B.) The secondary effects of the aircraft power plant have been disregarded for the sake of simplistic modeling. even though these effects may require some pilot control responses. The effects of the rotating flow interacting with the flying surfaces behind the prepeller were neglected. The effects of precession during attitude changes. and asymmetric loading of the prepeller during constant angle of attack conditions -- such as climb and dive -- were also neglected. By using the ideas described up to this point. the primary forces and moments of the aircraft were defined and evaluated. It is important to be able to implement the necessary controls of the plane. Analyzing the effects of the aircraft controls will give an insight to the simplest method of modeling them. 14 Minimums; Throttle: Since the engine is assumed to be ideal. a throttle variation is simply an increase or decrease in the engine speed. This will be implemented in a 0-100 percent range. Aileron. Elevator. and Rudder: Each control deflection produces a moment about an aircraft axis which acts to place the main force-generating elements in a different flight configuration. The key is to produce a moment about a given axis. The three control surfaces are implemented in the same manner but yield vastly different effects. The desired effect can be achieved by changing the angle of attack of the chord line of a given primary force-generating element. By changing the angle of attack of the horizontal tell. a moment about the lateral axis is generated. and the plane pitches up or down. This simulates the effects of an elevator. To induce a moment about the longitudinal axis of the plane. the angle of attack of the outer portion of the main wings is varied. unlike the elevator. the right and left wing sections are displaced in apposite directions. This results in an unequal lift distribution and therefore a roll moaent. simulating the effects of the aileron. The rudder acts in a manner similar to the elevator. The angle of attack of the vertical tail is changed. thus inducing a sideways force in one direction which transforms to a yaw moaent at the plane's C.l. These changes in angle of attack are very slight. with a maximum effect being 0.6 percent of the mean angle of attack calculated from the relative wind. The moments induced by these small changes in 15 angle of attack of the force-generating elements are approximately equal to the moments generated by the control surfaces of a real aircraft. They are present to provide a means of generating the necessary control moments. This method of modeling the controls does allow for many of the considerations of a real aircraft. such as trimming the aircraft at cruise speed and adverse yaw in a roll. 'ith the evaluation of the forces and moments of the plane complete. the summation process can be performed. The axis system used is attached to the plane. with the origin coincident to the plane's C.I. The characteristic moment arms are defined using the layout of a typical light aircraft and estimating the line of action of the forces of each element. (These dimensions are shown in Appendix C.) All of the forces and moments can now be transformed to the aircraft's C.I. using the following relationship: 5 . 25.1 (8) )9“ + g“ x 5) (9) where F is the force at the C.l. G is the moment at the C.I. Fel is the force at the element G‘l-is the moment at the element r is the distance to the line of action This results in a new set of forces and moments acting through the C.R. To derive the equations of motion it is necessary to apply Newton's Second Law to the rigid body aircraft. This task is most easily performed in the frame of reference in which the forces were summed. 16 fixed to the plane. This eliminates the occurrence of cross-products and derivatives of the moments of inertia. However. it will require additional terms. The equations of motion for a rotating reference frame are: F . mA'+ m: x V (10) E'EE‘PIUX: (11) - total forces summed at C.I. - total monents summed at C.I. - linear acceleration of C.l. where F G A n - angular acceleration of C.I. V e I m - linear velocity of C.l. - angular velocity of C.I. - moments of inertia of aircraft - mass of the aircraft Ry rearranging the terms and placing the accelerations on the left. the result is: A.- Elm - 2 x V (12) g - (g — 3: x 3m (13) These are the accelerations of the C.I. of the plane and are integrated twice over time to describe the flight path of the aircraft. These equations were analyzed using DIFFEO. a simulation package for solving non-linear differential equations. in order to verify the behavior of the equations [13]. (The results of this verification can be seen in Appendix D.) CHAPTER 3 Simulation Implementation Iith a usable mathematical model of the next step in the development of a flight model together with an integration scheme flight path. Once the plane's position is can be visualised on the computer. Iith the many methods for implementing the simulation aircraft constructed. the simulator is to utilize the to define the aircraft's calculated. the flight path resources of two computers. are available. A desirable solution is one which updates aircraft position and control inputs as quickly as possible. Therefore. the simulation tasks must be matched to the abilities of each system. 17 18 There are four basic steps in the simulation: Evaluation of the equations of motion. velocity integration. position integration and flight path display. It is beneficial to identify the computer system and necessary communication associated with each task and then to discuss the specifics of each task individually. The evaluation of the equations of motion is performed on the PRIME: it requires the velocity and position of the plane. as well as the control settings. The PRIME integrates these results over time to yield the velocity of the plane. The new velocities are sent down to the E-S once this integration is completed. Vith this velocity information the 8-8 can perform an integration over time to obtain the flight path data. The position is frequently recalculated on E-S at a rate determined by the system's display refresh rate. Finally. the flight path data is updated graphically on the 8-8. Figure 4 gives a schematic representation of the task division in addition to the points of communication between the two systems. Equations 14-15. in a general sense. identify the time steps used for the integration process. Figure 5 outlines the order and timing of the various tasks in the simulation. The evaluation of the equations of motion is performed using the model described in the previous section. The key point in implementing the model is the update of the control information and plane position. This information is provided by a triggering mechanism on the EPS that collects the current aircraft status and uploads it when the PRllE is ready to evaluate the equations of motion again. 19 «Samoa nomuecmn=BOo one nemnm>mc Mae» comuenaauu on» no nouaeunououoou caucaosom ”v ounuqm 11-1--. _ mmummmmwnmm e4 _ na> manohuatmouch ”wax e . he no . c n anemone“ woodman "momma _ auhuoa.> « n ”as a a run n.on _ .m I z _ . x n.0nnnm on“ mundaoaeu .mudfinuovazu.Comuenwcucm audoome> one can _ :ouuhmoa , ecomuenueucu codunuoo uo noose: emu . c _ _ Jo convenmeucm conwmuon era a ¢ eueaneoo o» mom ecu now noun coma or» - ind _ _ _ compenmoucu cohuacmouch aunoo~o> en» a tease ca were: Haumoohos euoaoaoo ou waded or» you mean soda or» . u< _ mmflWMflmu . unwuom Wm madam ecu 0» caused a: i n.oce~M «mm eueaaoauo . ucnuuennm «mm euemnuaeu can .mem on» no veueauuaeo camumnon an» . aw _ m use .mtnmm ecu :0 ummmduuwemuhm“wwmw>cumw u n> _ " canunsnoucu Aonucoo n _ . «Honored nun mx_rm on» no oeueaeoaeo conaanoacooe on» a < one conunuoo a.oce~m . .- . _ _ new neuuune conuneon h..onme: .-.n .4 .-. s) cannons» noue>e~e coMn nu Mn“ annucoo .nu. mad . >mw . .mx - ax _ heaven conenme _ one anunweon .Auaooue> e .3: Mmflhoudd . nachucou cnuuuvn c 33.1: new . _ _ a .3. .r<.a4..ra> _ _ xZuq zouhu can myawm _l||||||_ 20 manna comma—name mo aaamnenooa unmuommmuu an. unmamh "n cannon F> mz_a; :o_umcmmu:_ :o_uwmoa 5/, \(r x/IlllgfiIIWImIMI mecca: u_zqecu ecu cowuecmmucm cowupmoa r11 m w m LameMLH »u_uo_m> m2~zm copquL0mmcmgh xuwuopm> mz_zm :owuosnomcm ponucou can =o_u'moa comm m w u _o>o_numm - :oFSmscomcm 3 “1 mz_ma :owuez_m>u :o_uoz no m:o_am=ch A/l “2—ma zowuecmma:_ >u_uo_w> 21 The purpose of the velocity integration is to calculate the plane's velocity from the equations of motion. The most suitable integration routine is determined by the constraints on the problem. The simulation is working in a real-time environment and there is a relatively large time step involved: instabilities due to numerical integration technique are quite possible. Also. the time step over which the equations of motion are evaluated is not fixed. due to the multiple user configuration of the PRllE. Therefore a high-order. variable time step routine is necessary. The integration method which is most easily implemented in this situation is a fourth order Runge-Kutta: V - V. was. + 2x. + 2x. + s.) (16) I. - At-NV.) (17) I. - A:-:(v.+§r.) (18) I. - At-t(v.+§x,) / (19) I. - At-1(V.+ K.) (10) where V - plane's velocity ‘i - intermediate velocity evaluation At - time interval A problem arises with the use of a variable time step routine. The time step. At. is not known until the integration is complete. yet it is needed to complete the integration. To resolve this problem. the time step from the previous velocity evaluation is used. This will induce some variation between real time and the velocity calculation. However. it is assumed that the time steps are fairly consistent. and this effect is negligible. The PRIIE's internal clock. with a rate of 3 22 centiseconds. is used as a real-time clock for the velocity integration. Once the velocities are calculated. this information is made available for the evaluation of the equations of motion at the next time step and for the position integration. as shown in Figure 4. Before the velocity information is sent down to the 8-8. it must be transformed into a fixed inertial reference frame. (This transformation is discussed in Appendix A.) At this point the transformed velocities are downloaded to the E-S for position integration. Recall that a communication between the two computers during the velocity evaluation invokes the uploading of the current control information and plane position from the 8-8. By using this point for the triggering mechanism the simulation is kept in synchronization: the most current information is always used and the looping time reduced. The objective of the position integration is to generate the flight path of the plane from the velocity information at a rate quick enough to make the display appear to move continuously. To achieve this goal the position integration is performed entirely on the E-S. independent 1 of the user load on the PRllE. Iith this independent configuration the time step for position integration is relatively usall. It is sufficient to use an Euler method of integration to calculate the plane's position: 11 . x1-1 + Vj 'At (21) where X - plane's position 23 By examining equation 21. it is seen that there is still a dependence on the PRllE for velocity information in the position calculation. To allow for the small time step necessary for display continuity. the position integration must not wait for a new velocity. It will. instead. use the velocity information of the previous time step. As soon as the new velocities are calculated they are utilised in the position integration -- a procedure which can also be seen in Figure 4 and equation 15. By isolating the position integration on the E-S. the display is updated in a graphically smooth manner while the velocity update keeps the dynamic model. velocity integration and position integration in synchronization. A clock function on the £98. with a rate of 5 centiseconds. is used as the real time clock for the position L integration. The final task in the simulation is the display of the flight path. Before the position integration information can be utilized it is necessary to describe the environment that the plane will fly in and identify the viewpoint of the pilot. The "simulation world" consists of a horizon. some points of reference for the pilot. and the aircraft itself. All of these objects are defined as vector lists on the E-S. Each of them is fixed in position with the exception of the plane. which is able to translate and rotate in all directions. Figure 6 shows this environment as it is depicted on the 8-8. By the definition of a remote-controlled simulation. the pilot's viewpoint is placed slightly above the origin of the environment. The line of sight is defined by the vector between the pilot's eyes and the aircraft's C.I. as shown in 24 Figure 7. As the plane flies through the environment. the pilot rotates to track the aircraft's C.l.. always keeping the aircraft in the center of the pilot's field of view. i.e.. the center of the screen. Figure 6: Depiction of the simulation environment This will present a display in which the environment appears to translate while the plane remains fixed. The plane also changes size with its distance from the pilot and rotates about its own axes as it rolls. pitches and yaws. One of the great advantages of using the Evans and Sutherland P8300 system is the firmware functions that are provided. These functions enable a graphic transformation to be performed extremely rapidly. Use of these functions by the flight simulator allows position information from the integration to be used directly to update the graphic display. (A schematic representation of these functions and how they are 25 incorporated into the simulator are provided in Appendix E.) horizon -—a_' \l/ X pilot's vieWpoint X.Y.Z - plane position in earth coordinates Zo - pilot's height Figure 7: Definition of the remote-controlled pilot's line of sight CHAPTER 4 Real-time Considerations A stable set of differential equations. when solved numerically. can suffer from numerical instabilities and result in incorrect behavior. Therefore. it is necessary to discuss the magnitude of the time step required for the simulation's numerical technique. Assuming that the local truncation error and the error due to computer round-off are negligible. the important factor in numerical stability is the use of an appropiate time step. It is necessary to evaluate the characteristic response of the aircraft when addressing this time step problem. An insight into the aircraft's response is gained by solving the eigenvalue problem for the 26 27 equations of motion. These equations which define the dynamic model of the aircraft are. in general. non-linear. Therefore. it is necessary to use linearizing techniques about an operating point on these equations to find the eigenvalues [11]. The eigenvalue results are as follows: - -o.14 1 , - -1.06 t 5.31 1.', - -6.25 t.8.57 1 J , j . - -26.46 The eigenvalue problem was evaluated at the steady-state flight operating point with small and large pertubation. as well as at an Operating point other than steady-state flight. In each of the three cases. the eigenvalues remained approximately constant. The characteristic response of the system described by the eigenvalues is related to the time step required for numerical stability in the integration of these equations. For a Runge-Kutta method the stability requirement on the time step is [5]: At < 2.7/max'1rl (22) where At - time step 1: - real part of the eigenvalue This requires the time step for the simulation to be: At < .10 sec A time evaluation of the simulation is needed to determine whether the time step requirement can be met. The simulation process is timed by dividing the task. into three unique functions. Each of these functions is timed individually using dummy functions in place of the two processes not being analyzed. A breakdown of the time analysis is: PRllE OPERATIONS -- simulation calculation ~ 0.23 sec -- I/O with E-S ~ 0.42 sec E-S OPERATIONS - graphic display and I/O with PR1IE ~ 9‘41 135 TOTAL 1.12 sec The simulation calculation includes the evaluation of the equations of motion. integration to velocity and coordinate transformation to earth-fixed axis. The PRllE input/output consists of the time used to send information to the E-S and the time spent reading the information sent to the screen from the 8-8. The time used by the E-S includes the update of the graphics. as well as the collecting and sending of position and control information to the PR1IE. From this time evaluation of the simulator. it is seen that the time step required for the velocity integration cannot be met with the current simulation system. The problem lies in the architecture of the computer systems. The PRIIE with its multiple-user configuration and large overhead operating system does not perform efficiently in real-time execution. A solution to the numerical instability problem follows one of two ideas: To reduce the overall time step. or to utilize an integration technique that will be stable at larger time steps. 29 The time step can be reduced by increasing the simulation's priority on the operating system. This will decrease the calculation time necessary for the PRllE. However. this time reduction will only result in a small decrease in the total time step (the PRIME calculation makes up 20 percent of the total time step). By slightly modifying the simulator's architecture. more velocity integrations can be performed in the simulation loop. As shown in Figure 5. the PRllE waits for approximately 0.5 seconds for the information retrieval on the 8-8. By allowing the PRllE to perform two more velocity integrations during this information retrieval. the critical time step is reduced by a factor of three. This idea is demonstrated in Figure 8. The simulation can be slowed down so that the plane no longer flies at real time. This will give the effect of a plane with a heavily-damped response. The simulation pilot will still retain the control capacities of the aircraft. The major drawback is a limited sense of realism with the slowed time step. The loop time was reduced to a satisfactory range by incorporating the above changes into the flight simulation. Perhaps a different integration technique could be employed to yield a stable integration process without the slow-motion factor. An in-depth real-time analysis/ numerical stability study would be required to optimise the order and time step of the integration. 30 name» nomuuqnama uo naumnesooa mnmuommmuu can woman“ voam>oz "a cannon mzmm; .>, s/. m o n V‘A‘ m a m mz_mn mz~ma m a m ‘V: mzumm mzmmm copumrmmn:_ :owu_moa manna: u_;amnu can :o_umnmmu:~ =o_u_moa cmemcech »n_uo_m> :o_uuscoem=urh su1u01m> :o_pmscooc_ .ocucou can =o_u_moa comm _m>m_cuom :oPHascom:_ copue:_e>u :owuoz no meowumach connecmmu:_ xuwoo_m> CHAPTER 5 Conclusions The dynamics of an aircraft were modeled mathematically using the fundamentals of aerodynamics and mechanics. This model incorporated four main aircraft controls -- throttle. aileron. elevator and rudder -- to provide directional control. A simulation algorithm which utilizes the dynamic model was developed to visualize the flight path from the point of view of a fixed ground observer. The current looping time of approximately 1.2 seconds. resulting in an unstable numerical evaluation of the equations of motion. prevented the simulation from operating at real time. This long looping time was attributed to the multiple-user configuration of the 31 32 PRllE and the communication link between the EPS and the PRluE. An evaluation of the characteristic response of the equations of motion suggests that a looping time of 0.1 seconds is required for a stable integration using the present technique. The simulator was modified to utilize increased priority on the Operating system. multiple integrations per simulation loop and a slower-thanvreal-time operation to correct for the large looping time difficulities. Future work on refining the integration technique and/or the speed of communication between the two systems could increase the speed of response of the simulation. This would result in the real-time operation of the remote-controlled flight simulator. LIST OF REFEREiCES [1] [2] [3] [4] [5] [6] [7] LIST OF REFERHiCES Chow. Chuen-Ten. and Kuethe. Arnold. Eggndatiopg 9; W. 3rd ed.. John Wiley and Son. Inc.. 1973. Btkin. Bernard. Erna-2212111111111; M8 i and 92:32:. John Riley and Son. Inc.. 1959. Etkin. Bernard. 0132193 91 W Flight. John Riley and Son. Inc.. 1972. Foss. John. and Potter. lerle. M Rechanigg. John Wiley and Son. Inc. . 1975. Fox. 1... and layers. D.F. mm Icthgdg for W 3.9.4 W. Clarendon Press. 1968. Glauert. H. 11; £132.12}: 91 Airfgi]. 5.2! ir r w ‘l‘hgorz. Cambridge Press. 1930. Rershner. Iilliam R. IL! 9.43.121!!! Pilgt'g £11m £129.11: 3rd ed.. Iowa State University Press. 1970. 33 34 [S] Kolk. I. Richard. My 3.1.1111} 223219.!- Prentice-Hall. 1961. [9] Laitone. E.V. "HE 164: Engineering Aerodynamics Class Notes." University of California - Berkley. 1976. [10] 111010. A1mm,- mm M13121 ‘ Them 91 mm 2112.!» Addison-Issley Publishing Co.. 1962. [11] Ogata. Katsuhiko. £91113 99m; W. Prentice-Hall Inc.. 1970. [121 locks-I. Jan. Airplane M 212215.: and 1mm mm 9211.221: Roskam Aviation and Engineering Co.. 1979. [13] Iichigan State University. College of Engineering. 9;” £913.21 M1 9.211!- Hichigan State University Press. 1984. APPENDICES APPENDIX A Coordinate Transformations Coordinate transformations play an important role in the development of a flight simulator. There are three instances when a coordinate transformation occurs. They are 1) to align the relative wind with the force element area. 2) to transform the linear velocities from body coordinates to earth coordinates. and 3) to transform the angular velocities from body coordinates to earth coordinates. The first two situations are actually the same transformation using different angles of rotation. For the relative wind transformation. the rotation angles are defined by the dihedral. washout and sweep of the airfoil. Once the plane is defined. this transformation remains the same. For the second case the rotation angles are defined by the roll. 35 36 pitch and yaw angles of the plane relative to the earth. These angles are always changing during the plane's flight. This type of a coordinate transformation requires an ordered rotation about 3 axes [2]. The initial orientation 18 ngygz; and it is desired to end in Crys. To perform this transformation the following rotations are applied. Figure A1: Axis systems used for coordinate transformations 1) a rotation 1 about Os1 carrying the axes to €83,333 2) a rotation 9 about 0y, carrying the axes to Cx,y,z, 3) a rotation 0 about Dr, cgrrying yhe axes to Cryz 37 In matrix form this transformation is as follows: U' T(1.1) T(1.2) T(1.3) U V' = T(2.1) T(2.2) T(2.3) V (A1) V' T(3.1) T(3.2) T(3.3) I where T(1.1) I COS(O)-COS(1) T(2.1) I COS(O)-SIN(1) T(3.1) I -SIN(7) T(1.2) ' SIN(¢)-SIN(O)°COS(7) ' COS(¢)'SIN(1) T(2.2) I SIN(O)-SIN(O)'SIN(7) + COS(¢)°(I)S(7) T(3.2) I SIN(0)-COS(0) T(1.3) " mS(¢)-SIN(O)-m8(1) 4’ SIN(O)-SIN(7) T(2.3) I mS(O)-SIN(0)-SIN(1) - SIN(O)-(I)S(7) T(3.3) I UOS(¢)-CDS(O) For the relative wind calculation: 0 I dihedral angle 0 I washout angle 7 I sweep angle For the linear velocity transformation the Euler angle would be used: 0 I roll angle 0 I pitch angle 7 I yaw angle For the rotational velocity transformation the angular velocity components (P.Q.R) of the plane must be represented in terms of the Euler angles (0.0.1) and their derivatives (0.5.;) [2]. Let (i.j.k) be unit vectors with subscripts 1.2.3 denoting direction. The angular velocity can be defined as U - 16 + jgé + kaé (A2) 38 By projecting this onto nyz and ruembering that u I iP'+ jQ + kR (A3) The angular velocities are defined: P - 97 - i-snue) (A4) 0 - comm + i-cosmz-smm (A5) a - i-oosm-cosm - e-smm (A6) Solving the above equations for the derivatives of the Euler yields: é - r) + c-sm(c)-rme) + R-m8(0)-TAN(O) (A7) e-omum-ssmW) (n) i - (osmm + s-cost/cosm) (A9) In matrix form this transformation is as follows: 1 3mm) -m(e) 003(0) owe) p , 0 008(0) -SIN (O) 0 (A10) 0 SIN(O)/COS(O) COS(¢)/COS(O) R do Oe.e ' angles APPENDIX B Force Generation Tables 39 40 on o>uau snosoaoouou some ..> nu.ss< do o_na< ._m season 03 x032 no .292 ON Op 0 OF) ON] — p P a — L b L NI... I mm <0 x032 to M29% on... m. T... 10.7.. [Woe]. 10.0 de no... In... VON ( ‘0 ) xuelouieoo on 41 o>unu unomcmuuoou new: .a> anomomuuooo Sum; .um ounamm A ..o V 2305.80 :3 n N —. O _..l N). F p b F — B h . b L .VOOoo f a £85 m .. D - 6 . O fiN «0.0 an“ T H 1 mw. r mm. to 5.0 w. .T. ) j 03 romod ( a T N Fvlno ucflorcmoo t: .435 42 o>unu unomcmuuooo unoao: .m> mueuu< no cano< .nm ouaumm 03 x83 no 0.92 on ON 9? 0 0w). ON! L — (P b b b C3 3‘) m I P CD I ITTITITTI C? P (D l T I is C) l ( "o ) 1U9PUJ900 lUGUJOW valnm <0 x0036. 00 0.094 43 0>HSU Hanuomwuflou Hunk—FF .a> OMddfl 00§a>fi< 050m coco>n< 0.0 0.0 9N 0.N 0.9 0.9 0.0 0.0 0.0! PPHD.-Ibbh_bDDPhbbbD-nDbb-PbDr-ber-Dhbh FOO] 10.0 co__oao._a rota pox: fro ncmxorcmoo 09:5. .m> 000m ooco>n< .va «cause (‘3) iuelomeoo lanHl APPENDIX C Aircraft Layout A complete data set of the necessary information of a specific light aircraft could not be found. Therefore. the parameters which define the simulation aircraft come from a variety of sources [6][7][9][12]. All of the data collected were typical of a light commerical plane. The following table presents the important parameters of the plane. Figure C1 gives the dimensions to the line of action for the various force generating elements. The line of action for the powerplant lies along the longitudinal axis (x axis) of the plane. 44 45 Inertial Earssstsrs Weight 2645 lbs. Ixx 948 slugs-ft3 Iyy 1346 slugs-ft, Ill 1967 slugs-fta Ixz 0 slugs-ftz Aigfoil Sgctiog Pgrgmgtegg Iain Ving (inner) Elevator span 12.0 ft span 6.0 ft chord 5.30 ft chord 3.50 ft dihedral 3.00' dihedral 0.00' washout 1.25' washout 0.00. sweep 0.00' sweep 0.00' lain Iing (outer) Rudder span 5.90 ft span 4.00 ft chord 4.20 ft chord 3.00 ft dihedral 3.00“ dihedral 0.00° washout 0.00. washout 0.00° sweep 0.00' sweep 0.00' 46 DATUM - _ A - , T A X“: 6.72 7.IS Y 8.0 I I I 4L~+- I J_JL__ I -+- ' in I ‘ ____JL I I i” : I 1 I T 2I.O . + \ + DATUM Is— ISO 3. r—GD—a f 225 Figure C1. Dimensions to the line of actions for a light aircraft APPENDIX D DIFFEQ Verification The purpose of using DIFFEO is to show that the equations of motion derived do. in fact. characterize the dynamics of an aircraft. Using a simulation package will remove the possibility of numerical instabilities that can occur in a real-time simulation. To check the equations of motion. four different flight conditions were used - steady-state flight. elevator-controlled flight. aileron-controlled flight. and rudder-controlled flight. These four conditions give an insight into the dynamic stability of the aircraft as well as the performance of the controls.. Because the controls are impleaented numerically without any feedback. it is difficult to perform complex controlled maneuvers with the DIFFEO simulation. The graphic results 47 48 and a brief description of each flight condition follows. WM In this flight condition the plane was started with a longitudinal velocity slightly higher than steady-state. and the controls were trimmed for steady-state flight. The plane pitched upwards and gained altitude to lose speed. It passed through equilibrium. showed a slight stall. and pitched downvard to gain back speed. The plane repeated this motion until the pertubations were damped out. The plane continued at its new equilibrium position in steady flight. As expected. there is no coupling of the longitudinal or vertical motion into the lateral motion. Warwlih In this flight situation the aircraft was trimmed for steady-state flight. then an asymptotic upward elevator deflection was input. The plane started pitching upward and climbing. A transient oscillation was observed due to the control input. This died out and the plane continued its climb at a new angle of attack. The plane was observed to perform a gravity stall when the elevator input was maintained and the angle of attack of the plane increased past a critical point. No coupling of longitudinal and lateral motion was observed during this symmetric maneuver. 49 The plane was initialized to steady-state flight. The ailerons were applied in an asymptotic manner. The plane began to roll. and lose altitude due to resultant vertical lift losses. A resultant lateral lift gain accompanied the bank. and the plane began to yaw. After a period of time. the aircraft had turned through 180 degrees. In this flight condition a coupling between the lateral and longitudinal motions was seen. The roll initiated a yaw motion as well as a pitch motion and a loss of altitude. W Ens—ht The plane was started at steady-state flight. The rudder was applied in an asymptotic manner. This resulted in a yaw velocity. and the plane began to turn. The plane experienced a roll and pitch due the cross coupling of the lateral motion into the longitudinal motion. The plane continued to turn through 180 degrees. From this examination. it is seen that the motion produced by the rudder is very similar to that produced by the aileron. 50 Moose cannulameeuu II coma-oaumuo> announce came Guam—a .eu: cannon os_a on. ma. co. on on mm o . .. .1 . _ _ me. a I _ a I on. o ._. > L ._. mm. ... u a r _ on. m c o n ma— =o_._u=oo .hssm auaosm 51 on— aoenc casualheecaa II nomneomuauo> cumooaou camu Gunman .a~n 05:. mNP cop 05 cm mu 0 . . q 1 q I. +0.0I L N0.0I I 00.0 .. N0.0 I +0.0 I 00.0 =o_h_u=oo chasm snoo.m ounumm 52 0002.. Mouse oueualxmeoua II cemaccmumuo> uncommon came cmmmnn .onn cannon ¢o_h_.oa .o=_u=._a=on coon“ cocoa scam. coco. coca a _ 4 . . . _ oc.- C 0 L2.) _ s _ m 0 a I an: _ O U _ w I mm. o > a =o_h_e=oo chasm neaohm 53 co. moose noua>o~e II noduucmumuo> announce cam» Guzman .emo cannon 2.: 00 00 0* 0w 0 _ a q A 00—... 4 m7 .1. a C _ b I 00! o a O > o _ 1 mm) m 0 score douo>o_m 54 ooocu M0030 HOH¢>OAO ll flOmuduaHmH0> Canaan—«0H Oamu CNKKHD .DNG Gunman" =._._.oa _o=_u=s_a=on coon. coco. soon a _ . . .4 ,oo.o No.o o c < L +0.: 5 o L _ a I co.o L no.0 zoozo .o.e>o.u 55 cocoa moose noue>o~c II nodaaomuwuo> onconmou cam» cmummm .on: cannon co_._.oa .agmua._o=on 000mp 0000p 0000 0 . . a n 000.. C O m a 1 00¢! _ n O a _ O 0 I m I 00w a h 0 > 0 gonzo noao>o_m 56 on 0+ moose nouogma II comueowumuo> uncommon came amumma .am: cannon 2:; on cm or o d - rouge coL.__< —CO.=U (0—-oh°c 57 on 0+ macro couoqme II nomuaomuauc> uncommon came Gamma: .nmn ounmmm as... on cm 0. u q gouge caL.__< 0.0 NA. #0 0.0 0.0 (cm—o m o—- 58 #0030 fiOHOmmI ll EOMHCOMHHHO> OnBOQQOH ofimu Gun—KHA— .OMG Gun—”mu— oE_.p 0... 0n cm 0— 0 q 1 A _ q Fl 0 U c I — < 3 O > IL N I n score goL.__< 59 goose couoque II nomuecmumuc> euconaeu one“ cmmm—m .um: cannon c._h_.oa _a=_==._o=on ccoc econ ace. eccn ocou ace. a 1 q d u I c C O _ I ooou “ m 0 a _ O L L coco . s O h L coco lasso co..__< 60 on Moose coueame II comueomumuc> announce oaaa Guam—c .cm: cannon mot.— 0¢ 0n 0N 0F 0 . . . . . 00NI C O 0 _ a _ fl 0 m 1 00m _ O 0 _ w J 00* o . > I 000 xuogo co..._< 61 na— oo— acono uennnu II coma-cmumuo> oncogene came ammo—a .av: ounnmm oE_h mm on mu 0 l O P l —CO.3-U “:U'UOI- 30.;0 Locusm 62 na. 00— auoao humane II coma-omumuc> canooeou cam» Guam—n .nv: cunumm 08.» ms on ma 0 . ,0 N >03 (GUI—O loose Louuam 63 map cop noose uneven II noon-ouumuc> cauoouou came ammunn .ocn cunumm 2:; 2. on - - rouge Lounge To «.0 n0 It =:Ch-ID “ °—— 64 may «come uneven II acme-emumue> announce oafiu cmumua .ev: cunumm oe_h co. me on nu a q o _ o d 00—I : o o _ L _ m o a I co. . 0 u _ h ._ i coN o > I can noose Lounge APPENDIX B Evans and Sutherland Display Function Network Figure 81 outlines the functions performed by the 8-8 for the position integration and simulation display. Each of the blocks represents a fir-ware function or set of functions. The nane(a) above each identify the variable used in the E—S programs. A brief description of the network follows. The velocities are downloaded fron the PRIME were they are stored in a variable. lJNVEL or ROTVEL. on the E-S. A clock system triggers these velocities to be sent to the position integrators. The clock triggers a velocity transfer at a rate of ten transfers per second. Because an Euler integration nethod is used for position integration. an 65 66 accumulation function is used as the integrator. This accumulator scales the velocities by the appropriate time step and sums it with the last position information. The equation for the integration is as follows: xi = viAt + xi_1 (E1) The linear information is sent down three branches. The first branch updates the variables used for position feedback to the PRIIB. The second branch is connected to the 8-8 display structure. The third branch is connected to a function that calculates the new viewpoint matrix. looking at the position where the plane has been translated to in branch two. This viewing matrix updates the 8-8 display structure. The angular information is split into components -- roll. pitch and yaw. This information is sent down two branches. The first branch updates the variables used for position feedback to the PRlIB. The second branch calculates the rotation matrices from the given angles. These rotation matrices are used to update the plane's angular position in the 8-8 display structure. 67' :<» _mv:ecomneo uuoeuez acmuocam hogan“: cue—womanm can scant momnvoou how madam on canaaam>a Wfi meanness numeracy no Anaxauav one: an» ccaaa Audxuc». coo: gonad «swan Aomxd-xv econ Adan ecaan panda uo saga enema: econ noduaamcnuu ocean madamao coauuazaan coduahocom zumms Zumm» Zummx Adam cued acumen undue nouauMepca moduamon unanmcn communu audooae> undamcd uma>m .am ounumm madam Am>aom scum mombomm manuse d 3mH> moausmm undonxou> oucasoaao _ mambom Am>eomlm anu00ao> ocean nausmcs mooao comuaumouca beachwear“ coauamon neocaa nonnaua haaooao> panama Mqomom msdmm aonu xosnvoeu non madam on canaaaa>s momzHA diSum muuoo~m> Am>qu ocmaa panama APPENDIX F S imul a ti on Comput er Code 68 Insert Fil e Name ACELCI ANGPCN CTILCI FRCCI INTECI PARISCI PLAN ECU “EC! TABLCI VECI Common Block ACCEL POSITION CONTRG. FORCE INTKSR PARA! RNA“ IX TRACK INDTIA OD'I'ING (W) INN'ING (V) ELEVATO (E) RDDDEE (I) 91630? RENE. TABLE VEOCITY 69 Common Variabl e Identi f ica ti on Variables ugugnpAl-Isuim PX.PY.PZ.PL.PN.IN.ESPX. ESPY.ESPZ. ESPL.BPII.ESPN PSPED.WCSA.ECSA.IC8A X.!.Z.L.I.N VE..(1:6).POS(1:6).DT.T1, r2.n.mz.uuum'r. RESET PI. “0132 . T. BBOPDIM . C'DI . CEDI nonnowxmlmnn. “EXILE/RU mWJJLWJJRI'JJLI'. - mu..Ln.m..mu.er In. m. IZZ.IASS.'GT B. C.X. Y.Z,DHA.'DA. S'A B. C.X. Y.Z,DHA.'HA. S'A B,C.X.Y.Z.DHA.'HA,SIA E, C, X. Y.Z.DEA.'HA. “A PDIA.E€GDIA.XAREA DRAM.“ XAAVL. YAAVL. XLVD . YLVD . XAAVN. YAAVN. UVT. YJ'VT U.V.'.P.Q.R 7O PRNRAM NSUSII gDCCCCCCCC PROGRAI DESGIPTION ccccg C This is the driver program for the remote-controlled c flight simulation C ~ C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS IDBG - creates D-UG output files 0- no D-UGGING output 1- force DEBUGGING out ut 2- acceleration and ve ocity DEBUGGING output IRATE - the slow motion factor NURINT - the number of velocity integrations on the PRIME per one simulation 100p GTIIODE - current mode of operation for simulation NEIDDE - new mode of operation for simulation Tl - beginning time value of time step T2 - en ing t me value of time step ---- COW BLOCKS ---- INTECI C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CSCCCCCCC mu! AND STORAGE BLOC! BLOCK 000g cINSERT ID 58 >SUl4 )8 IIULATE. DIR )INSHT. DIR >INTECI CHARACTER NEINDE‘I.QTDDE‘1 INTEGER IDBG.I EXTERNAL PSFILE. PSGRAF. PSTERI. TOPRIM. INPSET. INTSET. POSSET EHERNAL PARISET.RESET.TINE.REPEAT.INTE C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gICCCCCCCC INITIALIZATION BLOCK BLOCK 0103 IDBG - O IRATE I 12 NUIIINT - 3 C QTIDDE 8 'E' S<<<<< INITIALIZE THE PARAMETERS >)))> C CALL PARIBET S<<<<< 'RITE HEADER >>>>> DO 10 I '- 1.14 PRINT ‘. ' 10 MTINUE onnnnoaoooooooonn .0.0.000000000000“.OOOOOOOOOOOOOO0. ' “INT 0: ' OCOOOOOOCOOOOOOOOOOOOOOOOOOCOOOOOOOO' . ' O. ..o 213%; R: ' 0. ISU eev PRINT s.’ ” nmm—mNRmL- u' fig}. :.: :: FLIGHT SIMULATION :3 ”INT O: ' OOOOOCOOOO0.000000000000000000000000 ' “INT O. ' .‘OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO ' C C<<<<< PROMPT FOR SIWLATION ”DB ))>)) C 1000 PRINT ‘.' ' Hg}; :.:lhich flight simulation options would you like?’ 71 PRINT ‘ .‘(D)emonstration mode or (F)light mode or (Ekit' READ". '(A)')NE'1I)DE C C((<<( PAGE ma SGEEQ >))>> DO 20 I I 1.23 PRINT ‘.' :0 CONTINUE C((((< (EEC! FOR VALID RBPONSE )>>)) IF((NE'IDDE. NE.'D' ). AND. (NEIUDE. NE. 'F'H mm IF(NE!:£3E. EQH'E') GOTO 3000 I MDIF C C<<<<( CHECK TO SEE IF CURREQT UDE AND NEI HIDE HATCH )>>)) IF(NBIDDE. EQ.'D') TEE! IF(CRTI) D.E EQ.'D' ) mm ELSERINT' I .'You are already in DE” mode' PRINT I ."l'he EBS is initializing its function networks' PRINT Please wait!’ CALL PSFILE(' ID58 )SUl4)SINULATE. DIR>FLIGET_ SII') CRTIDDE I NEIIDD E FNDI F 6010 1000 NDIF C C<(<<( RBET EBS RWTINE FOR NE! DDE >))>> IF(NE'IIDDE. NE. QMDE) THEN PRINT 'The EBS is initializing its function networks' RINT‘ Please wait!’ CALL PSGRAF unmeamun') TERI PRINT ‘. 'SBID FALSE TO <6>ROTCLK;' mun? PRINT ‘ .;'INIT ' PRIN‘T ‘1';ng FALSE TO <1>IARNING;' ET CALL PSFILE(' IDSS >SU14)SIWLATE. DIR)BWIR(N DEF') CALL PSFILE(' ID58 )SU14)SIIULATE. DIR)SIN_ REW'IE') CAL PSTERN (STUDE I NHUDE MDIF C g<<<<< RESET TEE PLANE'S POSITION >>>>> CALL RBET SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gPCCCCCCCC PROCESS BLOCK - BLOCK 0208 S<<<<< START FORCE GWBATIW ROUTINE D») C C CALL TIRE (T1 ) S<<<<< PERFORN 4th QDER RUME-KUTTA ))>)) 2000 CALL REPEAT(IDBG) §<((<< READ TEE CURRBIT TIIE VALUE )))>) 72 CALL TIRE (T2) << INTERATE TO VEOCITY AND START POSITION INTEGRATOR )> << T1 is set to T2 at the end of this subroutine )) CALL INTE (<<<< CEEC! FOR RBET FLAG >>>>> -- false is reset -- true is continue --- IF(.NOT.IRESET) GOTO 1000 <<<<< REPEAT FORCE GENERATION ROUTINE >>>>> GOTO 2000 <(<<( END OF SIIIJLATION DRIVER PROGRAI OOO CALL PSGRAF IF((1TIDDE.EQ.'D') T384 ESE PRINT ‘. 'smn FALSE TO (6>ROTCLK:' PRINT ‘.'SBID FALSE TD <6)POSCLK;' WDIF PRINT ‘. 'INIT; ' CALL PSTERN BID AA AA AA >)) ))) “GOO 000 00000 0000 73 SDCCCCCCCC SUBROUTINE DESQIPTION CSCCC c This subroutine is called at the startnp of the ogram c and calculates all of the necessary parameters at c are fixed once the plane teametry is defined in C the plane common block (P ANECR) C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE c nule definition where used c c PI - 3.14159 c REO - .00238 c REOFZ - rho/2. HFORCE.VFORCE c CVDI - pi‘2.‘(OIB+lB) DRAG c CEDI - pi‘2.‘flfl DRAG c TRO'(3.3)- rotation REL'ND c TRII(3.3)- matrices RELIND c TLI'(3.3)- REL'ND c TREL(3.3)- for RELIND c TRU(3.3) - relative wind RELIND c C these values are read from the plane data block (PLANEDAT) outer wing dihedral an le outer wing washout ang e outer wing sweefi angle inner wing dihe ral an le inner wing washout ang e inner wins sweep angle elevator ihedral an le elevator washout ang e elevator sweep angle rudder dihedral an le rudder washout ang e rudder sweep angle --- COINDN BLOCKS --'-- 23 e OGOOOOOGGOOOOGOOGOO ‘ p PLANECI.PARNSCN cCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS ESCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0003 SUBROUTINE PARNSET INSET IDSS >SU14 )SIIULATE. DIR )INSERT. DIR )PLANECR INSERT'IDSS>SU14)SINULATE.DIR)INSERT.DIR)PARNSCI C INTRINSIC ATIN2.SIN.COS C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gICCCCCCCC INITIALIZATION BLOCK BLOCK 010% BED I .00238 PI I ATAN2(1..O.) ‘ 2. RBOF2 I EEO/2. REOPDIAA I RRO ‘ (PDIA“4.) CIDI I PI ‘ (2. ‘ (ORB + 'B))“2. CEDI I PI ‘ (2. ‘ EB)“2. right outer wing rotation matrix ---- TRW 1.1) I mS(O'IEA)‘COS(OISIA) TROI 2.1) I COS(OI'EA)‘SIN(OISIA) c c- 74 TROI(3.1) I -SIN(OI'EA) TRO'(1.2) I SIN(-OIDEA)‘SIN(0"RA)‘COS(OISIA) 5 COS(-WDEA)‘SIN(OWSWA ) TROI(2.2) I SIN(-OIDBA)‘SIN(OWWBA)‘SIN(OISVA) i COS(-(NDBA)‘COS(OVSWA ) TRW(3.2) I SIN(-OIDEA)‘COS(OVWEA) TRO'(1.3) I COS(-OVDEA)‘SIN(OWVEAPCOSWISIA) i SIN (-0VIDEA)‘SIN (OWSWA) TROl(2.3) I COS(-OIDEA)‘SIN(OWWEAPSINWVS'A) SIN (-OIDEA) 'COS (OVSWA) TRO'(3.3) I COS(-0WDBA)‘COS(0VWEA) c c---- left outer wing rotation matrix ----- TLW(1.1) I wS(OlVEA)‘COS(-0'SVIA) TLW(2.1) I COS(0'VEA)‘SIN(-OISIA) TLO'(3.1) I -SIN(O"EA) TLOI(1.2) I SIN(O'DEA)‘SIN(OIVEA)‘COS(-WSIA) S COS(0VDEA)‘SIN(-OWSWA) TLM(2.2) I SIN(OVDEA)‘SIN(0IIEA)‘SIN(-(lSVA) i COS(OWDEA)‘COS(-0VSWA ) TLOl(3.2) I SIN (OVDEA)‘COS(OWWEA) EMU.” I oosmwnnmssm GIVEA)‘COS(-OISVA) SIN(0VDEA)‘SIN -OISWA nova.” I cos 0VDEA)‘SIN(OWVHA)‘SIN(-OISIA) SIN OIDEA)‘COS(-OWSWA ) ‘lLOV(3.3) I COS(OVIDBA)‘COS(OIWEA) : right inner wing rotation matrix --- c 'me(1.1) I (DSWWEAPCOSWSIA) TRI‘(2.1) I mS("EA)‘SIN(ISlA) TRII(3.1) I -SIN("EA) nI'(l.2) I SIN(-'DRA)‘SIN("EA)‘COS(ISVA) '- com-mumssm (VSVA) TRII(2.2) I SIN(-VDEA)‘SIN("EA)‘SIN(VSIA) 4' cos (-VDEA) ‘C08 ('8' A) TRI'(3.2) I SIN(-WDEA)‘COS("EA) EII(1.3) I COS -WDEA)‘SINE"EA;‘COS(VSVA) + SIN -VDEA)"SIN VSIA TRII(2.3) I mS(-VDEA)‘SIN("EA)‘SIN(WSIA) - SIN (-IDRA) ‘COS (ISVA) TRII(3.3) I cos<-wnau¢cos>)> EI—I- OUTER RING --- on I 1.28 (I! I 15. 0 C 0'2- -.2 25 S””’ INNER VING ----- wx I .83 I! I 6.0 C ‘2 I -2.23 83...... EEVA‘IOR ----- EX I -13.0 E! I 3.0 a I 0.0 C C-—- RUDDER “"— 76 C RUX I I13.0 RU! I 0.0 C RUZ I I0.00 C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END c cccccccccc Subroutine Description cccccc c c c This subroutine use EFORCE and TRNFRC to find the c sum of the forces on the airplane. c c cccceccccccceeccccceeccceecccccccccccccccccccccccccccccccccccce c o chccecccc Variable Identification cccc c c c B I win a n (ft) c C I chogd ’.ft) c EX.ET.E I elevator moment arms (ft) e L. N I moments about the planes c.g. (ft'lbf) c RX.RY.RZ I rudder moment arms ft) c U. .I I velocity components (ft/sec) c '1.‘ .l2 I main wing moment arms t c 1.1.2 I forces at the planes c.g. (lbf) c I IFT I lift due to wing (lbf) c Eur-'1‘ Inn due to elevator (lbf) c IFLG I debug flag c OICSA I outer wing control surface angle c ECSA.I elevator control surface angle 0 RCSA I rudder control surface an le c 01.01.02 I linear forces used for D 06 routine 8 .ON. - rotational forces used for DEBUG routine gIIIII COINON BLOCKS III-- C FRCCN.VELCI.RVELCI.CTRLCI.PLANECI.ANGPCN.PARISCN c c ccccccccccocccceccccccccccccccccccccccccccccccccccccccccccccccc c c cccccccccc Entry and Storage Block BLOCK 0000 c SUBBOUTINE NECESUFLG) INSERT'ID58)SU14)SIRULATE.DIR)INSERT.DIR)FRCCI INSIT ID58 >SU14 )S INULATE. DIR >IN SERT. DIR )VECM INSIT IDSS )SU14 )SINULATE. DIR )INSERT. DIR >RVELCR IN SIT ID58 )SU14>S IRULATE. DIR >INSIT. DIR )CTRLCN INSERT 11158 )SU14)SIMULATE. DIR >INSIT. DIR )PLAN ECI INSIT ID58 )SU14 )SIRULATE. DIR )INSERT. DIR )ANGPCI CINSERT ID58)SU14>SINULATE.DIR)INSERT.DIR>PARISCI REAL L'X.LIZ.LWH.LOIX.LOIZ REAL LOIN.LEX.LEZ.LEM REAL R'X.R'Z.RIM.ROIX.ROIZ.ROII REAL REX.REZ.REH.RX.RY.RN RENL WLIFT.ELIFT REAL OX.OY.OZ.OL.OR.ON.ZERO INTEGER IFLG 77 INTRINSIC SIN.CDS.ATIN2 EXTERNAL RELIND.BFORCE.TRNFRC.TRACX.VFORCE.IEIGET EXTERNAL TERUST.DRAG C c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cIcccccccc Initialization Block BLOC! 0100 C g<<<<< RESET RELATIVE AND TOTRL FORCES )))>) ZII‘NHN I I I I I I 0660 O 833833 I I I I I O IOOOOOO- e e e e e ZERO 0. c cPccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cPcccccccc Process Block BLOCK 0200 c c<<<<< inner main wing force calculation )>))> CIII right III CALL RELIND TRII.IX.IY.IZ) CALL EFORCE ZERO.RIZ.RIX.RII.IC.IB.'IRI'.LXRII) CALL TRNFRC(IX.IY.IZ.RIX.ZERO.RIZ.ZERO.RIR.ZERO) cIII left III CALL RELIND TLII. IX. IIY. IZ) CALL EFORCE ZERO. LIZ. LIX. LII. IC. IB. 'ILI' .LXLII) CALL TRNFRC(IX. IIT. IZ. LIX.ZERO. LIZ. ZERO. LIN, ZERO) c<<<<< outer main wing force calculation >>>>> cIII right III c CALL RELIND(TRUI. UIX.UIY. UIZ) CALL BFORCE(UICSA. RUIZ. RUIX. RUIN. UIC. UIB. 'ORI' .LXRUI) CALL TRNFRC(UIX.UIT. UIZ. RUIX.ZERO. RUIZ. ZERO. RUIN. ZERO) C c--- left III c CALL RELIND(TLUI. UIX. IUIY. UIZ) CALL EFORCE(IUICSA. LUIZ. LUIX. LUIN. UIC. UIB. 'ULI'.LXLUI) CALL TRNFRC(OIX.IUIL UIZ. LUIL ZERO. LUIL .ZEROSLUIN.ZERO) C CALL TRACHOX. 0!. OZ. (1.. 0H. (NH IING 'G.IFL C ILIFT I Z c<<<<< elevator force calculation )>>>> CIII right III c CALL R3.IND(TR3.. ELEY .fl) CALL EFORCE ECSA. REZ. REX. REE CALL,TRNFRC EX.EL EZ.REX. ZER C c--- left III 0 CALL RELIND(TL . C.EB. 'REL' .LXREL) O. REZ.ZERO. REE. ZERO) [5 CALL EFORCE(ECSA:LEZ.LEX.LEN.EC.I.'LHJJXLFL) CALL mnmcmx. IET.FZ.LEX.ZER0. EZ.ZFR .LEN.ZFRO) CALL nAcuox. y.oz.a..ou.ou.'n.EVAmn'.mLc) 78 C ELIFT . Z I ILIFT c<<<<< rudder force calculation )>>)> c CALL RELINNTRLRULRULRUZ) CALL VFORCE)>)> c CALL IEIGB‘I‘ CALL nAc1(ox.ox.oz.a..ou.oN.'IBIca'r '.IFLG) CALL mausr vmnuurn) CALL 'IRACR(OX.OLOZ.0L ou.ou.'mnus'r anew) CALL DRAG (ILIFI‘.ELIFT) CALL nAcr (ox.or.oz.al..ou.ou.'nam umc) “an?“ ccccccccc Subroutine Description cccccc c This subroutine vill take the appropriate velocities from the summation of forces to compute the local forces at each horizontal flyin surface. It uses a table lookup scheme to find t e necessary wing characteristics (CL.CD.CI). It also assumes a constant density of air. c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Vcccccccc Variable Identification cccc c wing span (ft) chord of wing (ft) drag coeffic ent lift coefficient moment coefficient -control surface angle (radians) drag force (lbf) lift force (lbf) moment produced by forces above (ft‘lbf) dynnnic pressure (lbf/ft“2 density of air (slugs/ft‘°3 RROFZ I EEO/2. OR I relative velocity in x direction ft/sec; IR I relative velocity in z direction ft/sec LAST! I values of ALFA or (I. used in previous 11.00! 8 O > lllllllllll nooonoooooooooooo I 8 § 5 i I RVELCI.PARISCI c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cccccccccc Entry and Storage Block BLOCK 0000 SUBRUUTTNE RFORCE(C8A.LIFT.DRAG.IDI.C.B.IDENT.LASTX) c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 79 c c cIcccccccc Initialization Block BLOCK 0100 c INSET IDSS >8014>SIIILATL DIR )IN SET. DIR >RVECN cIN SET IDSS )SDI4)SI)IILATE. DIR )IN SET. DIR >PARNSCII REAL ALFA.ALFAO n.c.cn.CL.an.csA.nnAs.Ln-'r.mu.nmp.s INTEGER LAsnuS CHARACTER mam-3 mnmsxc Amaz.sm.cos EXTERNAL noon 0 O UPCOOOOOOCOOCOOOOOOOOOOOOOOCOOCOCOCOcccccOGCOGOOOOOGOOOOCGOCOCC c c cPcccccccc Process Block BLOC! 0200 c A c c calculate the dynmlic pressure and effective wing area c c<<<<< SET IAXIIDI VELOCITY >>>>> c IF(UR. GT. 100000. ) THEN URI 100000. ENDIF IF(IR.GT.1000OO.) TEEN IR I 10 00. ENDIF calculate the dynnmic pressure and effective wing area DINP I RRUFZ‘UR‘DR + RRUFZ‘IR'IR S I D‘C calculate the true angle of incidence IF((IR........NO)AND(DREOO))TRE ALFAIO IO. ESE ALFA I (ALFAU + CSA)‘$7. 296 ALFAO I ATANZ(IR. UR) ALFA I (ALFAO + CSA)‘57. 296 EDIE use the lookup routine to find CD. (1.. C)! (II TLOOX 'LIFT' HALFA IDET. LASTX(1)) CII TLOOK 'UNE' .ALFA.IDET. LASTX(2)) CD I TLOOR 'EAU'.CL. IDENT. LASTX(3)) calculate the lift. drag. and moments in body coords force I coefficient dynamic pressure I effective area DRAG I I(ICL‘SIN(ALFAO) + CDICOS(ALFAO))‘DYNPIS LIFT I I(CL‘COS(ALFA0) + CD‘SIN(ALFA0))‘DYNPIS ”I I ICN‘DINP‘S‘C c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c RETURN ED 80 cccccccccc Subroutine Description cccccc c c c This subroutine will take the appropriate velocities c from the sunnation of forces to compute the local c forces at each vertical flying surface. It uses c a table lookup schcme to find the necessary wing c characteristics (CL.CD.CN). It also assumes a c constant density of air. c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c chccccccc Variable Identification cccc c c c B I wing span (ft) c C I chord of win (ft) c CD I drag coeffic ent c CL I lift coefficient C CH I moment coefficient c CSA I control surface angle (radians) c D I drag force (lbf c L I lift force (lbf c I I moment produced by forces above (ft‘lhf) c DYNP I dynnnic pressure (lbf/ftIIZ) c RRO I density of air (slugs/ft‘I3) C RROFZ I RED/2. c OR I relative velocity in x direction (ft/sec) c VR I relative velocity in y direction (ft/sec) 3 LAST! I values of ALF! or CL used in previuos TLOOK CIIIII CONNDN BLOCKS IIIII C C RVELCN.PNRISCR c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cccccccccc Entry and Storage Block BLOC! 0000 SDBRODTINR VFORCE (CSA. LIFT. NAG. III. C. B. IDENT. LAST!) c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cIcccccccc Initialization Block BLOCK 0100 c INSERT IDSS)SUI4)SINULATE.DIR)INSERTLDIR>RVELCR cIN SET IDSS )SDI4)SIULATE. DIR >INSET. DIR >PARNSCN REAL ALFA.ALFAO.B.C.CD.CL.CI.CSA.DINP.S.SIGN REAL LIFT.DRAG.IDN INTEGER LAST1(3) CHARACTER IDENT‘S INTRINSIC ATAN2.ABS.SIN.COS EXTERNAL TLOOK c c cPccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cPcccccccc Process Block BLOCK 0200 c c c<<<<< SET RAIINDN VELOCITY >>>>> IF(UR.GT.100000. THEN UR I 100000. ENDIF IF(VR.GT.100000.) TEEN VR I 100000. ENDIF c c calculate the dynamic pressure and effective wing area DENP I RROFZ'DR‘UR + RROFZ‘VR‘VR S I BIC 81 c c calculate the true angle of incidence IF((VRemQOe) emu. (“Rem-0e)’ mm ALFAO I 0 0 use ALFA - (ALFAO + CSA)‘57.296 ALPAO - ATIN2(VR.UR; ALFA - (ALFAO + CSA ‘57.296 mm: C g<<<<< CORRECT ANGLE OF ATTACK TO ALL POSITIVE >>>>> IF(ALFA. NE. 0 .0) THE SIG N I ALFA/ABS(ALFA) ALFA I SIGN‘ALFA E SIGN I 1.0 ENDIF c c use the lookup routine to find CD.CL.CN c and adjust for symmetric airfoil c CL I ELOOR('LIFT'.ALFA.IDENT}LASTX(1); I .31 CI I noon'uom' .ALFA.IDENT.LASTX(2) +.0833 CD I TLOOK('DRAB'.CL.IDENT.LASTX(3)) c c calculate the lift. dra . and moments in body coords c force I coefficient I ynnmic pressure ‘ effective area c DRAG I I(ICLISIN(ALFAO) + CD‘COS(ALFAO))‘DYNPIS LIFT I ISIGN‘(CL‘COS(ALPA0) + CD‘SIN(ALFA0))‘DYNPIS ION I ISIGNICRIDYNP‘S'C c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c RETURN END c cccccccccc Subroutine Description cccccc c c c This subroutine takes the forces found in c subroutine RPORCE and transforns them to the c.g. c of the airplane. c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c chccccccc Variable Identification cccc c c X.Y.Z I force components at the plane c.g. (lbf) c L.N.N I amment components at the plane c.g. (ft‘lbf) c .YA.ZA I line of action to c.g. of plane ( t) IA c XLOC.!LOC.ZLOC I localized forces in wing coordinates (lbf) c LLOC.I.OC.NLOC localized moments in wing coordinates (ft‘lbf) c 8—»- com BLOch ---- c mccu O O ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc O c 82 cccccccccc Entry and Storage Block BLOCK 0000 SUBROUTINE 'IRNI'RCQAJA.ZA.XLOC.YLOC.ZLOC.LLOC.I.OC.NLOC)3 :ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: :Icccccccc Initialization Block BLOCK 0108 glNSERT IDSS)SUl4>SINULATE.DIR>INSERT:DIR>FRCCR c REAL LLOC. lOC. NLOC. XA. XLOC. IA. YLOC.ZA. ZLOC c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cPcccccccc Process Block BLOCK 0200 c c <<<<< add the components from other 'wings' ))>)> c X I X + KLOC I I T + ILOC Z I Z + ZLOC L I L‘+ LLOC I ZAIYLOC + YA‘ZLOC I I N'+ ILOC + ZAIXLOC I XAIZLOC N I N + NLOC I YA‘XLOC + XA‘YLOC c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c RETURN END c cccccccccc Subroutine Description cccccc c c This subroutine transforms the absolute wind into c relative wind coordinates for the plane surface to use. c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c chccccccc Variable Identification cccc c c c DEA I dihedral an le (radians) c IRA I washout ang e (radians) c SIA I sweep angle (radians) c XA.YA.ZA I moment arms from plane c.g to surface c.g. (ft) c T I rotation matrices to find rel wind c P.0LR I absolute rotational wind velocities (rad/sec) c U.V.I I absolute linear wind components (ft/sec) c UR.VR. I relative wind cmm nents (ft/sec) cURfl. VRE. I wind components I th P. Q.R effects (ft/sec) g IREL gIIIII COIIDN BLOCKS IIIII C VELCI.RVELCI c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cccccccccc Entry and Storage Block BLOCK 0000 c c SUBRUUTTNE RELIND(T.XA.TA.ZA) SINSET IDSS )SDI4)SIWLATE. DIR >IN SET. DIR )VECN 83V :INSERT'ID$8)SUI4)SINULATE.DIR)INSERT;DIR)RVELCM REAL T(3.3).XA.YA.ZA.UREL.VREL.IREL c c cPccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c cPcccccccc Process Block BLOCK 0200 c c g<<<<< ADJUST FOR ROTATING UDURDINATES >>>>> URELIU+ Q‘ZAIR’YA VREL I V + R‘XA I P'ZA IREL I I'+ P‘YA I QPXA C C<<<<< ALIGN TEE VELOCITIES IITB TEE SURFACE AXIS >>>>> g<<<<< USING A 3X3 RATRIX >>>>> CIIIII below is the eneral form of the matrix I CIIIII refer to SUBR TTNE PARNSET'where these III-I 3..... matrices are calculated IIIII C T(1.1) I COS(Y)‘COS(Z) C T(2.1) I CDS(Y)‘SIN(Z) C T(1.2) I SIN(X)‘SIN(!)‘COS(Z) I COS(X)ISIN(Z) C T(2.2) I SIN(X)‘SIN(T)‘SIN(Z) + CDS(X)‘COS(Z) g T(3.2) I SIN(X)‘COS(!) C T(1.3) I COS(X)‘SIN Y)‘COS(Z) + SIN(X)‘SIN(Z) C T(2.3) I COS(X ISIN T)‘SIN(Z) I SIN(X)‘OOS(Z) g T(3.3) I OOS(X ‘COS(!) UR I UREL‘T(1.1) + VRELIT(1.2) + IRELIT(1.3) VR I UREL‘T22.1) + VRELIT(2.2) + IREL‘T(2.3) C IR I URELIT 3.1) + VRELIT(3.2) + IREL‘T(3.3) C c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c RETURN END C gDCCCCCCCC SUBRUUTINE DESCRIPTION CCCCS C This subroutine calculates the thrust generated C by the airplane's engine. C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE C SVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS c I I advance ratio c T I thrust component (lbf) c RRO I air density (slu s/ftIIS) c PSPED I prOpeller s eed Lrev/sec) c CT I thrust coef icient c X I total force in the x direction (lbf) c U I absolute velocity in the x direction (ft/sec) c PDIA I propeller diameter (ft) 84 C RBOPDIM I RBO I PDIA II 4. c LASTX I value of I used in previuos TLOOK g IDENT I character flag used by TLOOK SIIIII CONIDN BLOCKS IIIII (c2 FRCCN. VELCN. PLANECL CIRLCR. PARBCN C ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gSCCCCCCC E‘IRY AND STORAGE BLOCK BLOCK 000:): SUBROUTINE TRRUSTUDENLLASTX) INSET ID58 >SU14>SIDIJLATE. DIR >INSERT. DIR )FRCCN INSET ID58 >SUl4>SIRULATE.DIR )INSERT. DIR >VECII INSET IDSS >SUl4)SINULATE. DIR )INSERT. DIR >PLANECI INSET ID58 )SUI4>SIIIJLATE. DIR )IN SET. DIR >CTRLCN INSET IDSS >SU14 >S IULATE. DIR >IN SET. DIR )PARDBCN C REAL J . T. CHECK. CT INTEER LASTX(3) C CHARACTER IDETIS C EXTENAL TLOOX C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C c Speccccccc procnss BLOCK BLOCK 020g IF(PS§ED.g0.0.) TEEN corn iooo c ENDIF EEC! I U/PSPED IF(CR¥CX.gT.15.4) TEEN ENDIFGOTO iooo C J I GECK/PDIA g<<<<< USE LOOK UP FUNCTION TO FIND COEFFICIENTS )>>>> : CT I ‘ILOOK('SPED' .J.IDENT.LASTX(1)) gééééé figLérgoggggIezpzndvance speed I effective area )))>) C TICTIPSPEDIPSPEDIRBOPDIM g<<<<< SUNNATION OF X DIRECTION FORCES )))>> I000 X I X + T gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS C RETURN ED 85 gDCCCCCCCC SUBRGJTINE DESCR IPI‘ION CCCCS C This subroutine calculates the drag effect of the non-lift C generating surfaces. The coefficients of darg assume the 8 angle of attack of the fuselage to be small. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE CVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS R80 00 air density (slu lft‘I3) total wing span Ift) total elevator span (ft) dynamic pressure (lbf/ftIIZ) drag due to fuselage effects (lbf) drag due to engine and nacelle effects (lbf) drag due to landing gear effects (lbf) induced drag effects of main wing (lbf) induced drag effects of elevator win (lbf) total force in the x direction (lbf total nouent about the x axis (ft‘lbf) forward velocity of the plane (ft/sec) -.._. COMMON BLOCKS -..-- FRCCI.VELCI.PLANECI.PARISCN C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE CCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 SUBROUTTNE DRAG ('LIFT.ELIFT) INSERT ID58)SUl4)SIIDLATE.DIR)INSERTKDIR)FRCCI INSERT ID58)SUI4)SIMDLATE.DIR)INSDRT.DIR)VELCM INSERT ID58)SDI4)SINDLATE.DIR)INSERT.DIR>PLANECI INSET IDSS )SUI4 >S IMULATE. DIR >IN SET. DIR )PARNSCN REAL DE.DF.DL.DYNP.'LIFT,ELIFT.'DI.EDI.UT C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE PCCCCCCCC PROCESS BLOCK BLOCK 0200 ((((( SET IAXIMUN VELOCITY >>>>> IF(U.GT.100000.) THEN UT I U U I 100000. ENDIF dynamic pressure DTNP I .S‘RHO‘U‘U fuselage drag contributions DF I .000557‘XAREA‘U‘U engine and nacelle drag contribution DE I .000335'ENGDIA‘ENGDIA‘U‘U landing gear drag contribution DL I .001395IUIU induced drag produced by wings and elevator IF(DYNP.EQ.0.) THEN 'DI I 0. EDI . 0. D t" IIIIIIIIIIII GOOOOOO OW 0806000000 0 O 0 O o 0 o o O 0 o a on GOO GOO GOO GOO 86 ELSE 'DI I WLIFT‘ILIFT/(CIDI‘DYNP) ENDIF‘nI I ELIFT‘ELIFT/(CEDI‘DYNP) C S summation of drag effects I I X I DF I DE I DL I lDI I EDI C MIRI'DI‘IXIEDI‘EX g reset the maximum velocity IF(U.EO.100000.) TEEN U I UT C ENDIF C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END C cccccccccc Subroutine Description cccccc c c c This subroutine will incorporate the weight of the c aircraft into the summation of the forces at the c.g. c c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c chccccccc Variable Identification cccc c c c IGT I aircraft weight (slugs) c PM I pitch an le of the aircraft (radians) c FL I roll ang e of the aircraft (radians) 8 1.3.2 I force components acting on the aircraft c.g. (lbf) gIIIII CONN BLOCKS IIIII C FRCCI.PLANECI.ANGPCI c c ccccccceccccccccccecccccccccccccccccccccccccccccccccccccccccccc c c cIcccccccc Initialization Block BLOCK 0100 e SUBRWTINE 'EIGET INSERT'ID58)SU14)SIIULATE.DIR>INSERT§DIR)FRCCN INSERT’IDSS>SUl4>SINULATE.DIR>INSERTZDIR)PLANECN INSERT ID58)SU14)SIMDLATE.DIR)INSERTLDIR>ANGPCI INTRINSIC SIN . cos c c cPccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c SPcccccccc Process Block BLOCK 0200 S<<<<< CALCULATE WEIGHT COMPONENTS >>>>> X I X I IGT'SIN(PR) I I T + IGT‘ECOS(PI)‘SIN(PL)) z I z + IGT‘ COS(PI)‘COS(PL)) 87 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c RETURN END gDCCCCCCCC FUNCTION DESEIPTION CCCEC C This function will erform a 1ID table look u . The C function re uires t e following arguments: T LENAME. C NUM OF PTS TABLE. and XVAL. From this info C the TLOOK commend will find the corresponding YVAL s using a linear interpolation between data po nts. C C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS C IFLAG I checks for illegal table name C NX I number of data ints in data table C TABLE I name of data ta le C TLOOK I value returned from function C XAAVL.YAAVL I data for alfa vs. Lift Coefficient C KAAVM.YAAVL I data for alfa vs. Moment Coefficient g KLVD.YLVD I data for Lift Coefficient vs. Drag Coefficient 3..... COMMON BLOCKS III-I g TABLCM C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE gSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0003 FUNCTION HOOK (TABLE. IV“. . IDENT. LAST!) §IN S-T ID58 )SUI4 >S IMULATE. DIR >IN SET. DIR >TABLCM REAL XVAL.TLOOK INTEGER LASTX.IFLAG.NX CHARACTER TABLE‘4.IDENT‘3 C EXTERNAL FIND C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS C gICCCCCCCC INITIALIZATTON BLOCK BLOCK 0103 C C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SPCCCCCCCC PROCESS BLOCK BLOCK 0208 IFLAG I 0 IF (TAinE. Efi ' LIFT ' ) THE (IIAFLLLGFINIIJ (XAAVL. YAAVL. XVAL. TLOOK. NI. TABLE. IDENT. LASTX) ENDIF IF(TABLE. E. ' EAG ') TEEN NX I 17 TAFLIAGFIN? (XLVD. YLVD. XVAL. TLOOK. NX. TABLE. IDENT. LASTX) ENDIF IF (TAqukE. Egi ' IDME ' ) TEE (IIAHLI‘GFINIIJ (XAAVM. YAAVM. XVAL . TLOOK. NX. TABLE. IDENT. LASTX) ENDIF IF (TAquéE. fig; ' SPED' ) THE CALL FIND (KJVCT.TJVCT.XVAL.ELOOK.NX.TABLE.IDENT.LASTX) IFLAG I l ENDIF IF(IFLAG.NE.1) GOTO 2000 GOTO 1000 C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gECCCCCCCC EROR HANDLING BLOCK 0908 2000 ISRTOHII’T ‘. 'An invalid table name has been given' C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1000 RETURN ED C gDCCCCCCCC SUBRwT‘INE DESCRIPTION CCCCE C This subroutine is used in conjunction with c the TLOOK function to find the value off of a table. C This subroutine uses linear interpolation between two 8 data points to find YVAL. C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS C N! I number of data points C 1.! I array of data points C KVAL I value input to look u function g YVAL I value output from loo up function g..... COMMON BLOCKS III-I SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS (CSSCCCCCCC En! AND STORAGE BLOCK BLOCK 0008 C SUBROUTINE FIND(X.T.XVAL.YVAL.NX.TABLE. IDET.LASTX) C REAL X(NX) .Y(NX) .XVAL. YVAL INTEE LASTX. I.NX CHARACTER TABLE‘4.IDET‘3 C 89 SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SPCCCCCCCC PROCESS BLOCK BLOCK 020g g<<<<< SET LOWER END OF TABLE ))>>> IF(XVAL.LE.K(1)) TEEN YVAL I T(l) LASTX I 1 C PRINT 200. TABLE. IDET GOTO 1000 C ENDIF g<<<<< SET UPPER END OF TABLE ))>)> IF(XVAL.GE.X(NX)) TEEN YVAL I T(NX) LAST! I NX C PRINT 300. TABLE. IDET GOTO 1000 C ENDIF g<<<<< INTERPOLATE USING DATA FROM TABLE ))))) I I LAST! IF(XVAL.GE.X(I)) THEN I I I + 1 IFEXVAL.GT.X(I)) GOTO 2000 TVAL ELSE! I)IT(II1))/(X(I)IX(II1)))‘(XVALIX(II1)) + T(IIl) 4000 I I 2000 N H I (1)) GOTO 4000 )/(X(I+1)IX(I)))‘(KVALIX(I)) + T(I) C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SECCCCCCCC FORMAT STATEMENTS BLOCK 080g C200 FORMAT('The lower limit of '.A4.' has been reached by '.A3) C300 FORMAT('The upper lhmit of '.A4.' has been reached by '.A3é C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 1000 RETURN END c . SDCCCCCCCC SUBROUTINE DESEII’TION ccccg C This subroutine calculates the acceleration of the glane's c center of mass using the forces calculated in FORCE . It c takes into account that the accelerations are defined in c a rotating coordinate system. Therefore the calculation 3 contains cross product terms. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE AK.A!.AZ I linear accelerations O 020 90 c AL.AM.AN I rotational accelerations c U.V.I I Linear velocities c P.Q.R I Rotational velocities c MASS I aircraft mass c 111 I Aircraft moment of inertia (x axis) c IT! I Aircraft moment of inertia (y axis) a IZZ I Aircraft moment of inertia (z axis) 3..... COMMON BLOCKS IIIII g FRCCM.VELCM.PLANECM.ACELCM C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0002 C SUBROUTINE CALACE C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC€ CICCCCCCCC INITIALIZATION BLOCK BLOCK 0108 IN SET ID58 )SU14 )SIMULATE. DIR )IN SET. DIR )FRCCM INSET ID58 )SU14>S IMULATE. DIR )IN SET. DIR >VECM IN SET ID 58 )SU14 )SIMULATE. DIR )IN SET. DIR >PLAN ECM INSERT ID58>SU14>SIMULATE.DIR)INSERTKDIR>ACELCM C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE €PCCCCCCCC PROCESS BLOCK BLOCK 0203 X/MASS + R‘V I 0" T/MASS + P”! I R‘U Z/MASS + Q‘U I P‘V (L I OPR‘(IZZ I IYY))/IXX M I P‘R‘(IKX I IZZ))/IYY N I P‘Q‘(ITY I IUD/122 C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END 5:313:53 CDCCCCCCCC SUBRW TIN E DES E IP'T ION CCCCS This subroutine provides the output for the DEBUG if Option 1 is set. The forces calculated for each of the force eneration subroutines is output. A runnong total of the orces is also output. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE CCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE RK I differential force in x direction R! I differential force in y direction RZ I differential force in z direction RL differential moment about x axis RM differential moment about y axis differential moment about 2 axis IFLG I fla for DEBUG option ID I ideut fies the component with an eight character string (5000 O on 0000000062“ 91 gIIIII COMADN BLOCKS IIIII S mccu gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE ESCCCCCCC ETRY AND STORAGE BLOCK BLOCK 000g SUBROUTINE TRACK(RLRY.RZ.RL.RM.RN. ID. IFLG) SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SICCCCCCCC INITIALIZATION BLOCK BLOCK 0108 §INSERT'ID58)SU14>SIMULATE.DIR)INSERTLDIR>FRCCM C C REAL RX.RT.RZ.RL.RM.RN gfigaénxfim gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gPCCCCCCCC PROCESS BLOCK BLOCK 0208 g<<<<< CHECK FOR D-UG OPTIONS ))))> IF(IFLG.EQ.1) TEEN §<(<<< CALCULATE TEE RELATIVE FORCES ))))) RKI x- REIT-RT RZIZIRZ RLILIRL RMIMIRM RNINIRN C g<<<<< OUTPUT INN TO FILE >)))) WRITE(54. 50) ID 50 FORMAT(I'The forces generated by the ' .AB. ' ARE: '/) WRITE(54.100) 100 FORMAT(/8X. 'Relutivo'.181.'Totll') WRITE (54. 200) RX. X 200 FORMAT('X: '.F15.5.1OX. F15. 5) WRITE (54. 300)R 300 FORMAT ('2: .F15. I5. 101. F15. 5) WRITE 54.400) .2 400 FORMAT('Z: '.F15.5.10X.F15.5) WRITET (54.500 ) RL. L 500 RMAT:('L ' .F15. 5.10K. F15. 5) WRITE 54.600)R M.M 600 FORMAT 'M: '.F15. 5.103. F15. 5) WRITE (54.700 RN. N 300 FORMAT('N: '.F15.5.1OX.F15.5//) g<<<<< REET REATIVE FORCE VALUES >>>>> RX I K RT I T RZ I Z RL I L RM I M RN I N ENDIF 3 S SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC REIURN ED 92 SDCCCCCCCC SUBROUTINE DESCRIPTION CECCC C This subroutine performs a fourth order Runge-Kutta c integration to calculate the velocities at the c next time ste . This routine uses another a subroutine D IV to calculate the derivatives. C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCC8 c DPSI I the derivative of the function (acceleration) c DT I the time step (delta time) c VEL I the function integral (velocity) c TEMP I the intermediate values of velocity c TEMPVEL I the temporary evaluation of the velocity C IRATE I slow motion factor C IFLG I DEBUG flag to write output to a file gIIIII COMMON BLOCKS IIIII C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS ESCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 SUBROUTINE RUNGE(VEL.DT.IRATE.IFLG) C REAL DPSI(6).TEMP1(6).TEMP2(6).TEMP3(6).TEMP4(6).TEMPVEL(6) REAL VEL(6).DT C INTEGER IRATE.IFLG.I INTRINSIC FLOAT EXTERNAL DERUG.DERIV C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SPCCCCCCCC PROCESS BLOCK BLOCK 0200 C g<<<<< TIME STEP AT SLOW MOTION RATE ))))> C DT I DT/FLOAT(IRATE) g<<<<< WRITE TO FILE IF DERUG IS ON )))>> C CALL DEBUG(DPSI.VEL.IFLG.DT.O) S<<<<< EVALUATE TEE FUNCTION FOR TEE FIRST TIME >>>)> CALL DERIV(DPSI.VEL.IFLG) DO 10 I I 1.6 TEMP1(I) I DPSI(I) ‘ DT TEMPVEL(I) I VEL(I) + TEMP1(I)/2. 10 CONTINUE C CALL DEBUG(DPSI.TEMPVEL.IFLG.DT.1) g<<<<< SECOND EVALUATION OF VELOCITY ))>>) CALL DERIV(DPSI.TEMPVEL.IFLG) DO 20 I I 1.6 TEMP2(I) I DPSI(I) ‘ DT TEMPVEL(I) I VEL(I) + TEMP2(I)/2. 20 CONTINUE C CALL DEBUG(DPSI.TEMPVEL.IFLG.DT.2) g<<<<< THIRD EVALUATION OF VELOCITY ))>>> CALL DERIV(DPSI.TEMPVEL.IFLG) DO 30 I I 1.6 TEMP3(I) I DPSI(I) ‘ DT 93 TEMPVEL(I)I VEL(I) + TEMP3(I) 30 CONTINUE C CALL DEBUG(DPSI.TEMPVEL.IFLG.DT.3) S<<<<< FOURTH EVALUATION OF VELOCITY ))>)) CALL DERIV(DPSI.TEMPVEL.IFLG) DO 40 I I .6 TEMP4(I) I DPSI(I) ‘ DT TEMPVEL(I) I VEL(I) + TEMB4(I) 4O CONTINUE C CALL DEBUG(DPSI.TEMPVEL.IFLG.DT.4) g<<<<< EVALUATE TEE VELOCITY USING 4th ORDER RUNGE-KUTTA )>))) DO 50 I I 1.6 VEL(I) I ($EE?}§I)+2.‘TEMP2(I)+2.‘TEMPS(I)+TEMP4(I))/6. + 50 $CONTINUE g<<<<< WRITE TO FILE IF DEBUG IS ON >>)>) C CALL DEBUG(DPSI.VEL.IFLG.DT.5) ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS C(<<(( RESET TIME STEP BACK TO REEL TIME >>>>> C DT I DT‘FLOAT(IRATE) RETURN END (CIDCCCCCCCC SUBROU TIN E DESCR IPT ION CECCC C This subroutine is used in conjuctiou with RUNGE and c FORCES to calculate the derivative of the velocity. C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C SVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS c DPSI I the derivative fnction used in RUNGE c PSI I the function used in RUNGE c U.V.W I the linear velocities used in FORCES c P.Q.R I the rotational velocities used in FORCES c AX.AY.AZ I the linear accelerations used in FORCES c AL.AM.AN I the rotational ac oelerations used in FORCES C IFLG I debug flag to have force data written to an output file 3..... COMMON BLOCKS I g VELCM.ACELCM C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0002 SUBROUTINE DERIV(DPSI.PSI.IFLG) INSERT ID58)SU14)SIMULATE.DIR)INSERTLDIR)VELCM INSERT ID58)SU14>SIMULATE.DIR)INSERTLDIR>ACELCM mo 94 REAL DPSI(6). PSI(6) INTEGER IFLG EXTERNAL FORCES.CALACE gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SPCCCCCCCC PROCESS BLOCK BLOCK 0208 §<<<(( SET RUNGE VARIABLES TO FORCES VARIABLE )>))) C U I PSI(1) V I PSI(2) W I PSI(3) P I PSI(4) Q I PSI(5) R I PSI(6) C g<<<<< CALL FORCES TO EVALUATE ACCELERATIONS ))))) cnmlfimmmumfi) UELCMAfl! C S<<<<< SET FORCES VARIABLES TO RUNGE VARIABLES )>))) EEFEEE C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END ' CDCCCCCCCC SUBROUTINE DESCRIPTION CECCC C C This subroutine will out ut the calcuated accelerations C and velocities used in e RUNGE subroutine. C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE C VEL I CURRENT'VELOCITY EVALUATION C ACC I CURRET’ ACCELEATION EVALUATION C IFLG I DEBUG FLAG ( 2I 0N ) C DTI CURRENT TIME STEP 5 I I RUNGE-KUTTA STEP COUNTER Cm *II COMMON BLOCKS IIIII S c gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 SUBROUTINE DEBUG(ACC.VEL.IFLG.DT.I) 95 REAL VEL(6).ACC(6).DT INTEGER IFLG.I C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gPCCCCCCCC PROCESS BLOCK BLOCK 020% C g<<<<< WRITE DEBUG DATA TO FILE >>>>> IF(IFLG.NE.2) GOTO 1000 IF(I.EQ.O) TEEN WRITE(53.‘) ' ' WRITE(53.‘) ' ' END:gITE(53.‘)'Initiate new RungeIKutta calculation.DTI'.DT WRITE(53.I) ' ' WRITE(53.‘) 'Acceleration and Velocity data for step'.I WRITE(53.‘) 'X:'.ACC(1).VEL(1) WRITE(53.I) 'Y:'.ACC(2).VEL(2) WRITE(53.‘) 'Z:'.ACC(3).VEL(3) WRITE(53.‘) 'L:'.ACC(4).VEL(4) WRITE(53.I) 'M:'.ACC(5).VEL(5) WRITE(53.‘) 'N:'.ACC(6).VEL(6) C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1000 RETURN END gDCCCCCCCC SUBROUTINE DESCRIPTION CECCC C This subroutine enable multigle Run e-Kutta evaluation c for eve time ste on the lME. t utilizes subroutines C RUNGE. D IV. and EBUG. C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS EVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS c VEL I lane's velocit vector c TEMPVEL I ntermediate veTocity vector DTN modified time step DT I time step from real-time clock NUMINT I number 0 integration steps per time loop c....- COMMON BLOCKS IIIII C INTECM C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0003 SUBROUTINE REPEAT(IFLG) §INSERT ID58>SU14)SIMULATE.DIR)INSERT:DIR>INTECM REAL TEMPVEL(6).DTN INTEGER I.IFLG.J INTRINSIC FLOAT c o c C C C 96 C EXTERNAL RUNGE.PSGRAF.PSTERM C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gICCCCCCCC INITIALIZATION BLOCK BLOCK 0103 DO 10 I I 1.6 TEMPVEL(I) I VEL(I) £0 CONTINUE C DTN I DT/FLOAT(NUMINT) C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CPCCCCCCCC PROCESS BLOCK BLOCK 0202 DO 20 J I 1.NUMINT CALL RUNGE(TEMPVEL.DTN.IRATE.IFLG) <(<<( PROMPT TEE EIS TO SED CONTRCL AND POSITION INK) )> (((<( AFTER TEE FIRST EVALUATION OF VELOCITY )) IF(J.EO.1) TEEN CALL PSGRAF PRINT'IE'SEND TRUE TO (1)S_PSPED;' CALL PSTER 0000 :0 CONTINUE S<<<<< CALCULATE TEE AVERAGE VELOCITY OVER TIME STEP )))>> DO 40 I I 1.6 VEL(I) I TEMPVEL(I) 4O CONTINUE C C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END c CDCCCCCCCC SUBROUTINE DESE IPT ION CECCC This subroutine sets up the EIS to receive the plane velocities and integrate them into sition data. The integration ste uses the EIS FRAMES with a time step of 1/30 0 a second (the refresh rate). C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC€ CCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE POSCLK I timing function for thetgosition integration varia le that contains e current linear velocity variable that contains the current rotational velocity position integrator for linear position position integrator for rotational position ---- comm BLOCKS ----- 2006600000 00000 on an I" E 8 (A 97 C INTECM C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CSCCCCCCC ETRY AND STORAGE BLOCK BLOCK 0008 SUBROUTINE INTSET gINSET ID58)SU14)SIMULATE.DIR)INSET.DIR>INTECM REAL NSCAL INTRINSIC FLOAT EXTERNAL PSGRAF.PSTERM C g<<<<< SET TEE SLW NTION INDEX FOR EIS (1.0CK ))))) POSCAL I 0.1/FLOAT(IRATE) C C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCch gPCCCCCCCC PROCESS BLOCK BLOCK 020:)= g<<<<< SET UP (IOCK OUTPUT EVEY 1/10 SEC >)>)> CALL PSGRAF PRINT ‘. 'POSCLK:IF:CLCSEOONDS; ' PRINT ‘.'SED FIX(20) TO (1)POSCLK:' INT I .'SED FIX(1) TO (2>POSCLK3' INT ‘. 'SED TRUE TO <3)POSCLK3' INT ‘. 'SED FIX(1)TO (4)POSCLK3 ' INT ‘. 'SED FIX(0) TO (5)POSCLK3 ' PRINT ‘ .'SED FALSE TO <6>POSCLK.' C S<<<<< VEOCITY VECTORS (linear and rotational) )>>>> PRINT ‘. 'VARIABLE LINVE." PRINT ‘. 'VARIABLE ROTVE3' PRINT ‘.'SED V3D(O..0..0.) TO (1>LINVE;' PRINT ‘.'SED V3D(O..O..0.) TO (1)ROTVE:' C g<<<<< 'EIGGE TO SED VELOCITY TO POSITION INTE )))> PRINT ‘. 'S_ LINVE: IF: FETCE; ' EINT *. 'S ROTVE: IF: FETCH; ' EINT ‘. 'SED "LINVE" TO (2)3 _L1NVE3' PRINT ‘. 'SED "ROT'VELH TO (2)8 ROTVE3' PRINT ‘. '(ONN POSCLK<2): (1)S_ LINVEL3' EINT ‘. 'mNN POSCLK<2): (1)S_ ROTVE; ' C g<<<<< SET UP POSITION INTEGRATORS ))>)> PRINT ., 'mes: s12. ACCUMULATE ' mm'r . .'smn v<-700..0..100. 5 TO <2>meos;' PRINT .' .'smn 0. 001 m <9me3, ' mum -' 'smn ' .POSCAL. r0 <4>Linos; mmr . .'smn 10000. TO <5>meos; mm'r t. '33") -10000. 10 <6>L1NPOS.' PRINT '. 'ROTPOS: IF. ACCUMULATE3' PRINT ‘ .'SED V(O..0 ..0. ) TO (2>ROTPOS3 ' PRINT ‘. 'SED 0.001 TO <3>ROTPOS3 PRINT ‘ .'SED '.POSCAL.' TO <4)ROTPOS3 ' EINT I .'SED 10000. TO <5>ROTPOS3 EINT ‘. 'SED I10000. TO <6)ROTPOS3 ' C g(((<( CWNECT VELOCITIES INTO ACCUIIILATORS >>>>> PRINT ‘. 'mNN S_LINVEL<1):<1>LINP033' 98 FEET I.'(I)NN S_ROTVE..<1>:(1>ROTPOS;' C CALL PSTERI C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS RETURN END CDCCCCCCCC SUBROU TEE DESQ IPl' ION CECCC This subroutine performs the position integration using the velocity calculation tron REPEAT. It also calcula es the velocity to be sent to the E-S for dis lay. A osition feedback loop to keep the E-S 'on trach' V th the s nulation. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS be inning value of current tine step en ing value of current tine step linear velocity in fixed (earth) coordinates angular velocity in fixed (earth) coordinates linear velocity sent to the 8-8 for integration angular velocity sent to the £98 for integration ga u used for linear position feedback gain used for angular position feedback (5000000 (300000000620 1 8 5 E E i g INTECI.ANGPCN.VELCN ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCg ESCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 C SUBRWTINE ETE C $03.95: 11333éfigififiififi:Bi§§§fi§3¥zfiifiiflc§5fl INSERT ID58)SU14)SINULATE.DIR>INSERTKDIR>VELCM c REAL LEGAE.ROTGAE.Ul.V1.'1.Pl.01.R1.U2.V2.'2 .P2 .032 REAL TIIE. mSPL. SEPL. (OSPII. SEPN. TANPH. mSPN. SEPN INTRINSIC SIN.COS.T2N.FLOAT EXTERNAL READES.PSGRAF.PSTERI C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC€ SPCCCCCCCC PROCESS BLOCK BLOCK 020% S<<<<< CALCULATE THE CURRENT'TIIE STEP ))))) IF(T2.LT.T1) TEEN TIME-12+S6400-T1 C PRINT I.'The tine step for the step'.TIME 99 g((<(( READ BUFFER WITE CONTRCL .‘ND POSITION EFO FROM 8-8 )>>)) C CALL READES g<<<<< CALCULATE 'IIIE PLANE VELOCITIES IN IORLD COORDINATES ))>>) g----define SIN and COS of euler angles --- 00391. I @8058?“ SEPL I SIN(ESPL) COSPM I COS(ESPM) SINPM I SIN(ESPM) TERI! = TAN(ESPM) COSPN I (1)8(ESPN) C SINPN I SE (ESPN) C--- velocities in right handed world coordinates - U]. I VE(1)ICOSPMICOSIN + VE..(2)‘(SEPLISEPIIICOSPN-COSPLISEIN) i + VE(3)I(COSPLISEPMICOSIN‘I-SEPLISEPN ) V1 I VE(1)‘COSPMISE1N + VE.(2)I(SEPLISEPIIISERH-COSPLICOSIN) I + VE(3)‘(COSPLISEPMISEPN- SEPLICOSIN) I1 I -VH.(1)‘SEPI + VH.(2)ISEH.ICOSPII + VEL(3)ICOSPLICOSPII Pl I VB. gr“ VH.(5)ISEPLITANPII + VEL(6)ICOSPLITANPII 01 I VH. 5)‘CO SPL - VH.(6)IS EPL R1 I (VB. H..(5)ISEPL 4‘ VE(6)ICOSPL)/COSPI C C((<<< CALCULATE TEE VELOCITY FOR TEE E-S D)» C((((( CONVBTED TO LEFT HAND COORDINATES ))))> S<<<<< AND POSITION FEEDBACK ECLUDED >>>>> LEGAEI I.0 0 ROTOAEI1.O 02 U1 + LEGAENPK-ESPXHTIIE V2 V1 + LEGAENPY-ESPYHTIME I2 -1.I('1 + LEGAEIU’Z-ESPZHTINE) P2 -57.296I(P1 + ROTOAENPL-ESPLHTIIE) 02 -57.296I(Q1 + ROTOAEHPM-ESPHHTIIE) R2 57.296I (R1 + ROTGAEI(PN-BEN)/TINE) C g<<<<(SElD VEOCITIES DOWN TO TEE E-S )>>>> CALL PSGRAF PRET I. 'SED V3D('. 02.'.'. V2.'.' .') TO (1)LEVH..; ' RETPS .T‘EEFD V3D(' .P2 .' . . . . '.R2.' ) TO (1)ROTVH.3' ((<<< DISPLAY TEE CURRET VALUES OF REL PITCE AND YAI ))>)) PLIS7.296 pu-57.296 PNI57.296 ESPLI57.296 ESPMIS7.296 ESPNI57.296 IRITE(1.999) n1. n4. nzi 05. F035 06 FORMAT(/'roll: .F7.3 3.5K.'pitch:'.F7.3.lX.F7.3. $101.'yuw: 373.11.137.35F7 (((<< ETHERATE 1m: HIRE VELOCITY TO POSITION )>>>> UIIDT/FLOAT(IRATE) VIIDT/FLOAT(IRATE) IlIDT/FLOATURATE) PlIDT/FLOAT( IRATE) QTIDT/FLOAT(IRATE) - RlIDT/FLOAT(IRATE) C g<<<<< UPDATE TEE TIIE EFORNATION FOR ETEGRATIONS ))>>> DT I TIME 86600000000 U U A H I I I I I I 0000 IO U 223333 IIIIII ++++++ 233333 Tl I T2 C C (C3CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN ED 100 SDCCCCCCCC SUBROU TEE DESQ IPT ION CSCCC c This subroutine will input the fli t configuration (i.e. c throttle and ctrl surface settings for the force generation 8 routines to use. C SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS c ELEVATOR - elevator accumulator c ECSA - elevator angle (real) c EOUT - elevator angle (string) c AILERON - aileron accumulator c OICSA - aileron angle (real) c AOUT - aileron angle (string) c RUDDER - rudder accumulator c RCSA - rudder angle (real) c ROUT - rudder angle (string) c THROTTLE - throttle accumulator c PSPED - throttle setting (real) 8 TOUT - throttle setting (string) g--- COMMON BLOCKS ---- gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 SUBROUTINErlNPSET C EXTERNAL PSGRAF.PSTERM gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gICCCCCCCC INITIALIZATION BLOCK BLOCK 0108 C CALL PSGRAF C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE C SPCCCCCCCC PROCESS BLOCK c o<<<<< SETTING UP ELEV AND AILERON >>>>> PRINT c C<<<< LABEL c PRINT PRINT PRINT PRINT PRINT PRINT I.'ELEVATOR:IF:ACCUMULATE3' I.'SEND 0.0 TO <2>ELEVATOR3' I.'SEND 1. TO <3)ELEVATOR3' I.'SEND -135. TO <4)ELEVATOR3' ‘.'SEND 100.0 TO <5)ELEVATOR3' I.'SEND -100.0 TO <6)ELEVATOR3' I.'CONN DIALS<4>:<1)ELEVATOR3' I.'ATLERON:IF:ACCUMULATE3' I.'SEND 0.0 TD (2>AILERON3' I.'SED 1. T0 (3)AILERON3’ I.'SEND 100. TO <4>AILERON3' I.'SEND 100.0 TO (5>AILERON3' ‘.'CONN DIALS(6):(1>AILERON3' AND VALUE TO AILERON OUTPUT >>>>> I.'EOUT:=F:PRINT3' I.'VARIABLE ECSA3' ‘.'CONN EOUT<1>:<1)ECSA3' I.'CONN ELEVATOR<1>=<1>EOUT3' ‘.'CONN EOUT<1>:<1>DLABEL83' I.'SEND "ELEVATOR" TO <1>DLABEL43' BLOCK 0203 101 C 8((((( ELEVATOR mNNECTION TO HIME ))))) HET I. 'S ECSA: IF: FETCE; HET I .'SED "ECSA" TO (2)8 ECSA: ' HET I .'mNN S_ ECSA(1)3 (1)EOST3' C g<<<<< LABEL AND VALUE TO AILERON OUTPUT ))))) HET I .'AOUT:IF:PRET3' PRET I .'VARIABLE OWCSA; ' HET I. 'CONN AOUT(1): (1)0'CSA3 ' HET I. 'WNN AILERON(1)3 (1)AOUT3 ' HET I .'CONN AOUT(1): (1)DLABH.23 ' HET I. 'SED " AILERON " TO (1)DLABH.63 ' C 3((((( AILHON mNNECI‘ION TO PRIME ))))) PRET I .'S O'CSA: IF: FETCE: ' HET I .'SED "O'CSA" TO (2)8 (RCSA; ' HET I .'CONN S_ OICSA(1)3 (1)EOST3' c C((((( SETTEG UP maoma CONTROL ))))) c PRET I. 'TEROTTLE3IF3ACCUMULATE3 ' HET I.'SE\lD 0. TO (2)TEROT'ILE3' PRET I .'SED 0. TO (3)T'EROT'ILE;' HET I .'SED 133. 33333 TO (4)TEROTTI.E;' PRINT I. 'SED IOOTO TO (5)TEROTTLE;' HET I. 'SED 0. (TO63)T'EROTTLE' PRET I.’U)NN DIALS(1)3 (1)TEROT'ILE3' C g((((( LABH. AND VALUE TO mnoma DIAL ))))) PRET I.'TOUT:IF:PRET3' HET I.'VARIABLE PSPED3' HET I. 'CONN TOUT(1)3(1)PSPED3' HET I. 'CONN TI!ROT'ILE(1)3 (1)TOUT3 ' HET I .'mNN TOUT(1)3 (1)DLABH.53' HET I .'SED "THROTTLE" TO (1)DLABEL13 ' C 3((((( 'HROTTLE mNNECTION TO HIE ))))) PRET I. 'S PSPED: IF: FETCH: ' PRET I. 'SED " PSPED" TO (2)8 PSPED3' HET I .'mNN S_ PSPED(1)3 (1)EOST3' c g((((( SETTEG UP RUDDER (DN'ROL DIAL ))))) HET I. 'RUDDER3IF3ACCUMULATE3 ' HET I.'SEJD 0. TO (2)RUDDER3' HET I.'SBID 1. TO (3)RUDDER3' HET I.’SED 100. TO (4)RUDDER3' PRET INSENID 100. TO (5)RUDDER;' PRET I.'SED -100. TO (6)RUDDER3' HET I. 'mNN DIALS(7) 3 (1)RUDDER3 ' C g<<((( LABH. AND VALUE TO RUDDER DIAL ))))) PRET I. 'ROUT3IF3PRET3' HET I. 'VARIABLE RCSAB' HET I. 'mNN ROUT(1)3 (1)RCSA3 ' HET I. 'mNN RUDDER(1)3 (1)ROUT3 ' HET I .'CONN ROUT(1): (1)DLABE..33 ' HET I. 'SPND ”RUDDER " TO (1)DLABEL73' C 3((((( RUDDER (DNNECT'ION TO HIME ))))) PRET I .'S RCSA: IF: FETCE PRET 3, '53“) "RCSA" 16 <2>s RCSA. ' PRET 3' .'coun S_RCSA<1>: (1)3031? 102 C 3((((( TRANSMISSION LINK TO PRIME ))))) PRINT’I.'CONN S_PSPED(1):(1)S_OICSA3' PRINT'I.'CONN S_OICSA(1)3(1)S ECSA3' PRINT'I.'CONN S_ECSA(1)3(1)S_ECSA;' C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL PSTERM RETURN END DCCCCCCCC SUBRW TEE DESI! IPT ION CECCC This subroutine sets up the function network to send character information run the E-S to the terminal screen. It will pack the information from ten different sources (throttle. aileron. elevator. rudder. and six plane positions) so arated by commas and ending with a carria e return. It s tri gered by sendigg a nessage to 1)S_PSPEU which is nitialized in SSET. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE CCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE EOST not: 0 o o o 0 (3000060 adds a comma to a string variable adds a (cr) to the end of a string variable concatenates the variables into one string sends the string variable to the PRIIE variable containing information sent from 8-8 to PR1ME function used to send INFO to PRIME clears the string variable after it has been sent ---- comm BLocxs ----- I." B .4 < F 006006000620 2.. B I I I I I I I 000 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS CCCCCCC ENTRY AND STORAGE.BLOCK BLOCK 0000 SUBROUTINE TOPRIM C EXTERNAL PSGRAF.PSTERM C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PCCCCCCCC PROCESS BLOCK BLOCK 0203 CALL PSGRAF C (( ALLOI FOR CEARACTER PACKING SEPARATED BY COMMAS )) (( AND EWING WITE A (or) )) an 000000 00000 O 0 AA AA AA --- add a comma to the string ---- PRINT I. 'EOST:IF:CONCATEIATEC3 ' 103 PRINT’I.'SEND "." TO (2)EOST3' C 3 add a (cr) to the last string --—-- PRINT'I. 'LAST'VAL: IF: CONCATENATEC3' C PRET I .'SED CEAR(13) TO (2)LAST _VAL3' g---- pack the string variables ---- PRINT I.'PACK:=F:CCONCATENATE3' PRINT I.'SED " " TO (1)PACX3' PRINT I.'CONN PACK(1):(1)PACK3' PRINT I.'CONN EOST(1)3(2)PACK3' PRINT I.'CONN LAST_VAL(1)3(2)PACK3' C g---- create trigger to send info ---- PRINT'I. 'TRIGGER: IF: NOP; C PRINT I .'CONN LAST_ VAL(1)3 <1)TRIGGER3 ' C--- write the strifig into a variable ---- g---- and send the i 0 when requested --- PRINT'I. 'VARIABLE INFO; ' PRINT'I. 'CONN PACK(1): (1)1NFO3' PRINT'I. 'S INFO: IF: FETOE3 PRINT'I. 'CONN TRIGGER(1)3 (1)8 INFO; ' HET I .'SED "EFO' TO (2)8 EFO3' PRINT I .'CONN S_ INFO(1)3 (1)EOSTOUT3' C--- clear the packing order after variable is sent ---- PRINT I .'CLEER: IF: CONSTINT’3' PRINT'I. 'CONN S INFO(1)3 (1)CLEAR3 ' PRINT’I. 'SEND '7 " TO (2)CLEAR3 PRINT'I. 'CONN CLEAR(1): (1)PACK3 ' C C CALL PSTERM C ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END SDCCCCCCCC SUBROUTINE DESCRIPTION CgCCC C This subroutine sets up the routine to send the plane c position to the PRIME. The current plane position is 8 updated everytime a position integration takes place. C C C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCE c ANGLES - splits the angular position vector into components c LOCALE - splits the linear sosition vector into components c ROLL - roll angle in worl coordinates (string variable) c ROLL - roll angle in world coordinates (string variable) c PITCH - pitch angle in world coordinates (string variable) c YA! - yaw angle in world coordinates (string variable) c XOUT - 3 position in world coordinates (string variable) 104 c TOUT - y position in vorld coordinates (string variable) 0 ZOUT - 2 position in world coordinates (string variable) c ROLOUT - real to string conversion of roll angle c PITOUT - real to string conversion of pitch angle c TAIOUT - real to string conversion of yaw angle c XOUT - real to string conversionof 1 position c TOUT - real to string conversion ofy position c ZOUT - real to string conversion of 2 position c 8 ROLL - sends the current roll angle variable c 8;PITCE - sends the current pitch angle variable c 8 YA! - sends the current yaw an le variable c S_XOUT - send the current 1 posit on variable c S_YOUT - send the current y position variable 8 8_ZOUT - send the current 2 position variable g--- COMMON BLOCKS ---- g ANGPCN C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gSCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 000g SUBROU TEE POSSET SIN SERT ID 58 )8014 )S IMULATE. DIR )E SHT. DIR )ANGPCM C EXTERNAL PSGRAF. PSTERM gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS §PCCCCCCCC PROCESS BLOCK BLOCK 0203 CALL PSGRAF g<<((( SET UP OUTPUT OF PLANE POSITION ))))) HET I .'ANGLES: IF: PARTS; HET I. 'CONN ROT'POS(1)3 (1)ANGLES; ' C g((((( EITIALIZE WTPUT PORTS ))))) HET I .'RQOUT: IF: HET; ' HET I .'CONN ANGLES(1)3 (1)R(I..OUT; ' HET I .'PITOUT: IF: HET3' HET I. 'mNN ANGLES<2>3 (1)PITOUT3 ' HET I .'Y3AIOUT IF: PRET; HET I .'CONN ANGLE-8(3): (1)YAIOUT; ' C g((((( DEFINE AND WRITE TO VARIABLE ))))) HET I. 'VARIABLE RG..L.PITCE.YAI;' HET I. ’ (IJNN ROLOUT(1)3 (1)R(lL; ' HET I. 'CONN PITOUT(1)3(1)PITCE; ' HET I. ' CONN YA'OUT(1)3 (1)YAI3 ' C 3((((( SET UP TRIGGER TO SED DATA ))))) PRET I .'S BILL: IF: FETCE; HET I .'SED "BILL" TO (2)S_ RmL; ' HET I .'S PITCE: IF: FETCE; HET I .'SED "PITCEéé. TO (2)S_ PITCE; ' HET I.'SE‘JD "YA!" TO (2)8 YAI; ' PRET I.'mNN 8_ RC8A(1)3 (1)8 _Eou; ' . S_R(LL(1)3 (1)S_ PITCE; ' HET I .'(DNN S_ PITCE(1)3 (1)8 YAI; PRET I. 'mNN S _ROLL(1)3 (1)EOST3' HET I .'(DNN S: PITCE(1)3 (1)EOST3 ' HET I.'CONN S__ YAI (1):(1)E08T;' C C((((( SET UP OUTPUT OF PLANE POSITION ))))) 105 HET I. 'LOCALE3IF3PARTS; ' HET I. 'mNN LEPOS(1):(1)LOCALE3' C 3((((( EITIALIZE OUTPUT PORTS ))))) HET I .'XOUT: IF: PRET3' HET I. '(ONN LOCALE(1)3(1)XOUT;' HET I. 'YOUT: IF: PRET3' HET I. 'mNN LOCALE(2)3 (1)YOUT3 ' HET I. 'ZOUT: IF: PRET3' HET I. '(XINN LOCALE(3): (1)ZOUT;' C g<<((( DEFEE AND WRITE TO VARIABLE ))))) HET I. 'VARIABLE XPOS.YPOS.ZPOS3' PRET I. '(XINN XOUT(1)3(1)XPOS;' HET I.'CONN YOUT(1)3(1)YPOS;' HET I.'CONN ZOUT(1)3(1)ZPOS;' C 8((((( SET UP TRIGGH TO SED DATA ))))) HET I .'S XPOS: IF: FETCE; ' HET I .'SED "XPOS" TO (2)8 _XPOS; ' HET I. '8 YPOS: IF: FETCE 3 HET I. 'SEND "YPOS" TO (2)8_ YPOS; ' HET I. '8 ZPOS: IF: FETCE; HET I ."8ED 'ZPOS" TO (2)8 ZPOS; ' HET I .'CONN S YAI(1)3 (1)8 XPUS;' HET I. '(ONN S XPOS(1)3(1)8_ YPOS; ' PRINT I. 'mNN SZYPOS<1):(1>S ZP083' PRINT I 'CONN S_ S<1>3<1>BUST3' PRET I.'CONN S_YPOS(1):(1>EOST3 ' C PRET I. 'mNN S_ZPOS(1>:(1>LAST_VAL3' C CALL PSTERM C ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN END gDCCCCCCCC SUBRWTINE DES€RIPTION CSCCC C This routine uses the PRIMOS subroutine TIMDAT to find the c current real time since midni ht usin the system clock. It c converts the minutes to secon s and t e ticks to fractions of c a second. 8 8 gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE gVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCtCZ c SEC - time in seconds since midnight returned 8 INFO - arrary that holds the info returned from TIRDAT gm“ COMII)N BLOCKS ---- C C (CECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS 106 SSCCCCCCC BITE! AND STORAGE BLOCK BLOCK 000% C SUBROUTINE TIME(SEC) REAL SEC INTEGBIZ INFO (28) INTR INSIC INTS EXTERNAL TINDAT gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS SPCCCCCCCC PROCESS BLOCK BLOCK 0208 (C:<<<(< GET THE TIME FROM THE SYSTEI ))))) C C CALL TIIIDAT(INFO.INTS(28)) C C g<<<<< CONVBT TO SEmNDS >>))> C SEC I INFO(4)I60. + INFO(S) + INFO(6)/330. C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN mo gDCCCCCCCC SUBROU TIN E DESG IPTION C(CZCCC c This subroutine will read the information that has c been sent to the terminal via s function network. The c routine will then convert the data to be consistsnt g with the data needed by the PRIME. C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gVCCCCCCCC VAR IABLE IDENTIFICATION CCCCCCCE c PSPED - Throttle setting in ithrottle c OICSA - Aileron setting c ECSA - Elevator setting c RCSA - Rudder setting c ESPL - Plane position (roll) [in radians] c ESPN - Plane position (pitch) [in radians] c ESPN - Plane position (yaw) in radians] c ESP! - Plane position (forward) c ESPY - Plane position (horizontal) c ESBZ - Plane sition (vertical) C IRESET - reset lag to return to start of simulation 8 ERIN - elevator offset added to stabilize for steady flight C--- COIIIDN BLOCKS --- g CIRLCII. ANGPCM. INTECM SCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS gSCCCCCCC mm! AND STORAGE BLOCK BLOCK 0003 C SUBROUTINE READES C SIN SERT IDSS )8U14)SI)IJLATE. DIE )IN SERT. DIR )C'ELCM 107 INSET ID58 )8U14 )SIIIULATE. DIR )IN SET. DIR )ANGPCN CIN SIT ID 58 )8U14 )SIIIJLATE. DIR )IN SET. DIR )INTECN REAL “RIM C EXTERNAL PSGRAF.P8TEN C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SPCCCCCCCC PROCESS BLOCK BLOCK 0203 S<<<<< READ THE INFO FROM THE BUFFER ))>)) c-- if an error is detected the old control and position info c-- is used and the reset flag is turned on READ (I. I. ERIIOOO) PSPED. WCSA. ECSA. RCSA. ESPL. ESPN. .PN i . ESPX. ESPY. EPZ C S<<<<< CONVET DATA TO BE (DNPATIABLE wrm EDIE ))>)) ESPL -ESPL/ 57 .296 ESPN -ESPN/ $7 .296 ESPN EPN/ 57 .296 ESPX ESPX ESPY ESPY ESPZ IESPZ ((((< oouvm'r INPUT DISPLAY VALUES TO RUE (DanL VALUES ))>)) HI)! I .01255661 PSPED I PSPEDI.4166667 O'CSA I 2.I(O'CSA I .00034907) ECSA I 15.I(ECSA I .000029088) '- TRIM C RCSA I -15.I(RCSA I .00014544) C(<<(< CHECK IF PLANE HAS (BASEED ))>)) IF(ESPZ.GE.1.1) TEE CALL PSGRAF PRINT I. 'SED FALSE TO <6)POSCLK:' PRINT I.'DISPLAI DEATE3' PRINT I. 'REWVE VIEW: ' CALL PSTEI GOTO 1000 ENDIF C GOTO 2000 g<<<<< SET TEE REET FLAG AND STOP CLOCK ))>)) 1000 IRESET I .FALSE. CALL PSGRAF PRINT I.'SED FALSE TO (6)POSCLK;' C CALL PSTEII C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 2000 RETURN ED C 0 006 on 108 gDCCCCCCCC SUBROUTINE DESCRIPTION CECCC C This subroutine is used to set or reset the E-S initial c conditions to start a sinuation over. The initial 8 values are enterinteractively by the user. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE CVCCCCCCCC VARIABLE IDENTIFICATION CCCCCCCS refer to E-S subroutines POSSET. INPSET'.INTSET’AND SII.IORLD for definitions of the E-S variable names. VEL - velocity used in PRIME (plane coordinates) Ul.Vl.Vl- intermediate velocity in left hand coordinate system P1.01.R1 ( lane coordinates) O UZ.V2.R2 - veloc ty sent to the E-S for integration P2.02.R2 - (world coordinates) PSPED - throttle setting OICSA - aileron setting ECSA - elevator setting RCSA - rudder setting -.... COMMON BLOCKS ---- VELCN.INTECN.CTRLCI.ANGPCI C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE SCCCCCCC ENTRY AND STORAGE BLOCK BLOCK 0008 SUBROUTINE RESET INSERT'ID58)SU14)SIMULATE.DIR)INSERTZDIR)VELCM INSERT’ID58)SU14)SIMULATE.DIR)INSERTKDIR)INTECM INSERT IDSS)SUI4)SIMULATE.DIR)IN8ERTLDIR)CTRLCN INSERT'ID58)SU14)SINULATE.DIR)INSERTLDIR)ANGPCI ' REAL TL(3. 3) .TR(3.3).U1.V1.'1.P1.01.R1 REAL U2. V2 .'2.P2.GE.R2.POSCAL CEARACTER EOLDI 1 INTRINSIC SIN. COS. FLOAT. TAN EXTERNAL PSGRAF. PSTERN C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCS om nonnnnnnnonooooooooon C gICCCCCCCC INITIALIZATION BLOCK BLOCK 010% C g<<<<< INITIALIZE BE STARTING LOCATION OF THE PLANE C PRINT'I. ' ' C PRINT I .'The velocities and controls have been set to steady'. C i' state values 5 gg'l‘fl I. 'USE DECIIIALS FOR INPUTI‘ING POSITIONSI' C1000 PRINT'I. 'Vhat is the linear osition in world coordinates?‘ C PRINT I. ' A good locat on is -1000.. -150..100' C READ(I.I.ERRI1000) PX. PT. 22 C2000 PRINT I. 'Ihat is the angular position in world coordinates?’ C PRINT I. A good orientation is 0..O..90.' C READ(I.I. ERR-2000) PL. PM.PN P! I IIOOO. P! I 0. P2 I 100. PL I 0. PM I 0. PN I O. C S<<<<< INITIALIZE TEE STEADY-STATE VELOCITY AND CONTROLS ))>)) 109 214.177 <<<<< -EEEEE I I I I I I «00000 3262 22 P3 >UOHJENNH we ‘59 I I I O“ 00- Oe e e 0 . RCSA I 0 . C POSCAL IO.1/FLOAT(IRATE) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCE C SPCCCCCCCC EOCESS BLOCK BLOCK 0203 C g<<<<< SED TEE RESET VALUES TO TEE APPROPRIATE EIS VARIABLES ))>)) CALL PSGRAF c - reset E-S screen ---- c PRINT'I. 'RENOVE VIEW; ' PRINT’I. 'REMOVE DEATB3' PRINT I .'DISPLAY VIEI3' c c reset slow motion factor on E-S ..... c EMT I.'SED '.POSCAL.’ TO <4)LMPOS;' EMT I.'SED '.POSCAL.’ TO <4)ROTPOS3' c c--- reset plane position c EMT I.'SED "'.PK.'" TO <1)KPOS3' PRINT I.'SED "'.PY."' TO (1)YPOS3' EMT I.'SED "'.PZ."' TO (1)2POS3' EMT I.'SFND "'.PL."' TO 3 PRINT I.'SED "'.PN.'" TO EMT I.'SED "'.E."' TO (1)YAI3 EMT I.'SED V3D('.PK.:.:.PY.'.'.PZ TO <2)LMPOS3' .') EMT I.'SED V3D('.PL. . . .'.'. .') TO (2)ROTPOS3 ' PRINT I.'SED V3D('.PL.'.'.PN.'.'.E.') TO <2)DELTA ROT3 ' PRINT I.'SED V3D('.PK.'.'.PY.'.'.PZ.') TO <1)TRANSCAL3' PRINT I.'SED '.PL.’ TO )LSCAL; EMT I.'SED '.PN.' TO (1)NSCAL3' EMT I.'SED '.PN.' TO (1 8CAL3 EMT I.'SED '.E.’ TO <1)PLANE_ RESET; ' c c-- reset plane controls c EMT I.'SED "0.0" TO (1)RCSA3' EINT I.'SED " " TO (1)ECSA3' EMT I.'SED "O 0" TO <1)OWC8A.' EMT I.'SED "56.3262" TO <1)P8PED.' EMT I.'SED " 0" TO <1)R(IJT.' EMT I.'SED "0 0" TO (1)EWT3' EMT I.'SED " .0" TO (1)AOUT. ' EMT I.'SED "56. 3262" TO <1)TOUT3 ' EMT I.'SED ' .RCSA.’ TO (2)RUDDER3 ' EMT I.'SI‘ND '.ECSA.’ TO (2)ELEVA'IOR3' EMT I.'SEND '.WCSA.’ TO (2)AILERON3' EMT I. 'SED '.PSPED.’ TO <2)TEROTTLE3' CALL PSTEN C g<<<<< CONVET DEGREES TO RADIANS ))>)) FL I PL/57.296 P)! I PIT/57.296 PN I PN/57.296 110 m » )) )) m m mm mm m 0 8 ms mu m M, mm m , m . mm mm << mmm mmm m m 0) MM 123 1.23 ) N L .. .. mmm mmm m u m m mm mm nun nun m m m F NM NM +++ +++ m m mm mm .q gas as; m a > m mm mm mmm mmmuau mm mmuuu L a n m mm m< (cm ((Mmmm ma wmmmm w m » . mm m.) WWW WW...“ mm - mm... m m n m m .m mmm mmm mmmuwu mm mm mmnnn m M .m a a ma um mmm ummnan _ mm m mmnnn n n nn H TEEmmmn AE m an. nu. unseeeM-ssusa-unvee T ”EDI. EH....N.---Ta”4E E VV._.V m MMM MM” ”mmmmm M DMMMflnnfifiPmm E EH...W...=..D33090 E a m m ...... m mum mum mud... n muuummmmw... m ......nmnnmmmmmuuu m mm m < mmummn << m nun nun nunmwn m nunnnnnnnnmu m nunummmmmmmmmmmmmm < me u w. cmmcw. . . .P. cw. .m. cm 000 O c 111 IRESET I .TRUE. <(<<( IAITING FOR EONPT -- DEB!) STALL ))>)) EMT I. 'Grab the control box and let"s storm the barn!’ INIT Hit (or) to GO' READ(I. '(A)' ) mu) C-I-reset plane velocity and start position update on the EIS ---—- CALL PSGRAF EMT I .'SED V3D .'U2. .'. V2. . '..IZ .'g TO <1)LMVE3' EMT I. 'SED V3D .P2. '.' .3123 .'.R2. TO (1)ROTVE3' EMT I .'SED TRUE TO <6)POSCLK3' .CALL PST'ERN C gCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC RETURN E D WEWTMTWJT‘MTET“