gtsam/doc/Code/LocalizationFactor.cpp

15 lines
494 B
C++
Raw Normal View History

class UnaryFactor: public NoiseModelFactor1<Pose2> {
double mx_, my_; ///< X and Y measurements
public:
UnaryFactor(Key j, double x, double y, const SharedNoiseModel& model):
NoiseModelFactor1<Pose2>(model, j), mx_(x), my_(y) {}
2019-02-11 22:39:48 +08:00
Vector evaluateError(const Pose2& q,
boost::optional<Matrix&> H = boost::none) const
{
2016-06-16 01:18:23 +08:00
if (H) (*H) = (Matrix(2,3)<< 1.0,0.0,0.0, 0.0,1.0,0.0).finished();
return (Vector(2) << q.x() - mx_, q.y() - my_).finished();
}
};