23 template<
typename POSE = Pose3,
typename POINT = Po
int3>
37 typedef std::shared_ptr<PoseToPointFactor> shared_ptr;
45 : Base(model, key1, key2), measured_(measured) {}
53 DefaultKeyFormatter)
const override {
54 std::cout << s <<
"PoseToPointFactor(" 55 << keyFormatter(this->key1()) <<
"," 56 << keyFormatter(this->key2()) <<
")\n" 57 <<
" measured: " << measured_.transpose() << std::endl;
58 this->noiseModel_->print(
" noise model: ");
63 double tol = 1e-9)
const override {
64 const This* e =
dynamic_cast<const This*
>(&expected);
70 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
72 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
85 const POSE& w_T_b,
const POINT& w_P,
88 return w_T_b.transformTo(w_P, H1, H2) - measured_;
92 const POINT&
measured()
const {
return measured_; }
95 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 97 friend class boost::serialization::access;
98 template <
class ARCHIVE>
99 void serialize(ARCHIVE& ar,
const unsigned int ) {
101 ar& boost::serialization::make_nvp(
103 boost::serialization::base_object<Base>(*
this));
104 ar& BOOST_SERIALIZATION_NVP(measured_);
Definition: NonlinearFactor.h:431
bool equals(const NonlinearFactor &f, double tol=1e-9) const override
bool equals(const NonlinearFactor &expected, double tol=1e-9) const override
Definition: PoseToPointFactor.h:62
Vector evaluateError(const POSE &w_T_b, const POINT &w_P, OptionalMatrixType H1, OptionalMatrixType H2) const override
Error = w_T_b.inverse()*w_P - measured_.
Definition: PoseToPointFactor.h:84
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
Definition: NonlinearFactor.h:68
PoseToPointFactor()
Definition: PoseToPointFactor.h:40
Definition: PoseToPointFactor.h:24
Matrix * OptionalMatrixType
Definition: NonlinearFactor.h:55
PoseToPointFactor(Key key1, Key key2, const POINT &measured, const SharedNoiseModel &model)
Definition: PoseToPointFactor.h:43
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
const POINT & measured() const
Definition: PoseToPointFactor.h:92
Non-linear factor base classes.
void print(const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Definition: PoseToPointFactor.h:52
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition: PoseToPointFactor.h:70
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
noiseModel::Base::shared_ptr SharedNoiseModel
Definition: NoiseModel.h:741