Template Class PoseSensorModel

Class Documentation

template<class StateType>
class PoseSensorModel

Generic pose sensor model for absolute pose measurements (both 2D and 3D).

Computes particle importance weights from an absolute pose measurement (e.g. from GPS or visual localization) using a Mahalanobis-distance Gaussian likelihood.

This model requires no map. The measurement covariance must be positive-definite.

Note

This class satisfies Beluga named requirements: SensorModel.

Template Parameters:

StateType – Type of the particle state. Must be Sophus::SE2d or Sophus::SE3d.

Public Types

using state_type = StateType

State type of a particle.

using weight_type = double

Weight type of the particle.

using measurement_type = std::conditional_t<std::is_same_v<state_type, Sophus::SE2d>, PoseMeasurement2d, PoseMeasurement3d>

Measurement type of the sensor (selected based on state dimensionality).

using param_type = PoseSensorModelParam

Parameter type used to configure this instance.

Public Functions

inline explicit PoseSensorModel(param_type params)

Constructs a PoseSensorModel instance.

Parameters:

params – Parameters to configure this instance. See beluga::PoseSensorModelParam for details.

inline std::function<weight_type(const state_type&)> operator()(measurement_type &&measurement) const

Returns a state weighting function conditioned on an absolute pose measurement.

Parameters:

measurement – Absolute pose measurement including covariance.

Returns:

a state weighting function satisfying Beluga named requirements: StateWeightingFunction