dcsam
Factored inference for discrete-continuous smoothing and mapping
|
Unit tests for DCSAM. More...
#include <gtest/gtest.h>
#include <gtsam/base/Testable.h>
#include <gtsam/base/debug.h>
#include <gtsam/discrete/DiscreteFactor.h>
#include <gtsam/discrete/DiscreteMarginals.h>
#include <gtsam/geometry/Pose2.h>
#include <gtsam/inference/BayesNet-inst.h>
#include <gtsam/nonlinear/GaussNewtonOptimizer.h>
#include <gtsam/nonlinear/Symbol.h>
#include <gtsam/sam/BearingRangeFactor.h>
#include <gtsam/slam/BetweenFactor.h>
#include <gtsam/slam/PriorFactor.h>
#include <iomanip>
#include "dcsam/DCContinuousFactor.h"
#include "dcsam/DCDiscreteFactor.h"
#include "dcsam/DCEMFactor.h"
#include "dcsam/DCMaxMixtureFactor.h"
#include "dcsam/DCMixtureFactor.h"
#include "dcsam/DCSAM.h"
#include "dcsam/DiscretePriorFactor.h"
#include "dcsam/SemanticBearingRangeFactor.h"
#include "dcsam/SmartDiscretePriorFactor.h"
Functions | |
TEST (TestSuite, discrete_prior_factor) | |
TEST (TestSuite, smart_discrete_prior_factor) | |
TEST (TestSuite, dcdiscrete_mixture) | |
TEST (TestSuite, dccontinuous_mixture) | |
TEST (TestSuite, simple_mixture_factor) | |
TEST (TestSuite, simple_slam_batch) | |
TEST (TestSuite, simple_slam_incremental) | |
TEST (TestSuite, simple_discrete_dcsam) | |
TEST (TestSuite, simple_semantic_slam) | |
TEST (TestSuite, dcsam_initialization) | |
TEST (TestSuite, bearing_range_semantic_slam) | |
TEST (TestSuite, dcMaxMixture_semantic_slam) | |
TEST (TestSuite, simple_dcemfactor) | |
TEST (TestSuite, factor_duplicate) | |
int | main (int argc, char **argv) |
Variables | |
const double | tol = 1e-7 |
Unit tests for DCSAM.
Copyright 2021 The Ambitious Folks of the MRG
int main | ( | int | argc, |
char ** | argv | ||
) |
TEST | ( | TestSuite | , |
bearing_range_semantic_slam | |||
) |
This is a basic qualitative octagonal pose graph SLAM test modified to use bearing-range measurements on a semantic landmark to verify that DCSAM works on semantic bearing-range measurement SLAM examples in the incremental setting
TEST | ( | TestSuite | , |
dccontinuous_mixture | |||
) |
TEST | ( | TestSuite | , |
dcdiscrete_mixture | |||
) |
TEST | ( | TestSuite | , |
dcMaxMixture_semantic_slam | |||
) |
This is a basic qualitative octagonal pose graph SLAM test modified to use a mixture of semantic bearing-range measurements on two semantic landmarks to verify that DCSAM works for semantic max-mixtures.
TEST | ( | TestSuite | , |
dcsam_initialization | |||
) |
This unit test verifies that DCFactors added to a DCSAM instance which depend on previously solved variables have those variables correctly initialized.
The reason we EXPECT_EQ(true, true) is because this test will abort with a failed assertion allInitialized() == true
in the DCFactor if it does not pass.
Noise models for measurements and priors
Now DCSAM should have an estimate of the continuous values based on the previous solve. We'll add a new DCFactor now which depends on x0 and l1, but does not explicitly initialize them again when the new factor is added.
TEST | ( | TestSuite | , |
discrete_prior_factor | |||
) |
TEST | ( | TestSuite | , |
factor_duplicate | |||
) |
This is for testing the behavior of duplicating discrete factors
TEST | ( | TestSuite | , |
simple_dcemfactor | |||
) |
TEST | ( | TestSuite | , |
simple_discrete_dcsam | |||
) |
This test is a sanity check that DCSAM works correctly for solely discrete problems
TEST | ( | TestSuite | , |
simple_mixture_factor | |||
) |
TEST | ( | TestSuite | , |
simple_semantic_slam | |||
) |
This is a basic qualitative octagonal pose graph SLAM test with two semantic landmarks to verify that DCSAM works on standard SLAM examples in the incremental setting
TEST | ( | TestSuite | , |
simple_slam_batch | |||
) |
This is a basic (qualitative) octagonal pose graph SLAM test to verify that DCSAM works on standard SLAM examples.
TEST | ( | TestSuite | , |
simple_slam_incremental | |||
) |
This is a basic qualitative octagonal pose graph SLAM test to verify that DCSAM works on standard SLAM examples in the incremental setting
TEST | ( | TestSuite | , |
smart_discrete_prior_factor | |||
) |
const double tol = 1e-7 |