Class LocalizationEngine

Class Documentation

class LocalizationEngine

Engine for performing localization using LidarFrames and a pre-computed map.

The LocalizationEngine class provides functionality to estimate the pose of a sensor by processing LiDAR frames and matching them against a world map. It supports initialization with either a map file or a preloaded map.

See also

LidarFrame

Note

Only the “lio” backend is supported at this time.

Public Functions

virtual ~LocalizationEngine() = default

Destructor for LocalizationEngine.

virtual void update(ouster::sdk::core::FrameSet &frame_set) = 0

Let LocalizationEngine process LidarFrames and rely on current world map to estimate the new state (pose).

This function processes a set of LidarFrames provided as vector of shared pointers of LidarFrame, The engine returns these LidarFrames with their per-column body_to_world transform corrected.

Parameters:

frame_set[inout] A vector of LidarFrame objects to be processed.

Public Static Functions

static std::unique_ptr<LocalizationEngine> create(const std::vector<std::shared_ptr<ouster::sdk::core::SensorInfo>> &infos, const std::string &map_path, const LIOLocalizationConfig &config = LIOLocalizationConfig{})

Constructs the LocalizationEngine with a map file, using a default config.

Parameters:
  • infos[in] A vector of shared pointers to SensorInfo objects.

  • map_path[in] The file path to the pre-computed map.

  • config[in] Configuration parameters. Defaults to LIOLocalizationConfig{}.

Throws:

std::runtime_error – If the map file cannot be loaded.

Returns:

A unique pointer to the created LocalizationEngine instance.

static std::unique_ptr<LocalizationEngine> create(const std::vector<std::shared_ptr<ouster::sdk::core::SensorInfo>> &infos, const Eigen::Ref<const ouster::sdk::core::PointCloudXYZf> map, const LIOLocalizationConfig &config = LIOLocalizationConfig{})

Constructs the LocalizationEngine with a preloaded map, using a default config.

Parameters:
  • infos[in] A vector of shared pointers to SensorInfo objects.

  • map[in] A preloaded point cloud map to be used for localization.

  • config[in] Configuration parameters. Defaults to LIOLocalizationConfig{}.

Returns:

A unique pointer to the created LocalizationEngine instance.