10 #include <gtsam/discrete/DiscreteFactor.h>
11 #include <gtsam/discrete/DiscreteFactorGraph.h>
12 #include <gtsam/discrete/DiscreteKey.h>
13 #include <gtsam/discrete/DiscreteMarginals.h>
14 #include <gtsam/inference/FactorGraph.h>
15 #include <gtsam/inference/Symbol.h>
16 #include <gtsam/nonlinear/ISAM2.h>
17 #include <gtsam/nonlinear/Marginals.h>
18 #include <gtsam/nonlinear/NonlinearFactorGraph.h>
38 explicit DCSAM(
const gtsam::ISAM2Params &isam_params);
77 void update(
const gtsam::NonlinearFactorGraph &graph,
78 const gtsam::DiscreteFactorGraph &dfg,
const DCFactorGraph &dcfg,
79 const gtsam::Values &initialGuessContinuous = gtsam::Values(),
92 const gtsam::Values &initialGuessContinuous = gtsam::Values(),
101 update(hfg, gtsam::Values(), initialGuessDiscrete);
123 const gtsam::Values &continuousVals,
162 const gtsam::NonlinearFactorGraph &newFactors,
163 const gtsam::Values &initialGuess);
199 const gtsam::Values &continuousEst,
200 const gtsam::DiscreteFactorGraph &dfg);
205 return isam_.getFactorsUnsafe();
210 gtsam::NonlinearFactorGraph fg_;
211 gtsam::ISAM2Params isam_params_;
213 gtsam::DiscreteFactorGraph dfg_;
214 gtsam::Values currContinuous_;
218 std::vector<DCContinuousFactor::shared_ptr> dcContinuousFactors_;
219 gtsam::FastVector<gtsam::DiscreteFactor::shared_ptr> dcDiscreteFactors_;
Custom discrete-continuous factor.
Custom discrete-continuous factor.
Simple class for factor graphs of DCFactor type.
Some convenient types for DCSAM.
Custom hybrid factor graph for discrete + continuous factors.
Definition: DCFactorGraph.h:18
void updateDiscrete(const gtsam::DiscreteFactorGraph &graph, const gtsam::Values &continuousVals, const DiscreteValues &discreteVals)
Definition: DCSAM.cpp:113
void updateContinuousInfo(const DiscreteValues &discreteVals, const gtsam::NonlinearFactorGraph &newFactors, const gtsam::Values &initialGuess)
Definition: DCSAM.cpp:139
DCValues calculateEstimate() const
Definition: DCSAM.cpp:161
void update()
Definition: DCSAM.cpp:108
DCMarginals getMarginals(const gtsam::NonlinearFactorGraph &graph, const gtsam::Values &continuousEst, const gtsam::DiscreteFactorGraph &dfg)
Definition: DCSAM.cpp:171
gtsam::DiscreteFactorGraph getDiscreteFactorGraph() const
Definition: DCSAM.h:202
DiscreteValues solveDiscrete() const
Definition: DCSAM.cpp:156
DCSAM()
Definition: DCSAM.cpp:17
void updateDiscreteInfo(const gtsam::Values &continuousVals, const DiscreteValues &discreteVals)
Definition: DCSAM.cpp:123
gtsam::NonlinearFactorGraph getNonlinearFactorGraph() const
Definition: DCSAM.h:204
void updateContinuous()
Definition: DCSAM.cpp:134
void update(const HybridFactorGraph &hfg, const DiscreteValues &initialGuessDiscrete)
Definition: DCSAM.h:99
Definition: HybridFactorGraph.h:23
Definition: DCContinuousFactor.h:24
gtsam::DiscreteFactor::Values DiscreteValues
Definition: DCSAM_types.h:19
Definition: DCSAM_types.h:29
Definition: DCSAM_types.h:21