Template Class LikelihoodFieldModel

Inheritance Relationships

Base Type

Class Documentation

template<class OccupancyGrid>
class LikelihoodFieldModel : public beluga::LikelihoodFieldModelBase<OccupancyGrid>

Likelihood field sensor model for range finders.

Constructs a LikelihoodFieldCommonModel instance.

Param params:

Parameters to configure this instance. See beluga::LikelihoodFieldModelBase for details.

Param grid:

Occupancy grid representing the static map that the sensor model uses to compute a likelihood field for lidar hits and compute importance weights for particle states.

Public Types

using state_type = Sophus::SE2d

State type of a particle.

using weight_type = double

Weight type of the particle.

using measurement_type = std::vector<std::pair<double, double>>

Measurement type of the sensor: a point cloud for the range finder.

using map_type = OccupancyGrid

Map representation type.

using param_type = LikelihoodFieldModelParam

Parameter type that the constructor uses to configure the likelihood field model.

Public Functions

inline explicit LikelihoodFieldModel(const param_type &params, const map_type &grid)

Constructs a LikelihoodFieldModel instance.

Constructs a LikelihoodFieldCommonModel instance.

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

  • grid – Occupancy grid representing the static map that the sensor model uses to compute a likelihood field for lidar hits and compute importance weights for particle states.

inline auto operator()(measurement_type &&points) const

Returns a state weighting function conditioned on 2D lidar hits.

Parameters:

points – 2D lidar hit points 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).