Skip to content

Commit f0295c7

Browse files
committed
adds test for expression wrappers
1 parent 5ad287e commit f0295c7

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

gtsam/geometry/tests/testPose3.cpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <gtsam/base/testLie.h>
2020
#include <gtsam/base/lieProxies.h>
2121
#include <gtsam/base/TestableAssertions.h>
22+
#include <gtsam/slam/expressions.h>
2223

2324

2425
#include <CppUnitLite/TestHarness.h>
@@ -1301,6 +1302,39 @@ TEST(Pose3, interpolateRtJacobians) {
13011302
}
13021303
}
13031304

1305+
TEST(Pose3, expressionWrappers) {
1306+
Pose3 X(Rot3::Ypr(0.1,0.2,0.3), Point3(10, 5, -2));
1307+
Pose3 Y(Rot3::Ypr(1.1,-2.2,-0.3), Point3(-5, 1, 1));
1308+
double t = 0.3;
1309+
Values vals;
1310+
vals.insert(0,X);
1311+
vals.insert(1,Y);
1312+
vals.insert(2,t);
1313+
1314+
{ // interpolate (templated wrapper applies to all classes)
1315+
Matrix expectedJacobianX, expectedJacobianY, expectedJacobianT;
1316+
std::vector<Matrix> Hlist = {{},{},{}};
1317+
Pose3 expected = interpolate(X, Y, t, expectedJacobianX, expectedJacobianY, expectedJacobianT);
1318+
Pose3 actual = interpolate(Pose3_(Key(0)), Pose3_(Key(1)), Double_(Key(2))).value(vals, Hlist);
1319+
1320+
EXPECT(assert_equal(expected,actual,1e-6));
1321+
EXPECT(assert_equal(expectedJacobianX,Hlist[0],1e-6));
1322+
EXPECT(assert_equal(expectedJacobianY,Hlist[1],1e-6));
1323+
EXPECT(assert_equal(expectedJacobianT,Hlist[2],1e-6));
1324+
}
1325+
{ // interpolateRt (Pose3 specialisation)
1326+
Matrix expectedJacobianX, expectedJacobianY, expectedJacobianT;
1327+
std::vector<Matrix> Hlist = {{},{},{}};
1328+
Pose3 expected = X.interpolateRt(Y, t, expectedJacobianX, expectedJacobianY, expectedJacobianT);
1329+
Pose3 actual = interpolateRt(Pose3_(Key(0)), Pose3_(Key(1)), Double_(Key(2))).value(vals, Hlist);
1330+
1331+
EXPECT(assert_equal(expected,actual,1e-6));
1332+
EXPECT(assert_equal(expectedJacobianX,Hlist[0],1e-6));
1333+
EXPECT(assert_equal(expectedJacobianY,Hlist[1],1e-6));
1334+
EXPECT(assert_equal(expectedJacobianT,Hlist[2],1e-6));
1335+
}
1336+
}
1337+
13041338
/* ************************************************************************* */
13051339
TEST(Pose3, Create) {
13061340
Matrix63 actualH1, actualH2;

0 commit comments

Comments
 (0)