Main MRPT website > C++ reference for MRPT 1.4.0
graphslam/include/mrpt/graphslam/types.h
Go to the documentation of this file.
1/* +---------------------------------------------------------------------------+
2 | Mobile Robot Programming Toolkit (MRPT) |
3 | http://www.mrpt.org/ |
4 | |
5 | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6 | See: http://www.mrpt.org/Authors - All rights reserved. |
7 | Released under BSD License. See details in http://www.mrpt.org/License |
8 +---------------------------------------------------------------------------+ */
9#ifndef GRAPH_SLAM_TYPES_H
10#define GRAPH_SLAM_TYPES_H
11
14
15namespace mrpt
16{
17 /** SLAM methods related to graphs of pose constraints
18 * \sa mrpt::graphs::CNetworkOfPoses \ingroup mrpt_graphslam_grp
19 */
20 namespace graphslam
21 {
22 /** \addtogroup mrpt_graphslam_grp
23 * @{ */
24
25 /** Auxiliary traits template for use among graph-slam problems to make life easier with these complicated, long data type names
26 * \tparam GRAPH_T This will typically be any mrpt::graphs::CNetworkOfPoses<...>
27 */
28 template <class GRAPH_T>
30 {
31 typedef GRAPH_T graph_t; //!< Typ: mrpt::graphs::CNetworkOfPoses<...>
32 typedef typename graph_t::edges_map_t::const_iterator edge_const_iterator;
33 typedef typename graph_t::constraint_t edge_t;
34 typedef typename edge_t::type_value edge_poses_type;
35 typedef mrpt::poses::SE_traits<edge_poses_type::rotation_dimensions> SE_TYPE;
36 typedef typename SE_TYPE::matrix_VxV_t matrix_VxV_t;
37 typedef typename SE_TYPE::array_t Array_O; // An array of the correct size for an "observation" (i.e. a relative pose in an edge)
38 typedef std::pair<matrix_VxV_t,matrix_VxV_t> TPairJacobs;
39 typedef typename mrpt::aligned_containers<
43
44 /** Auxiliary struct used in graph-slam implementation: It holds the relevant information for each of the constraints being taking into account. */
46 {
48 // Data:
50 const typename gst::graph_t::constraint_t::type_value *edge_mean;
51 typename gst::graph_t::constraint_t::type_value *P1,*P2;
52 };
53
54 typedef void (*TFunctorFeedback)(const GRAPH_T &graph, const size_t iter, const size_t max_iter, const double cur_sq_error );
55 };
56
57 /** Output information for mrpt::graphslam::optimize_graph_spa_levmarq() */
59 {
60 size_t num_iters; //!< The number of LM iterations executed.
61 double final_total_sq_error; //!< The sum of all the squared errors for every constraint involved in the problem.
62 };
63
64 /** @} */ // end of grouping
65
66 } // End of namespace
67} // End of namespace
68
69#endif
std::pair< TNodeID, TNodeID > TPairNodeIDs
A pair of node IDs.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Helper types for STL containers with Eigen memory allocators.
Output information for mrpt::graphslam::optimize_graph_spa_levmarq()
double final_total_sq_error
The sum of all the squared errors for every constraint involved in the problem.
size_t num_iters
The number of LM iterations executed.
Auxiliary struct used in graph-slam implementation: It holds the relevant information for each of the...
Auxiliary traits template for use among graph-slam problems to make life easier with these complicate...
void(* TFunctorFeedback)(const GRAPH_T &graph, const size_t iter, const size_t max_iter, const double cur_sq_error)
mrpt::poses::SE_traits< edge_poses_type::rotation_dimensions > SE_TYPE
std::pair< matrix_VxV_t, matrix_VxV_t > TPairJacobs
GRAPH_T graph_t
Typ: mrpt::graphs::CNetworkOfPoses<...>
graph_t::edges_map_t::const_iterator edge_const_iterator
mrpt::aligned_containers< mrpt::utils::TPairNodeIDs, TPairJacobs >::multimap_t map_pairIDs_pairJacobs_t



Page generated by Doxygen 1.9.7 for MRPT 1.4.0 SVN: at Tue Jun 13 13:45:58 UTC 2023