Class LandmarkMap
Defined in File landmark_map.hpp
Class Documentation
-
class LandmarkMap
Basic 3D landmark map datatype.
Public Types
-
using landmarks_set_position_data = std::vector<LandmarkPositionDetection>
Vector of landmarks.
-
using world_pose_type = Sophus::SE3d
Type used to represent poses in the world frame.
Public Functions
-
inline LandmarkMap(const LandmarkMapBoundaries &boundaries, landmarks_set_position_data landmarks)
Constructor.
- Parameters:
boundaries – Limits of the map.
landmarks – List of landmarks that can be expected to be detected.
-
inline LandmarkMapBoundaries map_limits() const
Returns the map boundaries.
- Returns:
The map boundaries.
-
inline std::optional<LandmarkPosition3> find_nearest_landmark(const LandmarkPosition3 &detection_position_in_world, const LandmarkCategory &detection_category) const
Finds the nearest landmark to a given detection and returns it’s data.
- Parameters:
detection_position_in_world – The detection data.
detection_category – The category of the detection.
- Returns:
The landmark data. nullopt if no landmark was found.
-
inline std::optional<LandmarkBearing3> find_closest_bearing_landmark(const LandmarkBearing3 &detection_bearing_in_sensor, const LandmarkCategory &detection_category, const world_pose_type &sensor_pose_in_world) const
Finds the landmark that minimizes the bearing error to a given detection and returns its data.
- Parameters:
detection_bearing_in_sensor – The detection data.
detection_category – The category of the detection.
sensor_pose_in_world – The pose of the sensor in the world frame.
- Returns:
The landmark data. nullopt if no landmark was found.
-
using landmarks_set_position_data = std::vector<LandmarkPositionDetection>