Calibrate float32 tolerances for several engine tests.

PiperOrigin-RevId: 947501998
Change-Id: I939aaf3db7d8b7cbd04d7bb4885d10e0191e579a
This commit is contained in:
Yuval Tassa
2026-07-14 00:51:07 -07:00
committed by Copybara-Service
parent 6afe13573b
commit 796b803ecf
3 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -656,7 +656,7 @@ TEST_F(CoreSmoothTest, FactorI) {
mj_fullM(model, data, Mexpected.data()); mj_fullM(model, data, Mexpected.data());
// expect matrices to match to floating point precision // expect matrices to match to floating point precision
EXPECT_THAT(M, Pointwise(MjNear(1e-12, 1e-5), Mexpected)); EXPECT_THAT(M, Pointwise(MjNear(1e-12, 3e-4), Mexpected));
mj_deleteData(data); mj_deleteData(data);
mj_deleteModel(model); mj_deleteModel(model);
+4 -4
View File
@@ -1054,12 +1054,12 @@ TEST_F(DerivativeTest, quatIntegrate) {
mjd_quatIntegrateFD(DquatFD, DsFD, DvelFD, DhFD, quat, vel, h, eps); mjd_quatIntegrateFD(DquatFD, DsFD, DvelFD, DhFD, quat, vel, h, eps);
// expect numerical equality of un/scaled velocity derivatives // expect numerical equality of un/scaled velocity derivatives
EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-3), DsFD)); EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-2), DsFD));
// expect numerical equality of analytic and FD derivatives // expect numerical equality of analytic and FD derivatives
EXPECT_THAT(AsVector(DquatFD, 9), Pointwise(MjNear(1e-7, 1e-3), Dquat)); EXPECT_THAT(AsVector(DquatFD, 9), Pointwise(MjNear(1e-7, 1e-2), Dquat));
EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-3), Dvel)); EXPECT_THAT(AsVector(DvelFD, 9), Pointwise(MjNear(1e-7, 1e-2), Dvel));
EXPECT_THAT(AsVector(DhFD, 3), Pointwise(MjNear(1e-7, 1e-3), Dh)); EXPECT_THAT(AsVector(DhFD, 3), Pointwise(MjNear(1e-7, 1e-2), Dh));
} }
} }
} }
+3 -3
View File
@@ -354,7 +354,7 @@ TEST_F(RelativeFrameSensorTest, FrameVelGeneral) {
)"; )";
MjModelPtr model = LoadModelFromString(xml); MjModelPtr model = LoadModelFromString(xml);
MjDataPtr data = MakeData(model); MjDataPtr data = MakeData(model);
mjtNum dt = 1e-6; // timestep used for finite differencing mjtNum dt = MjTol(1e-6, 1e-3); // timestep used for finite differencing
// set (arbitrary) joint velocities and call forward dynamics // set (arbitrary) joint velocities and call forward dynamics
data->qvel[0] = 1; data->qvel[0] = 1;
@@ -391,8 +391,8 @@ TEST_F(RelativeFrameSensorTest, FrameVelGeneral) {
mju_quat2Vel(angvel_findiff, dquat, dt); mju_quat2Vel(angvel_findiff, dquat, dt);
// compare analytic and finite-differenced relative velocities // compare analytic and finite-differenced relative velocities
EXPECT_THAT(linvel, Pointwise(MjNear(10 * dt, 0.15), linvel_findiff)); EXPECT_THAT(linvel, Pointwise(MjNear(10 * dt, 1.5e-2), linvel_findiff));
EXPECT_THAT(angvel, Pointwise(MjNear(10 * dt, 0.2), angvel_findiff)); EXPECT_THAT(angvel, Pointwise(MjNear(10 * dt, 2e-3), angvel_findiff));
} }
// ------------------------- general sensor tests ----------------------------- // ------------------------- general sensor tests -----------------------------