26 template <
typename A1,
typename A2>
34 template <
typename A1,
typename A2 = A1,
typename T =
double>
65 std::vector<Matrix> Hs(2);
76 void print(
const std::string&
s =
"",
78 std::cout <<
s <<
"RangeFactor" << std::endl;
83 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 84 friend class boost::serialization::access;
85 template <
class ARCHIVE>
86 void serialize(ARCHIVE& ar,
const unsigned int ) {
87 ar& boost::serialization::make_nvp(
88 "Base", boost::serialization::base_object<Base>(*
this));
94 template <
typename A1,
typename A2,
typename T>
96 :
public Testable<RangeFactor<A1, A2, T> > {};
102 template <
typename A1,
typename A2 =
A1,
117 const A1& body_T_sensor)
142 std::vector<Matrix> Hs(2);
161 std::cout <<
s <<
"RangeFactorWithTransform" << std::endl;
162 this->body_T_sensor_.print(
" sensor pose in body frame: ");
167 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 168 friend class boost::serialization::access;
170 template <
typename ARCHIVE>
171 void serialize(ARCHIVE& ar,
const unsigned int ) {
175 ar& BOOST_SERIALIZATION_NVP(body_T_sensor_);
176 ar& boost::serialization::make_nvp(
177 "Base", boost::serialization::base_object<Base>(*
this));
183 template <
typename A1,
typename A2,
typename T>
185 :
public Testable<RangeFactorWithTransform<A1, A2, T> > {};
gtsam::NonlinearFactor::shared_ptr clone() const override
std::array< Key, NARY_EXPRESSION_SIZE > ArrayNKeys
std::string serialize(const T &input)
serializes to a string
void print(const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
print relies on Testable traits being defined for T
Expression< T > expression() const override
Return an expression that predicts the measurement given Values.
noiseModel::Diagonal::shared_ptr model
void print(const std::string &s="", const KeyFormatter &kf=DefaultKeyFormatter) const override
print
Expression< T > expression(const typename Base::ArrayNKeys &keys) const override
void initialize(const Expression< T > &expression)
Initialize with constructor arguments.
static const KeyFormatter DefaultKeyFormatter
const T & measured() const
RangeFactor(Key key1, Key key2, T measured, const SharedNoiseModel &model)
Matrix * OptionalMatrixType
const Symbol key1('v', 1)
Vector unwhitenedError(const Values &x, OptionalMatrixVecType H=nullptr) const override
RangeFactor< A1, A2 > This
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
pair< size_t, size_t > Range
GenericValue< T > genericValue(const T &v)
double error(const Values &c) const override
std::shared_ptr< This > shared_ptr
Vector evaluateError(const A1 &a1, const A2 &a2, OptionalMatrixType H1=OptionalNone, OptionalMatrixType H2=OptionalNone) const
RangeFactor()
default constructor
const KeyVector & keys() const
Access the factor's involved variable keys.
std::uint64_t Key
Integer nonlinear key type.
ExpressionFactorN< T, A1, A2 > Base
noiseModel::Base::shared_ptr SharedNoiseModel
const Symbol key2('v', 2)