Scenario kind pagesEdit on GitHubSource: docs/kinds/by-kind/attitude-budget.md

attitude-budget (scenario kind)

Scenario kind of the engine v0.38.0, family Mission analysis, links and space operations. Advisory: analysis output from a research and engineering tool, not type-approved navigation equipment and not a safety-of-life service. Every label here is the engine's or the verification matrix's; a kind is MODELLED unless the matrix says otherwise (how a label is earned: the README's Evidence section).

What it does#

3-DOF attitude & pointing error budget: the worst-case gravity-gradient disturbance torque ((3/2)(μ/R³)ΔI) and a root-sum-square pointing-error budget over named 1σ contributors (sensor noise, reaction-wheel jitter, thermal, alignment) with the dominant term, for an orbit altitude + body inertia spread. MODELLED scalar AOCS budget — a pre-hardware complement to Basilisk/42, not a control-loop/6-DoF/flexible-mode simulation.

One run of scenarios/attitude-budget.toml summarises as: attitude-budget: 600 km, ΔI 40 kg·m² -> GG torque 7.04e-5 N·m; pointing 10.7" RSS (dominant: reaction_wheel_jitter) (MODELLED scalar budget)

Inputs#

From the schema (kshana kinds --json):

  • Required fields: none
  • Optional fields: altitude_km, i_max_kg_m2, i_min_kg_m2, contributors

The example scenarios/attitude-budget.toml sets, among others:

Field Value Unit
altitude_km 600 km
contributors[0].name star_tracker_noise text
contributors[0].sigma_arcsec 5 arcsec
contributors[1].name reaction_wheel_jitter text
contributors[1].sigma_arcsec 8 arcsec
contributors[2].name thermal_distortion text
contributors[2].sigma_arcsec 4 arcsec
contributors[3].name alignment text
contributors[3].sigma_arcsec 3 arcsec
i_max_kg_m2 100 not stated
i_min_kg_m2 60 not stated
kind attitude-budget text

Run it#

kshana scenarios/attitude-budget.toml

What it gives#

The scalar results of that run, with the units the engine states:

Result Value Unit
altitude_km 600 km
delta_inertia_kg_m2 40 kg*m^2
dominant_contributor reaction_wheel_jitter text
gravity_gradient_torque_max_nm 7.0383e-5 N*m
total_pointing_error_arcsec 10.677078 arcsec

Result label (the engine's): MODELLED — scalar 3-DOF AOCS error budget: gravity-gradient worst-case disturbance torque + RSS pointing budget; NOT a control-loop / 6-DoF / flexible-mode simulation (a pre-hardware complement to Basilisk/42, not a replacement)

The chart the engine writes for scenarios/attitude-budget.toml, kind attitude-budget

Evidence#

VALIDATED: the verification matrix rows that name this kind.

  • VALIDATED Gravity-gradient worst-case disturbance torque ((3/2)(μ/R³)ΔI) as the peak over attitude (the validated claim), plus an RSS pointing-error budget over named 1σ contributors with the dominant term (a quadrature sum of caller-supplied numbers Tests: attitude_gg_torque_reference.rs.

The rows the run itself exercised, with the oracle the matrix gives each (the public sources are named there):

  • MODELLED Deterministic, scenario-hashed, SBOM + cross-platform golden gates. Oracle (ExternalDataset): SBOM conformance to the official CycloneDX 1.5 JSON Schema (+ valid SPDX identifiers) — an external published standard, zero validation errors over the full dependency graph; the FoM-determinism / byte-reproducibility part remains a pinned self-consistency check, so the row stays MODELLED
  • VALIDATED Gravity-gradient worst-case disturbance torque ((3/2)(μ/R³)ΔI) as the peak over attitude (the validated claim), plus an RSS pointing-error budget over named 1σ . Oracle (ExternalDataset): Basilisk 2.9.1 GravityGradientEffector (AVSLab, ISC), an independent C++ implementation of the full-tensor gravity-gradient torque: Kshana's peak (3/2)(μ/R³)ΔI equals Basilisk's torque at the 45 deg attitude within 1e-12 relative (worst 2.1e-15) over 5 altitudes and 8 inertia tensors, and bounds Basilisk's torque over 2000 random attitudes per case; tolerance fixed before the comparison. Validated claim: the gravity-
  • PARTNER Not provided — Kshana is a navigation-performance simulator, not a bus house. Oracle (NoneKind): none: a partner-owned discipline, with no module and no test by design

Limitations#

What the run's own report says is not modelled or not validated:

  • MODELLED — scalar 3-DOF AOCS error budget: gravity-gradient worst-case disturbance torque + RSS pointing budget; NOT a control-loop / 6-DoF / flexible-mode simulation (a pre-hardware complement to Basilisk/42, not a replacement) (result label)
  • MODELLED scalar AOCS budget — a pre-hardware complement to Basilisk/42, not a control-loop/6-DoF/flexible-mode simulation. (kind catalogue (kshana kinds --json))
  • HONEST SCOPE: MODELLED scalar error budget -- a pre-hardware complement to Basilisk/42, NOT a control-loop / 6-DoF / flexible-mode simulation. The gravity-gradient term is reported as a torque (mapping it to pointing needs a control stiffness the caller owns); the budget is the quadrature sum of the supplied 1-sigma contributors. Run: kshana scenarios/attitude-budget.toml (scenario file comment, lines 8 to 13)
  • Reproducibility & software assurance is MODELLED, not validated: a sub-claim is externally checked, but the whole capability composes modelled pieces, so the capability stays Modelled. (verification matrix (docs/MODELLED-RATIONALE.md))

See also#