Skip to content

ut-issl/s2e-documents

Repository files navigation

S2E-Documents

Overview

  • This repository summarizes documents of S2E (Spacecraft Simulation Environment).
  • The branch construction
    • main
      • Documents for the latest stable version of s2e-core
        • The Current version supports s2e-core v7.2.0
        • If there are several patch update versions, please use the latest one to avoid bugs.
      • The old versions are managed with release/tag/v.*.*.*
        • The major version number is compatible with s2e-core's major version number.
    • develop
      • Documents for the latest develop branch of s2e-core
      • This version is only for s2e-core developers
    • feature/branch-name
      • Writing documents before merging with the develop
    • hotfix/branch-name
      • Fix typos, misdescription, etc.
  • If you have any questions or comments for S2E, feel free to ask us on the discussions page of s2e-core.

Index

  1. General Information

    1. Coding Convention of S2E
    2. Naming Rule for User Interface
    3. Format of S2E Documents
    4. Mandatory Setup and How to Build the S2E
      1. How to build with Visual Studio
      2. How to build with Ubuntu in Docker for both Windows and Mac users
      3. How to build with other compilers will be written
    5. Set up of External Libraries
      NOTE: Currently, this setting sequence is included in the mandatory setups described above. So users don't need to see the following documents.
      1. How to download the CSPICE Library
      2. How to download and make NRLMSISE00 Library
    6. Visualization of Simulation Results
      1. How to Visualize Simulation Results
  2. Tutorials

    • We strongly recommend sequentially following the tutorials without external hardware at first.
    1. Getting Started
  3. Specifications

    1. Overall Structure

    2. Components
      • components directory manages source codes to emulate components mounted on spacecraft and ground stations.
      1. Base
        • base directory manages base classes which are inherited to make component classes.
        1. Component
        2. GPIO Communication with OBC: TBW
        3. I2C Controller: TBW
        4. I2C Target Communication with OBC: TBW
        5. Interface GPIO Component: TBW
        6. Interface Tickable: TBW
        7. Sensor
        8. UART Communication with OBC
      2. Ports
        • ports directory manages source codes to emulate the connection of components including communication and power ports.
        1. GPIO Port: TBW
        2. I2C Port: TBW
        3. Power Port
        4. UART Port: TBW
        5. HILS I2C Target Port
        6. HILS UART Port
      3. Examples
        • examples directory manages example source codes to show how to make user-defined components.
        • Please do not use these class directories for your simulation analysis.
        1. Change structure: TBW
        2. I2C controller for HILS: TBW
        3. I2C target for HILS: TBW
        4. Serial communication HILS: TBW
        5. Serial communication OBC: TBW
      4. Ideal
      5. Real
        • real directory manages source codes to emulate well-used components in a normal satellite mission.
        1. AOCS (Attitude and Orbit Control System)
          • The aocs directory manages components like sensors and actuators for the AOCS subsystem.
          1. GNSS Receiver: TBW
          2. GYRO Sensor
          3. Magnetometer
          4. Magnetorquer
          5. Reaction wheel
          6. Star sensor
          7. Sun sensor
          8. MTQ-Magnetometer interference
        2. CDH (Command and Data Handling)
          • The cdh directory manages components for the CDH subsystem.
          1. On Board Computer: TBW
          2. OBC with C2A: TBW
        3. Communication
          • communication directory manages components for communication of spacecraft and ground stations.
          1. Antenna: TBW
          2. Antenna Radiation pattern: TBW
          3. Ground Station calculator: TBW
          4. WINGS command sender to C2A: TBW
        4. Mission
          • The mission directory manages mission-specific components like science instruments of spacecraft.
          1. Telescope (Japanese version)
        5. Power
          • The power directory manages components for the power subsystem.
          1. Battery: TBW
          2. CSV scenario interface: TBW
          3. Power Control Unit
          4. PCU Initial study: TBW
          5. Solar Array Panel: TBW
        6. Propulsion
          • The propulsion directory manages components for the propulsion subsystem.
          1. Simple Thruster
        7. Thermal: No components now.

      6. Products
        • The products directory manages source codes to emulate specific products published in the world. The telemetry and command interfaces are also emulated based on ICDs.
        • Users can use them for a practical simulation for satellite development.
        • TBW
    3. Disturbances
      • The disturbances directory manages source codes to calculate disturbances acting on spacecraft in orbit.
      1. Base classes
        1. Disturbance
        2. Disturbances
      2. Disturbance calculations
        1. Geopotential
        2. Third Body Gravity
        3. Gravity Gradient Torque
        4. Magnetic Disturbance Torque
        5. Surface force
          1. Air Drag
          2. Solar Radiation Pressure
        6. Lunar Gravity field: TBW
    4. Dynamics
      • The dynamics directory manages source codes to calculate the dynamics behavior of spacecraft.
      1. Attitude

        1. Overview of Attitude Calculation
        2. Attitude RK4
        3. Controlled Attitude
      2. Orbit

        1. Overview of Orbit calculation
        2. Kepler Orbit
        3. RK4 Orbit Propagation
        4. SGP4 Orbit Propagation with TLE
        5. Encke's method
        6. Relative Orbit
        7. Orbit Propagation with Time Series File
      3. Thermal

        1. Heater: TBW
        2. Heater Controller: TBW
        3. Heat load: TBW
        4. Node: TBW
        5. Temperature: TBW
    5. Environment
      • environment directory manages source codes to calculate space environment simulation.
      1. Overview of Environment calculation

        • We divided the space environment into two categories: global and local.
        • global directory manages space environment calculations which are shared with all spacecraft and ground stations in the simulation scenario.
          • e.g., planet position vector in the inertial frame.
        • local directory manages space environment calculations only for a spacecraft at its position and attitude.
          • e.g., planet position vector from the spacecraft in the spacecraft body frame.
      2. Global Environment

        1. Global Environment
        2. Celestial Information
        3. Earth Rotation
        4. Moon Rotation: TBW
        5. Clock Generator
        6. GNSS Satellites, (Japanese version)
        7. Hipparcos Catalogue, (Japanese version)
        8. Physical Constants
        9. Simulation Time
      3. Local Environment

        1. Local Environment
        2. Local Celestial Information
        3. Atmosphere
        4. Geomagnetic field
        5. Solar Radiation Pressure Environment
    6. Library
      1. Atmosphere

        1. Simple air density model: TBW
        2. Harris-Priester model: TBW
      2. Communication

        1. COM port interface: TBW
      3. Control Utilities

        1. First order lag: TBW
      4. External

        • External library-related source codes.
        1. IGRF (International Geomagnetic Reference Field): TBW
        2. inih: TBW
        3. nrlmsise00: TBW
        4. sgp4: TBW
      5. Geodesy

        1. Geodetic Position: TBW
      6. GNSS (Global Navigation Satellite System)

        1. ANTEX file reader: TBW
        2. Bias SINEX file reader: TBW
        3. GNSS satellite number: TBW
        4. SP3 file reader: TBW
      7. Gravity

        1. Gravity potential: TBW
      8. Initialize

        1. Initialize file access: TBW
        2. WINGS operation file: TBW
        3. C2A command database: TBW
      9. Logger

        1. Loggable: TBW
        2. Log Utility: TBW
        3. Logger: TBW
      10. math
        1. Constants: TBW
        2. Matrix: TBW
        3. Matrix and Vector: TBW
        4. Ordinary Differential Equation: TBW
          • This library will be replaced by Numerical integration.
        5. Quaternion: TBW
        6. S2E math: TBW
        7. Vector: TBW
      11. Numerical integration

        1. Runge Kutta method: TBW
          1. 4th order Runge Kutta method: TBW
          2. Embedded Runge Kutta method: TBW
            1. Runge Kutta Fehlberg: TBW
            2. 5th order Dormand and Prince: TBW
        2. Numerical integrator: TBW
        3. Numerical integrator manager: TBW
        4. ODE examples: TBW
      12. Optics

        1. Gaussian Beam Base: TBW
      13. Orbit

        1. Kepler Orbit: TBW
        2. Orbital Elements: TBW
        3. Relative Orbit Models: TBW
        4. Interpolation orbit: TBW
      14. Planet rotation

        1. Moon rotation utilities: TBW
      15. Randomization

        1. Global randomization: TBW
        2. Normal randomization: TBW
        3. Minimal standard linear congruential generator: TBW
        4. Minimal standard linear congruential generator with shuffle: TBW
        5. Random walk: TBW
      16. utilities

        1. Endian: TBW
        2. Macros: TBW
        3. Quantization: TBW
        4. Ring Buffer: TBW
        5. SLIP: TBW
    7. Simulation
      • simulation directory manages source codes to define the simulation scenario.
      1. Simulation Configuration

      2. Case

        1. Simulation Case
      3. Ground Station

        1. Ground Station
      4. HILS

        1. HILS port manager: TBW
      5. Monte Carlo Simulation

      6. Multiple Spacecraft

        1. Inter Spacecraft Communication: TBW
        2. Relative Information: TBW
      7. Spacecraft

        1. Spacecraft
        2. Installed Components
        3. Structure
          1. Kinematics Parameters
          2. Surface
          3. Residual Magnetic Moment
    8. Simulation Sample
      • simulation_sample directory manages example source codes for user-defined simulation scenarios. Users can copy and modify this directory to make user-defined simulation scenarios.
      1. Case

        1. Sample Case
      2. Ground Station

        1. Sample Ground Station
        2. Sample Ground Station Components
      3. Spacecraft

        1. Sample Spacecraft
        2. Sample Components
        3. SamplePortConfiguration: TBW
  4. Troubleshooting