Added test that exposes problem in localCoordinates
parent
2b323d5cb7
commit
39b3b2160e
|
@ -30,6 +30,36 @@ TEST (EssentialMatrix, equality) {
|
|||
EXPECT(assert_equal(expected, actual));
|
||||
}
|
||||
|
||||
//*******************************************************************************
|
||||
TEST(EssentialMatrix, localCoordinates0) {
|
||||
EssentialMatrix E;
|
||||
Vector expected = zero(5);
|
||||
Vector actual = E.localCoordinates(E);
|
||||
EXPECT(assert_equal(expected, actual, 1e-8));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST (EssentialMatrix, localCoordinates) {
|
||||
|
||||
// Pose between two cameras
|
||||
Pose3 pose(c1Rc2, c1Tc2);
|
||||
EssentialMatrix hx = EssentialMatrix::FromPose3(pose);
|
||||
Vector actual = hx.localCoordinates(EssentialMatrix::FromPose3(pose));
|
||||
EXPECT(assert_equal(zero(5), actual, 1e-8));
|
||||
|
||||
Vector d = zero(6);
|
||||
d(4) += 1e-5;
|
||||
Vector actual2 = hx.localCoordinates(
|
||||
EssentialMatrix::FromPose3(pose.retract(d)));
|
||||
EXPECT(assert_equal(zero(5), actual2, 1e-8));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST (EssentialMatrix, retract0) {
|
||||
EssentialMatrix actual = trueE.retract(zero(5));
|
||||
EXPECT(assert_equal(trueE, actual));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST (EssentialMatrix, retract1) {
|
||||
EssentialMatrix expected(c1Rc2.retract((Vector(3) << 0.1, 0, 0)), c1Tc2);
|
||||
|
@ -89,7 +119,10 @@ TEST (EssentialMatrix, rotate) {
|
|||
|
||||
// Derivatives
|
||||
Matrix actH1, actH2;
|
||||
try { bodyE.rotate(cRb, actH1, actH2);} catch(exception e) {} // avoid exception
|
||||
try {
|
||||
bodyE.rotate(cRb, actH1, actH2);
|
||||
} catch (exception e) {
|
||||
} // avoid exception
|
||||
Matrix expH1 = numericalDerivative21(rotate_, bodyE, cRb), //
|
||||
expH2 = numericalDerivative22(rotate_, bodyE, cRb);
|
||||
EXPECT(assert_equal(expH1, actH1, 1e-8));
|
||||
|
|
Loading…
Reference in New Issue