Go to the documentation of this file.
14 using namespace std::placeholders;
15 using namespace gtsam;
19 const double h = 0.01;
25 Vector6
V1_w((
Vector(6) << 0.0, 0.0,
M_PI/3, 0.0, 0.0, 30.0).finished());
44 sin(gamma_p)*
cos(gamma_r), 0.0,
46 cos(gamma_p)*
sin(gamma_r), 0.0
74 #ifdef GTSAM_USE_QUATERNIONS // TODO: why is the quaternion version much less accurate??
84 Matrix W = Pose3::adjointMap((
Vector(6) << Vb(0), Vb(1), Vb(2), 0., 0., 0.).finished());
91 Vector fGravity_g1 = Z_6x1;
93 Vector Fb = Fu+fGravity_g1;
100 Vector6 expectedv2(V2_g2);
110 std::function<
Vector(
const Vector6&,
const Vector6&,
const Pose3&)>
f =
111 [&constraint](
const Vector6&
a1,
const Vector6&
a2,
const Pose3&
a3) {
static int runAllTests(TestResult &result)
Class between(const Class &g) const
internal::FixedSizeMatrix< Y, X3 >::type numericalDerivative33(std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5)
typedef and functions to augment Eigen's VectorXd
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Jet< T, N > sin(const Jet< T, N > &f)
#define EXPECT(condition)
Pose3 g1(Rot3(), Point3(100.0, 0.0, 300.0))
Vector6 V1_w((Vector(6)<< 0.0, 0.0, M_PI/3, 0.0, 0.0, 30.0).finished())
Point3 unrotate(const Point3 &p, OptionalJacobian< 3, 3 > H1={}, OptionalJacobian< 3, 3 > H2={}) const
rotate point from world to rotated frame
Jet< T, N > cos(const Jet< T, N > &f)
TEST(Reconstruction, evaluateError)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Matrix
Vector6 Adjoint(const Vector6 &xi_b, OptionalJacobian< 6, 6 > H_this={}, OptionalJacobian< 6, 6 > H_xib={}) const
Some functions to compute numerical derivatives.
Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIO...
internal::FixedSizeMatrix< Y, X2 >::type numericalDerivative32(std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5)
Pose3 g2(g1.expmap(h *V1_g1))
Vector newtonEuler(const Vector &Vb, const Vector &Fb, const Matrix &Inertia)
Pose3 inverse() const
inverse transformation with derivatives
internal::FixedSizeMatrix< Y, X1 >::type numericalDerivative31(std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5)
Vector computeFu(const Vector &gamma, const Vector &control)
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
const Rot3 & rotation(OptionalJacobian< 3, 6 > Hself={}) const
get rotation
Vector evaluateError(const Vector6 &xik, const Vector6 &xik_1, const Pose3 &gk, OptionalMatrixType H1, OptionalMatrixType H2, OptionalMatrixType H3) const override
Vector evaluateError(const Pose3 &gk1, const Pose3 &gk, const Vector6 &xik, OptionalMatrixType H1, OptionalMatrixType H2, OptionalMatrixType H3) const override
JacobiRotation< float > G
bool assert_equal(const Matrix &expected, const Matrix &actual, double tol)
Class expmap(const TangentVector &v) const
Eigen::Matrix< double, Eigen::Dynamic, 1 > Vector
3D Pose manifold SO(3) x R^3 and group SE(3)
gtsam
Author(s):
autogenerated on Thu Dec 19 2024 04:07:26