Class StationBeaconSensor¶
Defined in File station_beacon_sensor.h
Inheritance Relationships¶
Base Type¶
public lupnt::Application(Class Application)
Class Documentation¶
-
class StationBeaconSensor : public lupnt::Application¶
Ground-tracking sensor, hosted on a physical
SurfaceStationagent.Each epoch it synthesizes the one-way pseudorange (and optional Doppler) to every visible satellite from the satellites’ truth and its own fixed lunar-surface position, then pushes those observations to the
GroundOdtsAppestimator on theSurfaceStationManager(manager_->AddMeasurement(...)). This is the ISL-scenario analog of the ground-station example’sGroundStationTrackingApp: the sensor knows the truth (it is the hardware that observes the physical world); the estimator it feeds does not.Public Functions
-
StationBeaconSensor() = default¶
-
virtual void Setup() override¶
Initialize the application and schedule its periodic Step() calls.
Base implementation: if GetFrequency() > 0, schedules
Step(t)on the owning agent’s Simulation at Event::Priority::APPLICATION, starting at t=0 with period 1/GetFrequency() seconds; otherwise logs a warning that no frequency is set. Derived classes (e.g. LanderNavApp::Setup, SurfaceStationApp::Setup) override this to additionally initialize their Filter’s time/state/covariance and dynamics/process noise callbacks before (optionally) calling the base behavior.
-
virtual void Step(Real t) override¶
Run one simulation step of this application’s mission logic at time
t.Pure virtual: derived classes implement the actual filter predict/update cycle here (e.g. LanderNavApp::Step computes a control input and logs state; the LNSS application’s Step would run the GNSS measurement-update). Invoked periodically by the Simulation event scheduled in Setup(), at the application’s configured frequency.
- Parameters:
t – Current simulation time [s, since simulation epoch]
-
inline virtual void Log(Real) override¶
Log this application’s current state/diagnostics to the DataLogger.
Base implementation only emits a debug message. Called once after Setup() and thereafter from Agent::Log(t) (which forwards to
application_->Log(time)each time the owning agent logs). Derived classes (e.g. LanderNavApp::Log) override this to additionally log their Filter’s state/covariance and any error metrics.- Parameters:
t – Current simulation time [s, since simulation epoch]
Protected Functions
-
void Initialize()¶
Protected Attributes
-
std::string manager_name_¶
-
std::vector<std::string> sat_names_¶
-
double lat_deg_ = 0.0¶
-
double lon_deg_ = 0.0¶
-
double alt_m_ = 0.0¶
-
double elevation_mask_deg_ = 5.0¶
-
double pseudorange_sigma_m_ = 1.0¶
-
bool include_doppler_ = true¶
-
double doppler_sigma_mps_ = 1.0e-3¶
-
int seed_ = 42¶
-
bool initialized_ = false¶
-
GroundOdtsApp *manager_ = nullptr¶
-
std::vector<Spacecraft*> sats_¶
-
std::vector<int> sat_index_¶
-
std::mt19937 rng_¶
-
StationBeaconSensor() = default¶