Merged from branch 'trunk'
commit
6f0c0fc7c5
16
.cproject
16
.cproject
|
@ -2192,22 +2192,6 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="wrap_gtsam_clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>wrap_gtsam_clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="wrap_gtsam_unstable_clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>wrap_gtsam_unstable_clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="wrap_gtsam_distclean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
|
|
47
gtsam.h
47
gtsam.h
|
@ -1063,15 +1063,25 @@ class InvertedOrdering {
|
|||
|
||||
class NonlinearFactorGraph {
|
||||
NonlinearFactorGraph();
|
||||
void print(string s) const;
|
||||
size_t size() const;
|
||||
double error(const gtsam::Values& c) const;
|
||||
double probPrime(const gtsam::Values& c) const;
|
||||
gtsam::NonlinearFactor* at(size_t i) const;
|
||||
NonlinearFactorGraph(const gtsam::NonlinearFactorGraph& graph);
|
||||
|
||||
// FactorGraph
|
||||
void print(string s) const;
|
||||
bool equals(const gtsam::NonlinearFactorGraph& fg, double tol) const;
|
||||
size_t size() const;
|
||||
bool empty() const;
|
||||
void remove(size_t i);
|
||||
size_t nrFactors() const;
|
||||
void add(const gtsam::NonlinearFactor* factor);
|
||||
gtsam::Ordering* orderingCOLAMD(const gtsam::Values& c) const;
|
||||
gtsam::NonlinearFactor* at(size_t i) const;
|
||||
|
||||
// NonlinearFactorGraph
|
||||
double error(const gtsam::Values& values) const;
|
||||
double probPrime(const gtsam::Values& values) const;
|
||||
gtsam::Ordering* orderingCOLAMD(const gtsam::Values& values) const;
|
||||
// Ordering* orderingCOLAMDConstrained(const gtsam::Values& c, const std::map<gtsam::Key,int>& constraints) const;
|
||||
gtsam::GaussianFactorGraph* linearize(const gtsam::Values& c, const gtsam::Ordering& ordering) const;
|
||||
gtsam::GaussianFactorGraph* linearize(const gtsam::Values& values,
|
||||
const gtsam::Ordering& ordering) const;
|
||||
gtsam::NonlinearFactorGraph clone() const;
|
||||
};
|
||||
|
||||
|
@ -1382,6 +1392,29 @@ class ISAM2 {
|
|||
gtsam::ISAM2Params params() const;
|
||||
};
|
||||
|
||||
#include <gtsam/nonlinear/NonlinearISAM.h>
|
||||
class NonlinearISAM {
|
||||
NonlinearISAM();
|
||||
NonlinearISAM(int reorderInterval);
|
||||
void print(string s) const;
|
||||
void printStats() const;
|
||||
void saveGraph(string s) const;
|
||||
gtsam::Values estimate() const;
|
||||
Matrix marginalCovariance(size_t key) const;
|
||||
int reorderInterval() const;
|
||||
int reorderCounter() const;
|
||||
void update(const gtsam::NonlinearFactorGraph& newFactors, const gtsam::Values& initialValues);
|
||||
void reorder_relinearize();
|
||||
void addKey(size_t key);
|
||||
void setOrdering(const gtsam::Ordering& new_ordering);
|
||||
|
||||
// These might be expensive as instead of a reference the wrapper will make a copy
|
||||
gtsam::GaussianISAM bayesTree() const;
|
||||
gtsam::Values getLinearizationPoint() const;
|
||||
gtsam::Ordering getOrdering() const;
|
||||
gtsam::NonlinearFactorGraph getFactorsUnsafe() const;
|
||||
};
|
||||
|
||||
//*************************************************************************
|
||||
// Nonlinear factor types
|
||||
//*************************************************************************
|
||||
|
|
|
@ -172,15 +172,21 @@ virtual class DGroundConstraint : gtsam::NonlinearFactor {
|
|||
#include <gtsam/geometry/Pose2.h>
|
||||
|
||||
#include <gtsam_unstable/slam/PoseTranslationPrior.h>
|
||||
template<POSE = {gtsam::Pose2,gtsam::Pose3}>
|
||||
template<POSE>
|
||||
virtual class PoseTranslationPrior : gtsam::NonlinearFactor {
|
||||
PoseTranslationPrior(size_t key, const POSE& pose_z, const gtsam::noiseModel::Base* noiseModel);
|
||||
};
|
||||
|
||||
typedef gtsam::PoseTranslationPrior<gtsam::Pose2> PoseTranslationPrior2D;
|
||||
typedef gtsam::PoseTranslationPrior<gtsam::Pose3> PoseTranslationPrior3D;
|
||||
|
||||
#include <gtsam_unstable/slam/PoseRotationPrior.h>
|
||||
template<POSE = {gtsam::Pose2,gtsam::Pose3}>
|
||||
template<POSE>
|
||||
virtual class PoseRotationPrior : gtsam::NonlinearFactor {
|
||||
PoseRotationPrior(size_t key, const POSE& pose_z, const gtsam::noiseModel::Base* noiseModel);
|
||||
};
|
||||
|
||||
typedef gtsam::PoseRotationPrior<gtsam::Pose2> PoseRotationPrior2D;
|
||||
typedef gtsam::PoseRotationPrior<gtsam::Pose3> PoseRotationPrior3D;
|
||||
|
||||
} //\namespace gtsam
|
||||
|
|
Loading…
Reference in New Issue