menu
info Documentation

Automation Schedule Entries for CubeADCS

The Automation Schedule in the D2S2 scenario file allows property changes to be applied to model objects at specified simulation times. In the context of the CubeSpace plugin, this is most commonly used to command control mode transitions, estimation mode changes, and target parameter updates — mirroring the kinds of commands that would be sent to the ADCS hardware during an actual mission.

Property values in the Automation Schedule must be specified in the same format used for input and initial values elsewhere in the scenario file. For simple integer or float properties this is a plain value, while structured properties (such as orbit parameters or attitude references) require a typed JSON object.

For a general description of the Automation Schedule structure and its fields, see the Automation Schedule documentation page.

Example

The following scenario file excerpt demonstrates setting an estimation mode and control mode at the same simulation time, followed by an orbit target update and an attitude reference update at later times:

"AutomationSchedule": {
  "$type": "System.Collections.Generic.List`1[[D2S2.Simulation.ScheduledPropertySet, D2S2]], mscorlib",
  "$values": [
    {
      "$type": "D2S2.Simulation.ScheduledPropertySet, D2S2",
      "Time": "2025-01-01T12:10:00",
      "ModelObject": "ExampleSat CubeComputer",
      "Property": "EstimationMode",
      "Value": 6
    },
    {
      "$type": "D2S2.Simulation.ScheduledPropertySet, D2S2",
      "Time": "2025-01-01T12:10:00",
      "ModelObject": "ExampleSat CubeComputer",
      "Property": "ControlMode",
      "Value": 13
    },
    {
      "$type": "D2S2.Simulation.ScheduledPropertySet, D2S2",
      "Time": "2025-01-01T12:15:00",
      "ModelObject": "ExampleSat CubeComputer",
      "Property": "OrbitTargetParams",
      "Value": {
        "$type": "D2S2.Model.Satellite.CubeSpace.CubeComputerControlProgram8+ConfigOrbitTargetParams, CubeSpaceLibrary",
        "OrbitEpoch": 25001.0,
        "OrbitIncl": 104.0,
        "OrbitRaan": 305.0,
        "OrbitEccen": 0.0001,
        "OrbitAP": 0.0,
        "OrbitMA": 23.0,
        "OrbitMM": 14.8,
        "OrbitBstar": 0.0
      }
    },
    {
      "$type": "D2S2.Simulation.ScheduledPropertySet, D2S2",
      "Time": "2025-01-01T12:24:00",
      "ModelObject": "ExampleSat CubeComputer",
      "Property": "ReferenceRpy",
      "Value": {
        "$type": "D2S2.Model.Satellite.CubeSpace.CubeComputerControlProgram8+ReferenceRpy, CubeSpaceLibrary",
        "CmdRpyRoll": 1.27307618,
        "CmdRpyPitch": -0.27511692,
        "CmdRpyYaw": 155.612274
      }
    }
  ]
}

Estimation Mode Reference

The values of the estimation mode parameters correlate to those found in CubeSpace Commissioning and Operations Manual (CS-DEV.CMNL.CA-01). For the readers convenience, at the time of writing, these values correlate as follows:

Value Estimation Mode
0 EstNone
1 EstGyro
2 EstMagRkf
3 EstPitchRkf
4 EstTriad
5 EstFullEkf
6 EstGyroEkf

Control Mode Reference

The values of the control mode parameters correlate to those found in CubeSpace Commissioning and Operations Manual (CS-DEV.CMNL.CA-01). For the readers convenience, at the time of writing, these values correlate as follows:

Value Control Mode
0 ConNone
1 ConBdot
2 ConYSpin
3 ConBdot3
4 ConDetumble
5 ConSunYspin
6 ConZspin
7 ConSunZspin
8 ConGGboom
9 ConGGsun
10 ConYwheelInit
11 ConYwheel
12 ConXYZwheel
13 ConSunTrack
14 ConTgtTrack
15 ConTgtSteer
16 ConGndTrack
17 ConIrcTrack
18 ConMoonTrack