Class SlamEngine

Class Documentation

class SlamEngine

SLAM engine for processing sensor data using specified backend.

This class provides an interface for running SLAM (Simultaneous Localization and Mapping) algorithms on lidar and other sensor data.

See also

LidarFrame

See also

SlamConfig

Note

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

Public Functions

virtual ~SlamEngine() = default

Destructor for SlamEngine.

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

Let SlamEngine process LidarFrames 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.

virtual ouster::sdk::core::PointCloudXYZf get_point_cloud() const = 0

Retrieves the current point cloud from the SLAM engine.

This method returns a point cloud representation as a PointCloudXYZf object, which contains the latest set of 3D points generated by the SLAM engine.

Returns:

A PointCloudXYZf object containing the current point cloud data.

Public Static Functions

static std::unique_ptr<SlamEngine> create(const std::vector<std::shared_ptr<ouster::sdk::core::SensorInfo>> &infos, const LIOSlamConfig &config = LIOSlamConfig{})

Constructs the SlamEngine, using a default config.

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

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

Returns:

A unique pointer to the created SlamEngine instance.