Change expected error value back to negative, as it was (accidentally?) flipped after recent pull request , which didn't pass. The negative value, which I believe to be correct, passes in Quaternion mode, Full Expmap mode, as well as regular rotation matrix mode (with a lesser tolerance.)

release/4.3a0
Chris Beall 2014-10-25 01:08:59 -04:00
parent f916531492
commit f19cb3e677
1 changed files with 6 additions and 4 deletions

View File

@ -62,17 +62,19 @@ TEST( testPoseRotationFactor, level3_zero_error ) {
TEST( testPoseRotationFactor, level3_error ) {
Pose3 pose1(rot3A, point3A);
Pose3RotationPrior factor(poseKey, rot3C, model3);
#if defined(GTSAM_ROT3_EXPMAP) || defined(GTSAM_USE_QUATERNIONS)
Matrix actH1;
EXPECT(assert_equal((Vector(3) << 0.1,0.2,0.3), factor.evaluateError(pose1, actH1)));
#if defined(GTSAM_ROT3_EXPMAP) || defined(GTSAM_USE_QUATERNIONS)
EXPECT(assert_equal((Vector(3) << -0.1, -0.2,-0.3), factor.evaluateError(pose1, actH1)));
#else
EXPECT(assert_equal((Vector(3) << -0.1, -0.2, -0.3), factor.evaluateError(pose1, actH1),1e-2));
#endif
// the derivative is more complex, but is close to the identity for Rot3 around the origin
/*
Matrix expH1 = numericalDerivative11<LieVector,Pose3>(
boost::bind(evalFactorError3, factor, _1), pose1, 1e-2);
EXPECT(assert_equal(expH1, actH1, tol));*/
#else
// If not using true expmap will be close, but not exact around the origin
#endif
}
/* ************************************************************************* */