LikelihoodFieldModelBase< OccupancyGrid > Class Template Reference

LikelihoodFieldModelBase&lt; OccupancyGrid &gt; Class Template Reference#

Beluga: beluga::LikelihoodFieldModelBase< OccupancyGrid > Class Template Reference
Beluga
beluga::LikelihoodFieldModelBase< OccupancyGrid > Class Template Reference

Likelihood field common sensor model for range finders. More...

#include <likelihood_field_model_base.hpp>

Inheritance diagram for beluga::LikelihoodFieldModelBase< OccupancyGrid >:
[legend]
Collaboration diagram for beluga::LikelihoodFieldModelBase< OccupancyGrid >:
[legend]

Public Types

using map_type = OccupancyGrid
 Map representation type.
 
using param_type = LikelihoodFieldModelBaseParam
 Parameter type that the constructor uses to configure the likelihood field model.
 

Public Member Functions

 LikelihoodFieldModelBase (const param_type &params, const map_type &grid)
 Constructs a LikelihoodFieldCommonModel instance. More...
 
const auto & likelihood_field () const
 Returns the likelihood field, constructed from the provided map.
 
void update_map (const map_type &grid)
 Update the sensor model with a new occupancy grid map. More...
 

Static Protected Member Functions

static ValueGrid2< float > make_likelihood_field (const param_type &params, const OccupancyGrid &grid)
 Creates a likelihood field from an occupancy grid. More...
 

Protected Attributes

param_type params_
 
ValueGrid2< float > likelihood_field_
 
Sophus::SE2d world_to_likelihood_field_transform_
 

Detailed Description

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

Likelihood field common sensor model for range finders.

This model relies on a pre-computed likelihood map of the environment. It is less computationally intensive than the beluga::BeamSensorModel because no ray-tracing is required, and it can also provide better performance in environments with non-smooth occupation maps. See Probabilistic Robotics [5], Chapter 6.4, for further reference.

Note
This class satisfies Beluga named requirements: SensorModel.
Template Parameters
OccupancyGridType representing an occupancy grid. It must satisfy Beluga named requirements: OccupancyGrid2d.

Constructor & Destructor Documentation

◆ LikelihoodFieldModelBase()

template<class OccupancyGrid >
beluga::LikelihoodFieldModelBase< OccupancyGrid >::LikelihoodFieldModelBase ( const param_type params,
const map_type grid 
)
inlineexplicit

Constructs a LikelihoodFieldCommonModel instance.

Parameters
paramsParameters to configure this instance. See beluga::LikelihoodFieldModelBase for details.
gridOccupancy 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.

Member Function Documentation

◆ make_likelihood_field()

template<class OccupancyGrid >
static ValueGrid2<float> beluga::LikelihoodFieldModelBase< OccupancyGrid >::make_likelihood_field ( const param_type params,
const OccupancyGrid &  grid 
)
inlinestaticprotected

Creates a likelihood field from an occupancy grid.

Parameters
paramsParameters to configure the likelihood field.
gridOccupancy grid representing the static map.
Returns
Likelihood field computed from the occupancy grid.

Pre-computed variables

◆ update_map()

template<class OccupancyGrid >
void beluga::LikelihoodFieldModelBase< OccupancyGrid >::update_map ( const map_type grid)
inline

Update the sensor model with a new occupancy grid map.

This method re-computes the underlying likelihood field.

Parameters
gridNew occupancy grid representing the static map.

Member Data Documentation

◆ likelihood_field_

template<class OccupancyGrid >
ValueGrid2<float> beluga::LikelihoodFieldModelBase< OccupancyGrid >::likelihood_field_
protected

Likelihood field computed from the occupancy grid map.

◆ params_

template<class OccupancyGrid >
param_type beluga::LikelihoodFieldModelBase< OccupancyGrid >::params_
protected

Parameters configuring the likelihood field model.

◆ world_to_likelihood_field_transform_

template<class OccupancyGrid >
Sophus::SE2d beluga::LikelihoodFieldModelBase< OccupancyGrid >::world_to_likelihood_field_transform_
protected

Transformation from world coordinates to the likelihood field coordinate system.


The documentation for this class was generated from the following file: