Welcome to the SADYCOS Documentation!

SADYCOS Logo

SADYCOS is a simulation environment for satellite dynamics and control algorithms implemented in MATLAB Simulink. It features a structure that allows for a highly customizable creation and execution of satellite simulations. A constantly expanding library of models is provided to enable the user to quickly set up new simulations. By implementing custom models and controllers, the user is in charge of making an own trade-off between simulation speed and level of detail.

Advantages of SADYCOS

Fully Customizable

The Simulink model only provides a general structure for the simulation with subsystems for the environment, actuators, sensors, plant and algorithms. The user is responsible for implementing the entire functionality of these subsystems. For that, the user can rely on the provided library of models or integrate own models. Thus, the user can decide where to implement a simplified model for the sake of simulation speed and where to use a higher fidelity model for a more detailed analysis.

Fast

While the simple MATLAB scripting syntax allows for a quick and easy implementation of custom functionality, Simulink’s code generation transpiles the model into C code for faster execution. The structure of SADYCOS and the provided models ensure that code generation is possible for the entire simulation.

Parallelizable

Parameter studies, gain optimization or Monte Carlo simulations necessitate a large number of simulations. SADYCOS allows for the usage of MATLAB’s Parallel Computing Toolbox, which enables multiple simulations to be run in parallel on a multi-core machine.

Incremental

Simulations are configured through MATLAB classes. For creating a new simulation that only differs from an existing one in a few parameters, it is not necessary to copy-paste the entire configuration. Instead, the user can create a new class that inherits from the existing one and only override the necessary parameters.

Trackable

Even though the core of the simulation is implemented in the binary Simulink file, the entire functionality is implemented in text-based m-files. The user can rely on powerful version control systems optimized for text-based files like Git to track changes in the code and collaborate with other users.