pylupnt.SatelliteOdtsApp

class pylupnt.SatelliteOdtsApp

Onboard distributed ISL ODTS filter hosted on a Spacecraft; generates its own crosslink and surface-station measurements, runs a Schmidt-EKF, and periodically exchanges posteriors with neighbors

get_agent(self: pylupnt._pylupnt.Application) lupnt::Agent

The Agent that hosts this application (set by the simulation before Setup()).

get_frequency(self: pylupnt._pylupnt.Application) float

Step() call frequency [Hz]

get_name(self: pylupnt._pylupnt.Application) str

This application’s name

log(self: pylupnt._pylupnt.Application, t: Real) None

Base Log at simulation time t [s] (emits a debug message; override in a subclass).

neighbor_names(self: pylupnt._pylupnt.SatelliteOdtsApp) list[str]

Neighbor satellite names

num_anchors_total(self: pylupnt._pylupnt.SatelliteOdtsApp) int

Diagnostic: total station pseudoranges used over the run

own_cov_diag(self: pylupnt._pylupnt.SatelliteOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

[N x 8] own covariance diagonal

own_cov_full(self: pylupnt._pylupnt.SatelliteOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

[N x 64] own 8x8 covariance (row-major)

own_estimate(self: pylupnt._pylupnt.SatelliteOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

[N x 8] own onboard estimate

sat_name(self: pylupnt._pylupnt.SatelliteOdtsApp) str

Host satellite agent name

set_frequency(self: pylupnt._pylupnt.Application, frequency: SupportsFloat | SupportsIndex) None

Set the Step() call frequency [Hz] used by setup() to schedule steps

set_name(self: pylupnt._pylupnt.Application, name: str) None

Set this application’s name

setup(self: pylupnt._pylupnt.Application) None

Base Setup: schedules Step() at get_frequency() Hz. Call via super().setup() from a Python subclass to keep that scheduling.

time_grid(self: pylupnt._pylupnt.SatelliteOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Sim-relative epoch grid [s], size N

truth_state(self: pylupnt._pylupnt.SatelliteOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

[N x 8] own truth [r,v,cb,cd]