Struct LanderAltimeterMeasurement

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Struct Documentation

struct LanderAltimeterMeasurement : public lupnt::ErrorStateMeasurement

One radar/laser altimeter return: the vehicle’s height above the terrain directly below it (nadir), i.e. altitude = U_vehicle - terrain(East, North).

Modelled as a vertical altitude measurement (small-tilt / nadir-beam assumption). The measurement Jacobian couples to position through the local East-North-Up rotation and the terrain slope (dterrain/dE, dterrain/dN); because those depend on the DEM they are supplied by the simulation, which drives the update through LanderNavApp::UpdateAltimeter.

Public Functions

inline double NoiseVariance() const

Measurement noise variance sigma_m^2 [m^2].

virtual MeasData Compute(const NavErrorContext &nom, MatXd *H = nullptr) const override

Error-state model: predicted altitude, R, and (if H != nullptr) the 1 x error_state_size Jacobian (h_pos^T at the position error).

Public Members

double timestamp = 0.0

measurement epoch [s].

double altitude_m = 0.0

measured height above terrain [m].

double sigma_m = 2.0

altimeter noise 1-sigma [m].

double predicted_altitude_m = 0.0

DEM-predicted altitude at nominal position [m].

Predicted altitude at the nominal position and the position partial d(altitude)/d(r) are DEM-dependent, so they are supplied by the simulation before the update.

Vec3d h_pos = Vec3d::Zero()

d(altitude)/d(r), Moon-fixed frame (DEM slope).

Config config

error-state index mapping.

struct Config

Error-state mapping for the altimeter model.

Public Members

int i_dr = 0

position-error offset in the error state