- 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'smajor
version number.
- The
- Documents for the latest stable version of s2e-core
- develop
- Documents for the latest
develop
branch of s2e-core - This version is only for s2e-core developers
- Documents for the latest
- feature/branch-name
- Writing documents before merging with the
develop
- Writing documents before merging with the
- hotfix/branch-name
- Fix typos, misdescription, etc.
- main
- If you have any questions or comments for S2E, feel free to ask us on the discussions page of s2e-core.
-
General Information
- Coding Convention of S2E
- Naming Rule for User Interface
- Format of S2E Documents
- Mandatory Setup and How to Build the S2E
- How to build with Visual Studio
- How to build with Ubuntu in Docker for both Windows and Mac users
- How to build with other compilers will be written
- 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. - Visualization of Simulation Results
-
Tutorials
- We strongly recommend sequentially following the tutorials without external hardware at first.
-
Tutorials without any external hardware
- Users can refer to the s2e-user-example to see sample codes of the following tutorials.
-
Tutorials with external hardware for HILS test
- NOTE: Currently, these tutorials don't follow the major update v6.0.0.
-
Specifications
-
Components
components
directory manages source codes to emulate components mounted on spacecraft and ground stations.
-
Base
base
directory manages base classes which are inherited to make component classes.
- Component
- GPIO Communication with OBC: TBW
- I2C Controller: TBW
- I2C Target Communication with OBC: TBW
- Interface GPIO Component: TBW
- Interface Tickable: TBW
- Sensor
- UART Communication with OBC
-
Ports
ports
directory manages source codes to emulate the connection of components including communication and power ports.
- GPIO Port: TBW
- I2C Port: TBW
- Power Port
- UART Port: TBW
- HILS I2C Target Port
- HILS UART Port
-
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.
- Change structure: TBW
- I2C controller for HILS: TBW
- I2C target for HILS: TBW
- Serial communication HILS: TBW
- Serial communication OBC: TBW
-
Ideal
ideal
directory manages source codes of idealized components which are used in the initial analysis phase in research and satellite development.- Angular Velocity Observer
- Attitude Observer
- Force Generator
- Torque Generator
-
Real
real
directory manages source codes to emulate well-used components in a normal satellite mission.
-
AOCS (Attitude and Orbit Control System)
- The
aocs
directory manages components like sensors and actuators for the AOCS subsystem.
- The
-
CDH (Command and Data Handling)
- The
cdh
directory manages components for the CDH subsystem.
- On Board Computer: TBW
- OBC with C2A: TBW
- The
-
Communication
communication
directory manages components for communication of spacecraft and ground stations.
- Antenna: TBW
- Antenna Radiation pattern: TBW
- Ground Station calculator: TBW
- WINGS command sender to C2A: TBW
-
Mission
- The
mission
directory manages mission-specific components like science instruments of spacecraft.
- The
-
Power
- The
power
directory manages components for the power subsystem.
- Battery: TBW
- CSV scenario interface: TBW
- Power Control Unit
- PCU Initial study: TBW
- Solar Array Panel: TBW
- The
-
Propulsion
- The
propulsion
directory manages components for the propulsion subsystem.
- The
-
Thermal: No components now.
-
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
- The
-
Disturbances
- The
disturbances
directory manages source codes to calculate disturbances acting on spacecraft in orbit.
- Base classes
- Disturbance calculations
- The
-
Dynamics
- The
dynamics
directory manages source codes to calculate the dynamics behavior of spacecraft.
-
Attitude
-
Orbit
-
Thermal
- Heater: TBW
- Heater Controller: TBW
- Heat load: TBW
- Node: TBW
- Temperature: TBW
- The
-
Environment
environment
directory manages source codes to calculate space environment simulation.
-
Overview of Environment calculation
- We divided the space environment into two categories:
global
andlocal
. 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.
- We divided the space environment into two categories:
-
Global Environment
-
Local Environment
-
Library
-
Atmosphere
- Simple air density model: TBW
- Harris-Priester model: TBW
-
Communication
- COM port interface: TBW
-
Control Utilities
- First order lag: TBW
-
External
- External library-related source codes.
- IGRF (International Geomagnetic Reference Field): TBW
- inih: TBW
- nrlmsise00: TBW
- sgp4: TBW
-
Geodesy
- Geodetic Position: TBW
-
GNSS (Global Navigation Satellite System)
- ANTEX file reader: TBW
- Bias SINEX file reader: TBW
- GNSS satellite number: TBW
- SP3 file reader: TBW
-
Gravity
- Gravity potential: TBW
-
Initialize
- Initialize file access: TBW
- WINGS operation file: TBW
- C2A command database: TBW
-
Logger
- Loggable: TBW
- Log Utility: TBW
- Logger: TBW
-
math
- Constants: TBW
- Matrix: TBW
- Matrix and Vector: TBW
- Ordinary Differential Equation: TBW
- This library will be replaced by
Numerical integration
.
- This library will be replaced by
- Quaternion: TBW
- S2E math: TBW
- Vector: TBW
-
Numerical integration
- Runge Kutta method: TBW
- 4th order Runge Kutta method: TBW
- Embedded Runge Kutta method: TBW
- Runge Kutta Fehlberg: TBW
- 5th order Dormand and Prince: TBW
- Numerical integrator: TBW
- Numerical integrator manager: TBW
- ODE examples: TBW
- Runge Kutta method: TBW
-
Optics
- Gaussian Beam Base: TBW
-
Orbit
- Kepler Orbit: TBW
- Orbital Elements: TBW
- Relative Orbit Models: TBW
- Interpolation orbit: TBW
-
Planet rotation
- Moon rotation utilities: TBW
-
Randomization
- Global randomization: TBW
- Normal randomization: TBW
- Minimal standard linear congruential generator: TBW
- Minimal standard linear congruential generator with shuffle: TBW
- Random walk: TBW
-
utilities
- Endian: TBW
- Macros: TBW
- Quantization: TBW
- Ring Buffer: TBW
- SLIP: TBW
-
-
Simulation
simulation
directory manages source codes to define the simulation scenario.
-
Case
-
Ground Station
-
HILS
- HILS port manager: TBW
-
Multiple Spacecraft
- Inter Spacecraft Communication: TBW
- Relative Information: TBW
-
Spacecraft
- Spacecraft
- Installed Components
- Structure
- Kinematics Parameters
- Surface
- Residual Magnetic Moment
-
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.
-
Case
-
Ground Station
-
Spacecraft
- Sample Spacecraft
- Sample Components
- SamplePortConfiguration: TBW