Class slamcore::TrajectorySubsystemInterface

class slamcore::TrajectorySubsystemInterface : public SubsystemInterface

Subsystem for accessing trajectories.

A common way of using this subsystem would be as follows:

// Get subsystem from the SLAM system
const auto subsystem = slam->getSubsystem<slamcore::TrajectorySubsystemInterface>();

// Fetch most recent trajectories

// You can retrieve some data
const auto unoptimisedTrajectory = subsystem->getUnoptimisedTrajectory();
const auto optimisedTrajectory = subsystem->getOptimisedTrajectory();
const auto trackingStatus = subsystem->getTrackingStatus();

// Or you can write the trajectories as csv files to an output directory


There are some positioning modes where the optimised trajectory is not produced. In these cases, getOptimisedTrajectory will return nullptr.


Not thread safe.

Public Types

using Ptr = std::shared_ptr<TrajectorySubsystemInterface>
using CPtr = std::shared_ptr<const TrajectorySubsystemInterface>

Public Functions

inline virtual SubsystemType type() const

Type of the object.

virtual ~TrajectorySubsystemInterface() = default
template<typename _Rep = int64_t, typename _Period = std::ratio<1>>
inline bool fetch(const std::chrono::duration<_Rep, _Period> &timeout = std::chrono::seconds(0))

Update the internal state with the most recent data.

virtual std::shared_ptr<const PoseListInterface<camera_clock>> getUnoptimisedTrajectory() const = 0

Get Unoptimised Trajectory.

virtual std::shared_ptr<const TrackingStatusListInterface> getTrackingStatus() const = 0

Get Tracking Status.

virtual std::shared_ptr<const PoseListInterface<camera_clock>> getOptimisedTrajectory() const = 0

Get Optimised Trajectory.


For some positioning modes this can return nullptr

virtual TrajectoryPaths write(const std::string &outputDirectory) const = 0

Write trajectories as csv files in given output directory.

Public Static Attributes

static constexpr SubsystemType Type = SubsystemType::Trajectory
struct TrajectoryPaths

Public Members

std::string UnoptimisedTrajectory
std::string OptimisedTrajectory