menu
info Documentation

CubeADCS Simulation Overview

A standard D2S2 scenario will simulation the attitude dynamics of the satellite through numerical intergration. This functionality takes into account disturbance torques most commonly experienced in orbit such as:

  • Gravity gradient
  • Aerodynamic
  • Solar radiation pressure
  • Magnetic torque from solar panel induced currents
  • Magnetic dipole from magnetized structure
  • Thruster misalignment

The addition of the CubeSpace plugin adds the simulation of attitude determination and control performed by the CubeADCS system.

Simulation Flow Diagram

For the simulation to run a representative model of the CubeADCS system, the simulation executes the CubeADCS's control loop at the same interval as the actual hardware. At each interval, the orbital state (position and velocity) is calculated from an SGP4 propagator, or obtained from a connected GNSS receiver. The disturbance torques are calculated for the given attitude state (attitude quaternion and angular velocity), and for the given orbital position.

The control torques are calculated by simulating the satellite control system in detail. Firstly, the sensor measurements are simulated by taking the true values and adding suitable sensor noise. These are supplied to the CubeACP (Gen1) or CubeComputer (Gen2) model, which represents the control program that runs on the CubeADCS. The CubeComputer will use the supplied sensor inputs to calculate commanded wheel speeds and magnetorquer pulse commands. The actuator models will then produce the control torque that the satellite control system is effecting.

The control torque, together with the disturbance torques are summed and used in the Euler dynamics equation to produce an angular acceleration vector. The angular acceleration is then numerically integrated, to find the angular velocity and attitude quaternion for the next simulation iteration. This complete process flow is depicted in Figure 1.

Figure 1: Flow diagram of the sequence of processes simulated each iteration when utilizing the CubeSpace plugin

The attitude estimation and control step is performed by executing the same code that the CubeADCS flight computer will execute. For the reference implementation of the simulation, all the execution occurs on the PC that is running the simulator.

Hardware-In-the-Loop (HIL) simulations are conducted by substituting the CubeComputer reference model with a HIL-enabled CubeComputer which adds a communication interface to the CubeADCS CubeComputer as shown in Figure 2. The difference between the reference and HIL simulation, is that the estimation and control processing now takes place on the actual CubeADCS hardware. HIL simulations are described in more detail in the Hardware in the loop page.

Figure 2: Flow diagram of the sequence of processes simulated each iteration when utilizing the CubeSpace plugin for HIL testing