62 lines
1.7 KiB
C
62 lines
1.7 KiB
C
|
/**
|
||
|
* @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
|