Class CLandmarksMap

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public mrpt::maps::CMetricMap

Class Documentation

class CLandmarksMap : public mrpt::maps::CMetricMap

A minimal landmarks map: a container of CLandmark objects.

This is a simplified version for MRPT v3.0, retaining only the functionality needed and removing the computer vision part.

Public Types

using landmark_type = CLandmark

Public Functions

CLandmarksMap() = default
void simulateRangeBearingReadings(const mrpt::poses::CPose3D &robotPose, const mrpt::poses::CPose3D &sensorOnRobot, mrpt::obs::CObservationBearingRange &obs, bool sensorDistinguishesLandmarks = true, double sigmaRange = 0, double sigmaYaw = 0, double sigmaPitch = 0, std::vector<size_t> *out_indices = nullptr, double spuriousMean = 0, double spuriousStd = 0) const

Simulate a range-bearing sensor observation from this landmark map.

Parameters:
  • robotPose[in] Global pose of the robot.

  • sensorOnRobot[in] Pose of the sensor relative to the robot.

  • obs[out] Output observation (sensedData will be filled). obs.fieldOfView_yaw, maxSensorDistance, minSensorDistance must be set by the caller.

  • sensorDistinguishesLandmarks[in] If true, each observation has the actual landmark ID; if false, they are all set to -1.

  • sigmaRange[in] Noise standard deviation for range (meters).

  • sigmaYaw[in] Noise standard deviation for yaw (radians).

  • sigmaPitch[in] Noise standard deviation for pitch (radians, use 0 for 2D).

  • out_indices[out] If non-null, stores the GT landmark index for each observation; spurious detections get index std::string::npos.

  • spuriousMean[in] Mean number of spurious detections.

  • spuriousStd[in] Std of the number of spurious detections.

inline size_t size() const
inline bool isEmpty() const override
inline std::string asString() const override
inline void getVisualizationInto(mrpt::viz::CSetOfObjects&) const override
inline void saveMetricMapRepresentationToFile(const std::string&) const override

Public Members

TLandmarksList landmarks

Protected Functions

inline void internal_clear() override
inline bool internal_insertObservation(const mrpt::obs::CObservation&, const std::optional<const mrpt::poses::CPose3D>&) override
inline double internal_computeObservationLikelihood(const mrpt::obs::CObservation&, const mrpt::poses::CPose3D&) const override
inline bool internal_canComputeObservationLikelihood(const mrpt::obs::CObservation&) const override
struct TLandmarksList

Inner container with helper accessors.

Public Functions

inline void push_back(const CLandmark &lm)
inline CLandmark *get(size_t idx)
inline const CLandmark *get(size_t idx) const
inline const CLandmark *getByBeaconID(int64_t beaconID) const

Find by beacon ID (returns nullptr if not found).

inline size_t size() const
inline void clear()
inline auto begin()
inline auto end()
inline auto begin() const
inline auto end() const

Public Members

std::deque<CLandmark> m_landmarks