ADCS.CONOPS.goals.no_goal module

class ADCS.CONOPS.goals.no_goal.No_Goal[source]

Bases: Goal

Null goal representing the absence of a pointing objective.

This class provides an explicit representation of a null or inactive guidance objective. It implements a degenerate goal mapping that produces zero-valued reference quantities regardless of the orbital state.

Mathematically, the reference mapping implemented by this class is

\[G_{\varnothing}(\mathcal{O}(t)) = \left( \mathbf{0}, \mathbf{0} \right)\]

where \(\mathcal{O}(t)\) denotes the current orbital state, \(\mathbf{0} \in \mathbb{R}^3\) is the zero vector, and both the reference direction and reference angular velocity are identically zero.

This class is typically used as a safe fallback when no valid goal is scheduled, for example when a GoalList is empty or queried outside its defined timeline.

See also

Goal, GoalList

error(q, body_boresight, os0)[source]

Return a zero error vector.

This method defines the error associated with the null goal as identically zero:

\[\mathbf{e}_{\varnothing} = \mathbf{0}\]

This ensures that downstream guidance or control laws receive no corrective signal when no active objective is defined.

Parameters:
  • q (numpy.ndarray) – Current spacecraft attitude representation.

  • body_boresight (numpy.ndarray) – Boresight direction expressed in the spacecraft body frame.

  • os0 (Orbital_State) – Current orbital state.

Returns:

Zero-valued error vector.

Return type:

numpy.ndarray

to_ref(os0)[source]

Return zero inertial reference vectors.

This method implements the null reference mapping

\[\mathbf{r}_{\mathrm{ref}} = \mathbf{0}, \quad \boldsymbol{\omega}_{\mathrm{ref}} = \mathbf{0}\]

indicating that no pointing direction and no angular motion are commanded.

The orbital state argument is accepted for interface consistency but is not used in the computation.

Parameters:

os0 (Orbital_State) – Current orbital state.

Returns:

Zero reference direction and zero reference angular velocity.

Return type:

Tuple[numpy.ndarray, numpy.ndarray]