class mola::LidarOdometry

Overview

A front-end for Lidar/point-cloud odometry & SLAM. More…

#include <LidarOdometry.h>

class LidarOdometry: public mola::FrontEndBase
{
public:
    // typedefs

    typedef std::size_t topological_dist_t;

    // enums

    enum AlignKind;

    // structs

    struct ICP_Input;
    struct ICP_Output;
    struct MethodState;
    struct Parameters;

    // fields

    Parameters params_;

    // methods

    virtual void initialize(const Yaml& cfg);
    virtual void spinOnce();
    virtual void onNewObservation(CObservation::Ptr& o);
    void reset();

    void run_one_icp(
        const ICP_Input& in,
        ICP_Output& out
        );

    const MethodState& state() const;
    MethodState stateCopy() const;
};

Inherited Members

public:
    // methods

    virtual void onNewObservation(CObservation::Ptr& o) = 0;
    virtual void initialize_common(const Yaml& cfg);

Detailed Documentation

A front-end for Lidar/point-cloud odometry & SLAM.

Fields

Parameters params_

Algorithm parameters

Methods

virtual void initialize(const Yaml& cfg)

This should be reimplemented to read all the required parameters

virtual void onNewObservation(CObservation::Ptr& o)

To be called whenever a new observation arrives. It should return as fast as possible, enqueuing the data for processing in another thread.

void reset()

Re-initializes the front-end