class mola::ParisLucoDataset
Overview
RawDataSource from Paris Luco Dataset.
Dataset available from: https://github.com/jedeschaud/ct_icp
The LiDAR sensor is a HDL-32, recording data at the Luxembourg Garden (Paris).
Point clouds are published as mrpt::obs::CObservationPointCloud with clouds of types mrpt::maps::CPointsMapXYZIRT, with these populated fields:
XYZ
I
: Intensity, range [0.0 - 1.0?]T
: Time of each point, in range [-0.05, 0.05] seconds (scan rate=10 Hz), such that “t=0” (the observation/scan timestamp) corresponds to the moment the scanner is facing forward.R
: ring_id (0-31). It was not provided by the original dataset, but it is reconstructed from point elevation data in this package.
Expected contents under base_dir
directory:
Example base_dir
: /mnt/storage/ParisLuco/
Sequence: 00
(this dataset only has one sequence?)
ParisLuco └── 00 ├── frames │ ├── frame_00000.ply │ ├── frame_00001.ply │ ... └── gt_traj_lidar.txt ...
#include <ParisLucoDataset.h> class ParisLucoDataset: public mola::RawDataSourceBase, public mola::OfflineDatasetSource, public mola::Dataset_UI { public: // methods virtual void spinOnce(); virtual bool hasGroundTruthTrajectory() const; virtual trajectory_t getGroundTruthTrajectory() const; virtual size_t datasetSize() const; virtual mrpt::obs::CSensoryFrame::Ptr datasetGetObservations(size_t timestep) const; virtual size_t datasetUI_size() const; virtual size_t datasetUI_lastQueriedTimestep() const; virtual double datasetUI_playback_speed() const; virtual void datasetUI_playback_speed(double speed); virtual bool datasetUI_paused() const; virtual void datasetUI_paused(bool paused); virtual void datasetUI_teleport(size_t timestep); };
Inherited Members
public: // structs struct SensorViewerImpl; // methods virtual void initialize(const Yaml& cfg) = 0; virtual size_t datasetSize() const = 0; virtual mrpt::obs::CSensoryFrame::Ptr datasetGetObservations(size_t timestep) const = 0; virtual bool hasGroundTruthTrajectory() const; virtual trajectory_t getGroundTruthTrajectory() const; virtual size_t datasetUI_size() const = 0; virtual size_t datasetUI_lastQueriedTimestep() const = 0; virtual double datasetUI_playback_speed() const = 0; virtual void datasetUI_playback_speed(double speed) = 0; virtual bool datasetUI_paused() const = 0; virtual void datasetUI_paused(bool paused) = 0; virtual void datasetUI_teleport(size_t timestep) = 0;
Methods
virtual void spinOnce()
Runs any required action on a timely manner
virtual bool hasGroundTruthTrajectory() const
Returns true if a groundtruth is available for the vehicle trajectory.
See also:
virtual trajectory_t getGroundTruthTrajectory() const
If hasGroundTruthTrajectory() returns true, this returns the dataset groundtruth for the vehicle trajectory.
Note that timestamps for datasets are not wall-clock time (“now”), but old timestamps of when original observations were grabbed.
See also:
virtual size_t datasetSize() const
Number of different time steps available to call getObservations()
virtual mrpt::obs::CSensoryFrame::Ptr datasetGetObservations(size_t timestep) const
Returns the set of observations available for the given time step.
virtual size_t datasetUI_size() const
Number of different time steps available to call getObservations()
virtual size_t datasetUI_lastQueriedTimestep() const
Returns the latest requested observation, range [0, datasetSize()]
virtual void datasetUI_teleport(size_t timestep)
Forces continue replaying in this moment in time