ADCS.CONOPS.goals.vector_goals.lvlh_tangential_goal module

class ADCS.CONOPS.goals.vector_goals.lvlh_tangential_goal.LVLH_Tangential_Goal(boresight_name=None)[source]

Bases: Vector_Goal

LVLH tangential (along-track) vector goal.

This goal commands alignment with the tangential axis of the local orbital frame (LVLH/RTN). Using the ECI position \(\mathbf{r}\) and velocity \(\mathbf{v}\), define:

\[\hat{\mathbf{R}} = \frac{\mathbf{r}}{\|\mathbf{r}\|}, \qquad \hat{\mathbf{N}} = \frac{\mathbf{r}\times\mathbf{v}}{\|\mathbf{r}\times\mathbf{v}\|}, \qquad \hat{\mathbf{T}} = \hat{\mathbf{N}} \times \hat{\mathbf{R}}.\]

The commanded inertial direction is:

\[\mathbf{r}_{goal} = \hat{\mathbf{T}}.\]

A feed-forward reference angular velocity is provided consistent with the orbital rotation rate:

\[\boldsymbol{\omega}_{ref} = \frac{\mathbf{r}\times\mathbf{v}}{\|\mathbf{r}\|^2}.\]
Parameters:

boresight_name (str | None)

to_ref(os0)[source]

Generate a reference inertial direction and angular velocity.

Subclasses must implement this method to compute a desired inertial reference vector

\[\mathbf{v}_{\mathrm{ref}} \in \mathbb{R}^3\]

based on the current orbital state. The returned vector is expected to be nonzero and will typically be normalized by the downstream error computation.

Parameters:

os0 (Orbital_State) – Current orbital state.

Returns:

Reference inertial direction and reference angular velocity.

Return type:

Tuple[numpy.ndarray, numpy.ndarray]