Template Class BearingSensorModel
Defined in File bearing_sensor_model.hpp
Class Documentation
-
template<class LandmarkMap, class StateType>
class BearingSensorModel Generic bearing sensor model, for both 2D and 3D state types.
The model only relies on the bearing of a landmark detection relative to the sensor when calculating the updated importance weight. This can be used to support bearing-only measurements, such as feature detections in monocular images.
Note
This class satisfies Beluga named requirements: SensorModel.
- Template Parameters:
LandmarkMap – class managing the list of known landmarks.
StateType – type of the state of the particle.
Public Types
-
using weight_type = double
Weight type of the particle.
-
using measurement_type = std::vector<LandmarkBearingDetection>
Measurement type of the sensor: vector of landmark detections.
-
using map_type = LandmarkMap
Map representation type.
-
using param_type = BearingModelParam
Parameter type that the constructor uses to configure the bearing sensor model.
Public Functions
-
template<class ...Args>
inline explicit BearingSensorModel(param_type params, LandmarkMap landmark_map) Constructs a BearingSensorModel instance.
- Parameters:
params – Parameters to configure this instance. See beluga::BearingModelParam for details.
landmark_map – Map of landmarks to be used by the sensor model to compute importance weights for particle states.
-
inline auto operator()(measurement_type &&detections) const
Returns a state weighting function conditioned on landmark bearing detections.
- Parameters:
detections – Landmark bearing detections in the reference frame of particle states.
- Returns:
a state weighting function satisfying Beluga named requirements: StateWeightingFunction and borrowing a reference to this sensor model (and thus their lifetime are bound).