gtsam 4.2
gtsam
Loading...
Searching...
No Matches
SolverComparer.cpp File Reference

Incremental and batch solving, timing, and accuracy comparisons. More...

Typedefs

typedef Pose2 Pose
typedef NoiseModelFactorN< Pose > NM1
typedef NoiseModelFactorN< Pose, Pose > NM2
typedef BearingRangeFactor< Pose, Point2BR

Functions

double chi2_red (const gtsam::NonlinearFactorGraph &graph, const gtsam::Values &config)
void runIncremental ()
void runBatch ()
void runCompare ()
void runPerturb ()
void runStats ()
int main (int argc, char *argv[])

Variables

string outputFile
string inputFile
string datasetName
int firstStep
int lastStep
int nThreads
int relinSkip
bool incremental
bool dogleg
bool batch
bool compare
bool perturb
bool stats
double perturbationNoise
string compareFile1
string compareFile2
Values initial
NonlinearFactorGraph datasetMeasurements

Detailed Description

Incremental and batch solving, timing, and accuracy comparisons.

Author
Richard Roberts
Date
August, 2013

Here is an example. Below, to run in batch mode, we first generate an initialization in incremental mode.

Solve in incremental and write to file w_inc: ./SolverComparer –incremental -d w10000 -o w_inc

You can then perturb that initialization to get batch something to optimize. Read in w_inc, perturb it with noise of stddev 0.6, and write to w_pert: ./SolverComparer –perturb 0.6 -i w_inc -o w_pert

Then optimize with batch, read in w_pert, solve in batch, and write to w_batch: ./SolverComparer –batch -d w10000 -i w_pert -o w_batch

And finally compare solutions in w_inc and w_batch to check that batch converged to the global minimum ./SolverComparer –compare w_inc w_batch