34 using namespace std::placeholders;
35 using namespace gtsam;
41 static const Point3 P(0.2, 0.7, -2);
42 static const Rot3 R = Rot3::Rodrigues(0.3, 0, 0);
43 static const double s = 4;
47 Point3(3.5, -8.2, 4.2), 1);
86 Vector7
v1(1, 2, 3, 4, 5, 6, 7);
87 Vector7
v2(0.1, -0.5, 1.0, -1.0, 0.5, 2.0, -0.3);
88 Vector7
v3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
108 const Vector7
xi(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7);
117 delta << 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7;
118 Matrix4
W = Similarity3::Hat(
delta);
127 Re << -0.2248, 0.9024, -0.3676, -0.3502, -0.4269, -0.8337, -0.9093, -0.0587, 0.4120;
128 Vector3 te(-9.8472, 59.7640, 10.2125);
144 re << 0.0688, 0.9863, -0.1496, -0.5665, -0.0848, -0.8197, -0.8211, 0.1412, 0.5530;
145 Vector3 te(-13.6797, 3.2441, -5.7794);
157 Vector7
v = Vector7::Zero();
166 v3 << 0, 0, 0, 1, 2, 3, 0;
176 Rot3 R = Rot3::Rodrigues(0.3, 0, 0);
199 Vector7 d12 = Vector7::Constant(0.1);
220 expected << 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0.5;
229 delta << 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7;
234 zeros << 0, 0, 0, 0, 0, 0, 0;
235 Vector7 logIdentity = Similarity3::Logmap(Similarity3::Identity());
276 Matrix H1 = numericalDerivative21<Point3, Similarity3, Point3>(
f,
T,
q);
277 Matrix H2 = numericalDerivative22<Point3, Similarity3, Point3>(
f,
T,
q);
278 Matrix actualH1, actualH2;
279 T.transformFrom(
q, actualH1, actualH2);
298 Pose3 eTo2(
Rot3(-1, 0, 0, 0, -1, 0, 0, 0, 1),
Point3(4, 0, 0));
302 Pose3 expected_wTo1(
Rot3(-1, 0, 0, 0, 1, 0, 0, 0, -1),
Point3(4, 6, 10));
303 Pose3 expected_wTo2(
Rot3(1, 0, 0, 0, -1, 0, 0, 0, -1),
Point3(-4, 6, 10));
319 Pose3 Ta2(
Rot3(-1, 0, 0, 0, -1, 0, 0, 0, 1),
Point3(4, 0, 0));
320 Pose3 Tb1(
Rot3(-1, 0, 0, 0, 1, 0, 0, 0, -1),
Point3(4, 6, 10));
321 Pose3 Tb2(
Rot3(1, 0, 0, 0, -1, 0, 0, 0, -1),
Point3(-4, 6, 10));
322 Pose3 Tc1(
Rot3(0, 0, -1, 0, 1, 0, 1, 0, 0),
Point3(0, 6, -12));
323 Pose3 Tc2(
Rot3(0, 0, -1, 0, -1, 0, -1, 0, 0),
Point3(0, 6, 12));
343 vector<Point3Pair> correspondences{ab1, ab2, ab3};
358 vector<Point3Pair> correspondences{ab1, ab2, ab3};
373 vector<Point3Pair> correspondences{ab1, ab2, ab3};
387 Pose3 eTo2(
Rot3(-1, 0, 0, 0, -1, 0, 0, 0, 1),
Point3(4, 0, 0));
390 Pose3 wTo1(
Rot3(-1, 0, 0, 0, 1, 0, 0, 0, -1),
Point3(4, 6, 10));
391 Pose3 wTo2(
Rot3(1, 0, 0, 0, -1, 0, 0, 0, -1),
Point3(-4, 6, 10));
396 vector<Pose3Pair> correspondences{wTe1, wTe2};
400 #ifdef GTSAM_ROT3_EXPMAP
426 params.setVerbosityLM(
"TRYCONFIG");
444 Point3(6 * 0.7, 0, 0), 1.0);
451 (
Vector(7) << 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 10).finished());
453 (
Vector(7) << 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0).finished());
507 Point3 q1(0, 0, 0), q2(1, 0, 0), q3(0, 1, 0);
534 EXPECT(check_group_invariants(
id,
id));
535 EXPECT(check_group_invariants(
id,
T3));
536 EXPECT(check_group_invariants(
T2,
id));
539 EXPECT(check_manifold_invariants(
id,
id));
540 EXPECT(check_manifold_invariants(
id,
T3));
541 EXPECT(check_manifold_invariants(
T2,
id));