Class SlamBackend

Class Documentation

class SlamBackend

Abstract base class for SLAM backend.

The SlamBackend class provides an interface for processing LidarScans, estimating poses, and generating point clouds using simultaneous localization and mapping (SLAM) techniques. Implementations of this class are responsible for processing incoming lidar data, retrieving the latest estimated pose, and providing the current point cloud.

See also

LidarScan

See also

SlamConfig

See also

SlamEngine

Note

This class is intended to be subclassed; all core methods are pure virtual and must be implemented by derived classes.

Public Functions

inline SlamBackend(const std::vector<std::shared_ptr<ouster::sdk::core::SensorInfo>> &infos, const SlamConfig &config)

Constructs the SlamBackend.

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

  • config[in] – The SlamConfig object containing configuration parameters for the SLAM algorithm.

virtual ~SlamBackend() = default

SlamBackend destructor.

virtual void update(ouster::sdk::core::LidarScanSet &scans) = 0

Let SlamBackend process LidarScans to estimate the new state (pose).

This function processes a set of LidarScans provided as vector of shared pointers of LidarScan, The backend returns these LidarScans with their per-column pose corrected.

Parameters:

scans[inout] – A vector of shared pointers to LidarScan objects to be processed.

virtual core::PointCloudXYZf get_point_cloud() const = 0

Retrieves the current point cloud from the SLAM backend.

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

Returns:

A PointCloudXYZf object containing the current point cloud data.