|
gtsam 4.2
gtsam
|
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, Point2 > | BR |
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 |
Incremental and batch solving, timing, and accuracy comparisons.
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