12 #include <gtsam/geometry/concepts.h> 26 typedef typename POSE::Translation Translation;
27 typedef typename POSE::Rotation Rotation;
32 GTSAM_CONCEPT_POSE_TYPE(Pose)
33 GTSAM_CONCEPT_GROUP_TYPE(Pose)
34 GTSAM_CONCEPT_LIE_TYPE(Translation)
38 Translation measured_;
47 : Base(model, key), measured_(measured) {
52 : Base(model, key), measured_(pose_z.translation()) {
57 const Translation& measured()
const {
return measured_; }
60 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
62 gtsam::NonlinearFactor::shared_ptr(
new This(*
this))); }
66 const Translation& newTrans = pose.translation();
67 const Rotation& R = pose.rotation();
71 *H = Matrix::Zero(tDim, xDim);
72 std::pair<size_t, size_t> transInterval = POSE::translationInterval();
73 (*H).middleCols(transInterval.first, tDim) = R.matrix();
81 const This *e =
dynamic_cast<const This*
> (&expected);
86 void print(
const std::string& s=
"",
const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override {
87 Base::print(s +
"PoseTranslationPrior", keyFormatter);
93 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 95 friend class boost::serialization::access;
96 template<
class ARCHIVE>
97 void serialize(ARCHIVE & ar,
const unsigned int ) {
99 ar & boost::serialization::make_nvp(
"NoiseModelFactor1",
100 boost::serialization::base_object<Base>(*
this));
101 ar & BOOST_SERIALIZATION_NVP(measured_);
PoseTranslationPrior(Key key, const Translation &measured, const noiseModel::Base::shared_ptr &model)
Definition: PoseTranslationPrior.h:46
bool equals(const NonlinearFactor &expected, double tol=1e-9) const override
Definition: PoseTranslationPrior.h:80
Definition: NonlinearFactor.h:431
bool equals(const NonlinearFactor &f, double tol=1e-9) const override
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
virtual Vector evaluateError(const ValueTypes &... x, OptionalMatrixTypeT< ValueTypes >... H) const=0
Key key() const
Definition: NonlinearFactor.h:582
Definition: NonlinearFactor.h:68
void print(const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Definition: PoseTranslationPrior.h:86
Definition: PoseTranslationPrior.h:21
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition: PoseTranslationPrior.h:60
Matrix * OptionalMatrixType
Definition: NonlinearFactor.h:55
PoseTranslationPrior(Key key, const POSE &pose_z, const noiseModel::Base::shared_ptr &model)
Definition: PoseTranslationPrior.h:51
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
Definition: chartTesting.h:28
void print(const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Non-linear factor base classes.
PoseTranslationPrior()
Definition: PoseTranslationPrior.h:43
Vector evaluateError(const Pose &pose, OptionalMatrixType H) const override
Definition: PoseTranslationPrior.h:65
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102