MRPT  2.0.2
observations_overlap.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 #pragma once
10 
11 #include <mrpt/obs/CSensoryFrame.h>
12 #include <mrpt/obs/obs_frwds.h>
13 
14 namespace mrpt::slam
15 {
16 /** \addtogroup mrpt_slam_grp
17  * @{ */
18 
19 /** @name Observations overlap functions
20  @{ */
21 
22 /** Estimates the "overlap" or "matching ratio" of two observations (range
23  * [0,1]), possibly taking into account their relative positions.
24  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
25  */
26 double observationsOverlap(
28  const mrpt::poses::CPose3D* pose_o2_wrt_o1 = nullptr);
29 
30 /** Estimates the "overlap" or "matching ratio" of two observations (range
31  * [0,1]), possibly taking into account their relative positions.
32  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
33  */
34 inline double observationsOverlap(
37  const mrpt::poses::CPose3D* pose_o2_wrt_o1 = nullptr)
38 {
39  return observationsOverlap(o1.get(), o2.get(), pose_o2_wrt_o1);
40 }
41 
42 /** Estimates the "overlap" or "matching ratio" of two set of observations
43  * (range [0,1]), possibly taking into account their relative positions.
44  * This method computes the average between each of the observations in each
45  * SF.
46  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
47  */
48 double observationsOverlap(
50  const mrpt::poses::CPose3D* pose_sf2_wrt_sf1 = nullptr);
51 
52 /** Estimates the "overlap" or "matching ratio" of two set of observations
53  * (range [0,1]), possibly taking into account their relative positions.
54  * This method computes the average between each of the observations in each
55  * SF.
56  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
57  */
58 inline double observationsOverlap(
61  const mrpt::poses::CPose3D* pose_sf2_wrt_sf1 = nullptr)
62 {
63  return observationsOverlap(*sf1.get(), *sf2.get(), pose_sf2_wrt_sf1);
64 }
65 
66 /** @} */
67 
68 /** @} */ // end grouping
69 
70 } // namespace mrpt::slam
double observationsOverlap(const mrpt::obs::CObservation *o1, const mrpt::obs::CObservation *o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=nullptr)
Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into a...
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: CSensoryFrame.h:51
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:85
Declares a class that represents any robot&#39;s observation.
Definition: CObservation.h:43



Page generated by Doxygen 1.8.14 for MRPT 2.0.2 Git: 9b4fd2465 Mon May 4 16:59:08 2020 +0200 at lun may 4 17:26:07 CEST 2020