Flight Simulation Software

Book description

Flight Simulation Software

Explains the many aspects of flight simulator design, including open source tools for developing an engineering flight simulator

Flight simulation is an indispensable technology for civil and military aviation and the aerospace industry. Real-time simulation tools span across all aspects of aircraft development, from aerodynamics and flight dynamics to avionics and image generation systems. Knowledge of flight simulation software is vital for aerospace engineering professionals, educators, and students. Flight Simulation Software contains comprehensive and up-to-date coverage of the computer tools required to design and develop a flight simulator.

Written by a noted expert with decades of experience developing flight simulators in academia, this highly practical resource enables readers to develop their own simulations with readily available open source software rather than relying on costly commercial simulation packages. The book features working software taken from operational flight simulators and provides step-by-step guidance on software design, computer graphics, parallel processing, aircraft equations of motion, navigation and flight control systems, and more.

  • Explains both fundamental theory and real-world practice of simulation in engineering design
  • Covers a wide range of topics, including coding standards, software validation, user interface design, and sensor modelling
  • Describes techniques used in modern flight simulation including distributed architectures and the use of GPUs for real-time graphics rendering
  • Addresses unique aspects of flight simulation such as designing flight control systems, visual systems, and simulator instructor stations
  • Includes a companion website with downloadable open-source software and additional resources

Flight Simulation Software is a must-have guide for all developers and users of simulation tools, as well as the ideal textbook for relevant undergraduate and postgraduate courses in computer science, aeronautical engineering, electrical engineering, and mechanical engineering programs.

Table of contents

  1. Cover
  2. Aerospace Series
  3. Title page
  4. Copyright
  5. Dedication
  6. Preface
  7. Aerospace Series Preface
  8. Glossary
  9. About the Author
  10. About the Companion Website
  11. 1 Design of an Engineering Flight Simulator
    1. 1.1 The Evolution of Flight Simulation
    2. 1.2 Structure of a Flight Simulator
    3. 1.3 Real-time Flight Simulation
      1. 1.3.1 The Concept of Real-time Computing
      2. 1.3.2 Operating Systems
      3. 1.3.3 Latency
    4. 1.4 Distributed Computing
    5. 1.5 Processes and Threads
      1. 1.5.1 Multi-tasking
      2. 1.5.2 Semaphores
      3. 1.5.3 Asynchronous Input
      4. 1.5.4 Real-time Scheduling
    6. 1.6 Software Partitioning
    7. 1.7 Simulator Data
    8. 1.8 Input and Output
      1. 1.8.1 Data Acquisition
      2. 1.8.2 Digital-to-Analogue Conversion
      3. 1.8.3 Analogue-to-Digital Conversion
      4. 1.8.4 Multiplexing
      5. 1.8.5 Encoders
      6. 1.8.6 Digital Input/Output
      7. 1.8.7 Signal Conditioning
      8. 1.8.8 Embedded Systems
      9. 1.8.9 USB Interfacing
    9. References
  12. 2 Software Methods in Simulation
    1. 2.1 The Laplace Transform
    2. 2.2 Transfer Functions
    3. 2.3 Discrete-event Systems
    4. 2.4 Data Fitting
      1. 2.4.1 Data Sources
      2. 2.4.2 Least-squares Method
      3. 2.4.3 Spline Methods
      4. 2.4.4 Extrapolation
      5. 2.4.5 Observations on Data Fitting
    5. 2.5 Numerical Methods
    6. 2.6 Numerical Stability and Accuracy
      1. 2.6.1 Numerical Stability
      2. 2.6.2 Numerical Accuracy
    7. 2.7 Timing Analysis
    8. 2.8 Simulation Packages
    9. References
  13. 3 Aircraft Equations of Motion
    1. 3.1 Atmospheric Model
      1. 3.1.1 The Atmosphere
      2. 3.1.2 Wind
      3. 3.1.3 Turbulence
      4. 3.1.4 Wind Shear
    2. 3.2 Axes
      1. 3.2.1 Body Axes
      2. 3.2.2 Stability Axes
      3. 3.2.3 Local Frame
      4. 3.2.4 Earth-centred Earth-fixed Frame
      5. 3.2.5 Rotating Earth Frame
    3. 3.3 Quaternions
    4. 3.4 Aerodynamics
      1. 3.4.1 Performance and Handling
      2. 3.4.2 Coefficient of Lift
      3. 3.4.3 Coefficient of Drag
      4. 3.4.4 Coefficient of Side Force
      5. 3.4.5 Pitching Moment Coefficients
      6. 3.4.6 Rolling Moment Coefficients
      7. 3.4.7 Yawing Moment Coefficients
      8. 3.4.8 Mach Number
      9. 3.4.9 Observations
    5. 3.5 Equations of Motion
      1. 3.5.1 Forces
      2. 3.5.2 Moments
      3. 3.5.3 Long-Range Navigation
    6. 3.6 Propulsion
      1. 3.6.1 Piston Engines
      2. 3.6.2 Turbofans
    7. 3.7 Landing Gear
    8. References
  14. 4 Flight Control Systems
    1. 4.1 Automatic Flight Control
    2. 4.2 Development of Flight Control Laws
      1. 4.2.1 The Case for Offline Development and Testing
      2. 4.2.2 SimPlot
      3. 4.2.3 Trimming
    3. 4.3 PID Control
    4. 4.4 Automatic Modes
      1. 4.4.1 Turn Coordinator
      2. 4.4.2 Yaw Damper
      3. 4.4.3 Pitch Rate Controller
      4. 4.4.4 Auto-throttle
      5. 4.4.5 Vertical Speed Hold
      6. 4.4.6 Altitude Hold
      7. 4.4.7 Heading Hold
      8. 4.4.8 Observations on Automatic Modes
    5. 4.5 Airbus Control Laws
      1. 4.5.1 Pitch Normal Law
      2. 4.5.2 Roll Rate Law
    6. 4.6 Tracking
    7. 4.7 Auto-land
    8. 4.8 Flight Director
    9. 4.9 Flight Management Systems
      1. 4.9.1 Flight Control Unit
      2. 4.9.2 Flight Management Systems Simulation
    10. References
  15. 5 Navigation Systems
    1. 5.1 The Earth
      1. 5.1.1 Gravity
      2. 5.1.2 Magnetic Variation
    2. 5.2 Sensor Modelling
    3. 5.3 Navigation Principles
      1. 5.3.1 Position
      2. 5.3.2 Airspeed
      3. 5.3.3 Altitude
      4. 5.3.4 Heading
      5. 5.3.5 Distance and Bearing
    4. 5.4 Navigation Databases
    5. 5.5 Map Projections and Charts
    6. 5.6 Navigation Computations
    7. 5.7 Radio Navigation Aids
      1. 5.7.1 Automatic Direction Finding (ADF)
      2. 5.7.2 VHF Omni-directional Range
      3. 5.7.3 Distance Measuring Equipment
      4. 5.7.4 Instrument Landing System
    8. 5.8 Traffic Collision Avoidance Systems
    9. 5.9 Inertial Navigation Systems
    10. 5.10 Satellite Navigation
    11. References
  16. 6 Aircraft Displays
    1. 6.1 OpenGL
      1. 6.1.1 The Development of OpenGL
      2. 6.1.2 Legacy OpenGL
      3. 6.1.3 OpenGL Version 4
    2. 6.2 glib – A 2D Graphics Library for Flight Simulation
      1. 6.2.1 GPU Software Interface
      2. 6.2.2 Dots, Vectors and Triangles
      3. 6.2.3 Textures
      4. 6.2.4 Fonts
      5. 6.2.5 Matrix Transformations
      6. 6.2.6 Summary of glib Functions
    3. 6.3 Graphics Libraries
      1. 6.3.1 GLFW
      2. 6.3.2 cglm
      3. 6.3.3 PngLib
      4. 6.3.4 FreeImage
      5. 6.3.5 FreeType
      6. 6.3.6 Compiling, Linking and Loading Shader Programs
      7. 6.3.7 SVG
    4. 6.4 Design Considerations
      1. 6.4.1 Absolute and Relative Rendering
      2. 6.4.2 Memory Organisation
    5. 6.5 EFIS Displays
      1. 6.5.1 Primary Flight Display
      2. 6.5.2 Navigation Flight Display
      3. 6.5.3 EICAS Display
    6. 6.6 Flight Instruments
    7. 6.7 Soft Panels
    8. References
  17. 7 Image Generation Systems
    1. 7.1 IG Pipeline
    2. 7.2 Visual Databases
      1. 7.2.1 Constructing Visual Databases
      2. 7.2.2 Visual Database Standards
      3. 7.2.3 Visual Database Editing Tools
      4. 7.2.4 Representative Visual Databases
      5. 7.2.5 Visual Database Organisation
      6. 7.2.6 Binary-spaced Partition Trees
    3. 7.3 OpenSceneGraph
    4. 7.4 X-Plane 11
      1. 7.4.1 X-Plane 11 API
      2. 7.4.2 An X-Plane 11 Plug-in
      3. 7.4.3 OSG versus X-Plane 11
    5. 7.5 Head-up Displays
    6. 7.6 Digital Terrain Elevation Data
    7. 7.7 Visualisation
    8. 7.8 Observations
    9. References
  18. 8 Sound Generation
    1. 8.1 Sound Waveforms
    2. 8.2 Sound Generation Methods
      1. 8.2.1 WAV Format
      2. 8.2.2 Fast Fourier Transform
      3. 8.2.3 FFTW
      4. 8.2.4 Filters
    3. 8.3 OpenAL
      1. 8.3.1 OpenAL Application Programming Interface
      2. 8.3.2 Loading Sound Files
      3. 8.3.3 Dynamic Sounds
    4. 8.4 Tones
      1. 8.4.1 Outer Marker
      2. 8.4.2 Middle Marker
      3. 8.4.3 Morse Code
      4. 8.4.4 Warnings
      5. 8.4.5 Background Sounds
      6. 8.4.6 Turbofan Sounds
      7. 8.4.7 Real-time Sound Generation
    5. 8.5 Recordings
      1. 8.5.1 Airspeed-related Sound
      2. 8.5.2 Turbofan Engines
    6. 8.6 Observations
    7. References
  19. 9 The Instructor Station
    1. 9.1 Requirements
      1. 9.1.1 User Interfaces
      2. 9.1.2 Instructor Station Requirements
    2. 9.2 GUIs
      1. 9.2.1 User Inputs
      2. 9.2.2 Colour
      3. 9.2.3 Prototyping
      4. 9.2.4 User Actions
      5. 9.2.5 Software Considerations
    3. 9.3 Design of the User Interface
      1. 9.3.1 Classification of Operations
      2. 9.3.2 Design and Implementation of Menus
      3. 9.3.3 Widgets
      4. 9.3.4 Mouse Events
    4. 9.4 Real-time Operation
    5. 9.5 Charts and Maps
    6. 9.6 Flight Data Recording
      1. 9.6.1 Data Recording
      2. 9.6.2 Data Display
    7. 9.7 Scripting
      1. 9.7.1 A Simple Scripting Language
      2. 9.7.2 A Stack Machine
    8. References
  20. 10 Validation
    1. 10.1 Software Verification
    2. 10.2 Static Validation
      1. 10.2.1 I/O Systems
      2. 10.2.2 Control Loading Systems
      3. 10.2.3 Weather Module
      4. 10.2.4 Navigation Systems
      5. 10.2.5 Display Modules
      6. 10.2.6 Visual Systems
      7. 10.2.7 The Instructor Station
      8. 10.2.8 Networking
    3. 10.3 Aircraft Performance
      1. 10.3.1 Taxiing
      2. 10.3.2 Take-off
      3. 10.3.3 Level Flight
      4. 10.3.4 Climbing Flight
      5. 10.3.5 Approach and Touchdown
      6. 10.3.6 Turning Flight
      7. 10.3.7 Sideslip
      8. 10.3.8 Observations
    4. 10.4 Dynamic Response
      1. 10.4.1 Longitudinal Dynamics
      2. 10.4.2 Lateral Dynamics
      3. 10.4.3 Engine Failure
      4. 10.4.4 Observations
    5. 10.5 Octave and MATLAB
      1. 10.5.1 Longitudinal Model
      2. 10.5.2 Lateral Model
      3. 10.6 Simulator Qualification
        1. 10.6.1 Aeroplane Flight Simulator Evaluation Handbook – Volume I
        2. 10.6.2 Aeroplane Flight Simulator Evaluation Handbook – Volume II
      4. References
  21. Appendix
    1. A1 System-wide #include files
    2. A2 Libraries
    3. A3 Boeing 747-100
    4. A4 Cessna-172
    5. A5 Supporting Files
    6. A6 SimPlot
    7. A7 Raspberry Pi
    8. A8 Diagnostics
    9. A9 MSYS2
    10. A10 Miscellaneous
  22. Index
  23. End User License Agreement

Product information

  • Title: Flight Simulation Software
  • Author(s): David Allerton
  • Release date: December 2022
  • Publisher(s): Wiley
  • ISBN: 9781119737674