Go to the documentation of this file.
64 OptionalJacobian<2, 6> HbTc = {},
65 OptionalJacobian<2, 9> Hcalib = {}
67 #ifndef GTSAM_THROW_CHEIRALITY_EXCEPTION
73 PinholeCamera<Cal3DS2>
camera = PinholeCamera<Cal3DS2>(wTc, calib);
81 *HwTb = Dpose * H0 * Hp;
86 #ifndef GTSAM_THROW_CHEIRALITY_EXCEPTION
87 }
catch (CheiralityException&
e) {
88 std::cout <<
"****** CHIRALITY EXCEPTION ******\n";
89 if (Hlandmark) Hlandmark->setZero();
90 if (HwTb) HwTb->setZero();
91 if (HbTc) HbTc->setZero();
92 if (Hcalib) Hcalib->setZero();
94 return Matrix::Constant(2, 1, 2.0 * calib.
fx());
120 return std::static_pointer_cast<NonlinearFactor>(
163 public Testable<PlanarProjectionFactor1> {};
183 return std::static_pointer_cast<NonlinearFactor>(
229 public Testable<PlanarProjectionFactor2> {};
248 return std::static_pointer_cast<NonlinearFactor>(
296 public Testable<PlanarProjectionFactor3> {};
std::shared_ptr< This > shared_ptr
PlanarProjectionFactor1()
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Concept check for values that can be used in unit tests.
Calibration of a camera with radial distortion that also supports Lie-group behaviors for optimizatio...
static Pose3 FromPose2(const Pose2 &p, OptionalJacobian< 6, 3 > H={})
virtual Vector evaluateError(const ValueTypes &... x, OptionalMatrixTypeT< ValueTypes >... H) const=0
Class compose(const Class &g) const
Two unknowns: the pose and the landmark. Camera offset and calibration are constant....
PlanarProjectionFactor3()
Point2 predict(const Point3 &landmark, const Pose2 &wTb, const Pose3 &bTc, const Cal3DS2 &calib, OptionalJacobian< 2, 3 > Hlandmark={}, OptionalJacobian< 2, 3 > HwTb={}, OptionalJacobian< 2, 6 > HbTc={}, OptionalJacobian< 2, 9 > Hcalib={}) const
Camera projection for robot on the floor. Measurement is camera pixels.
PlanarProjectionFactor3(Key poseKey, Key offsetKey, Key calibKey, const Point3 &landmark, const Point2 &measured, const SharedNoiseModel &model={})
constructor for variable pose, offset, and calibration, known landmark.
~PlanarProjectionFactor3() override
NonlinearFactor::shared_ptr clone() const override
3D rotation represented as a rotation matrix or quaternion
NonlinearFactor::shared_ptr clone() const override
One variable: the pose. Landmark, camera offset, camera calibration are constant. This is intended fo...
Some functions to compute numerical derivatives.
PlanarProjectionFactorBase(const Point2 &measured)
PlanarProjectionFactor1(Key poseKey, const Point3 &landmark, const Point2 &measured, const Pose3 &bTc, const Cal3DS2 &calib, const SharedNoiseModel &model={})
constructor for known landmark, offset, and calibration
PlanarProjectionFactor2()
static Point3 landmark(0, 0, 5)
Base class for all pinhole cameras.
NoiseModelFactorN< Pose2, Point3 > Base
PlanarProjectionFactor2(Key poseKey, Key landmarkKey, const Point2 &measured, const Pose3 &bTc, const Cal3DS2 &calib, const SharedNoiseModel &model={})
constructor for variable landmark, known offset and calibration
noiseModel::Base::shared_ptr SharedNoiseModel
noiseModel::Diagonal::shared_ptr model
Non-linear factor base classes.
double fx() const
focal length x
PlanarProjectionFactorBase()
Three unknowns: the pose, the camera offset, and the camera calibration. Landmark is constant....
Base class and basic functions for Lie types.
Vector evaluateError(const Pose2 &wTb, OptionalMatrixType HwTb) const override
Vector evaluateError(const Pose2 &wTb, const Point3 &landmark, OptionalMatrixType HwTb, OptionalMatrixType Hlandmark) const override
Calibration of a camera with radial distortion, calculations in base class Cal3DS2_Base.
NoiseModelFactorN()
Default Constructor for I/O.
Matrix * OptionalMatrixType
static const CalibratedCamera camera(kDefaultPose)
NonlinearFactor::shared_ptr clone() const override
std::uint64_t Key
Integer nonlinear key type.
~PlanarProjectionFactor2() override
Vector evaluateError(const Pose2 &wTb, const Pose3 &bTc, const Cal3DS2 &calib, OptionalMatrixType HwTb, OptionalMatrixType HbTc, OptionalMatrixType Hcalib) const override
NoiseModelFactorN< Pose2 > Base
3D Pose manifold SO(3) x R^3 and group SE(3)
~PlanarProjectionFactor1() override
NoiseModelFactorN< Pose2, Pose3, Cal3DS2 > Base
gtsam
Author(s):
autogenerated on Wed Jan 1 2025 04:02:43