3dpcp/include/slam6d/graphToro.h

62 lines
1.7 KiB
C
Raw Normal View History

2012-09-16 12:33:11 +00:00
/**
* @file TORO wrapper
* @author Jochen Sprickerhof. Institute of Computer Science, University of Osnabrueck, Germany.
*/
#ifndef __GRAPH_TORO_H__
#define __GRAPH_TORO_H__
#include "graphSlam6D.h"
class graphToro : public graphSlam6D {
public:
/**
* Constructor (default)
*/
graphToro() {};
/**
* Constructor
*
* @param my_icp6Dminimizer Pointer to ICP minimization functor
* @param mdm Maximum PtoP distance to which point pairs are collected for ICP
* @param max_dist_match Maximum PtoP distance to which point pairs are collected for LUM
* @param max_num_iterations Maximal number of iterations for ICP
* @param quiet Suspesses all output to std out
* @param meta Indicates if metascan matching has to be used
* @param rnd Indicates if randomization has to be used
* @param eP Extrapolate odometry?
* @param anim Animate which frames?
* @param epsilonICP Termination criterion for ICP
* @param nns_method Which nearest neigbor search method shall we use
* @param epsilonLUM Termination criterion for LUM
*/
graphToro(icp6Dminimizer *my_icp6Dminimizer,
double mdm = 25.0,
double max_dist_match = 25.0,
int max_num_iterations = 50,
bool quiet = false,
bool meta = false,
int rnd = 1,
bool eP = true,
int anim = -1,
double epsilonICP = 0.0000001,
int nns_method = simpleKD,
double epsilonLUM = 0.5)
: graphSlam6D(my_icp6Dminimizer,
mdm, max_dist_match,
max_num_iterations, quiet, meta, rnd,
eP, anim, epsilonICP, nns_method, epsilonLUM)
{ }
virtual ~graphToro()
{
delete my_icp;
}
double doGraphSlam6D(Graph gr, vector <Scan*> MetaScan, int nrIt);
};
#endif