13 #include <gtest/gtest.h>    23 template <
class my_graph_t>
    38                 const my_graph_t  graph_initial = graph;
    46                 params[
"max_iterations"] = 1000;
    73                         my_graph_t read_graph;
    77                         EXPECT_EQ( read_graph.edges.size(), graph.edges.size() );
    78                         EXPECT_EQ( read_graph.nodes.size(), graph.nodes.size() );
    82                         for (it1=read_graph.edges.begin(), it2=graph.edges.begin(); it1!=read_graph.edges.end(); ++it1, ++it2)
    84                                 EXPECT_EQ(it1->first, it2->first);
    85                                 EXPECT_NEAR(0, (it1->second.getPoseMean().getAsVectorVal() - it2->second.getPoseMean().getAsVectorVal() ).array().abs().sum(), 1e-9 );
    98         for (
int seed=1;seed<5;seed++)
   107         test_graph_bin_serialization();
   112         for (
int seed=1;seed<5;seed++)
   121         test_graph_bin_serialization();
 A namespace of pseudo-random numbers genrators of diferent distributions. 
 
void optimize_graph_spa_levmarq(GRAPH_T &graph, TResultInfoSpaLevMarq &out_info, const std::set< mrpt::utils::TNodeID > *in_nodes_to_optimize=NULL, const mrpt::utils::TParametersDouble &extra_params=mrpt::utils::TParametersDouble(), typename graphslam_traits< GRAPH_T >::TFunctorFeedback functor_feedback=NULL)
Optimize a graph of pose constraints using the Sparse Pose Adjustment (SPA) sparse representation and...
 
void test_graph_bin_serialization()
 
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. 
 
Abstract graph and tree data structures, plus generic graph algorithms. 
 
BASE_IMPEXP CRandomGenerator randomGenerator
A static instance of a CRandomGenerator class, for use in single-thread applications. 
 
void randomize(const uint32_t seed)
Initialize the PRNG from the given random seed. 
 
size_t num_iters
The number of LM iterations executed. 
 
const Scalar * const_iterator
 
TEST_F(GraphSlamLevMarqTester2D, OptimizeSampleRingPath)
 
This base provides a set of functions for maths stuff. 
 
This CStream derived class allow using a memory buffer as a CStream. 
 
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
Output information for mrpt::graphslam::optimize_graph_spa_levmarq() 
 
uint64_t Seek(int64_t Offset, CStream::TSeekOrigin Origin=sFromBeginning) MRPT_OVERRIDE
Introduces a pure virtual method for moving to a specified position in the streamed resource...
 
static void create_ring_path(my_graph_t &graph, size_t N_VERTEX=50, double DIST_THRES=7, double NODES_XY_MAX=20)
 
GraphSlamLevMarqTester< CNetworkOfPoses2D > GraphSlamLevMarqTester2D
 
GLenum const GLfloat * params
 
GraphSlamLevMarqTester< CNetworkOfPoses3D > GraphSlamLevMarqTester3D
 
double final_total_sq_error
The sum of all the squared errors for every constraint involved in the problem.