diff --git a/bullet-featherstone/src/Base.cc b/bullet-featherstone/src/Base.cc index d157e33d8..7c230a31d 100644 --- a/bullet-featherstone/src/Base.cc +++ b/bullet-featherstone/src/Base.cc @@ -45,10 +45,10 @@ WorldInfo::WorldInfo(std::string name_) // By default a large impulse is applied when collisions penetrate // which causes unstable behavior. Bullet featherstone does not support - // configuring split impulse and penetration threshold parameters. Instead the - // penentration impulse depends on the erp2 parameter so set to a small value - // (default is 0.2). - this->world->getSolverInfo().m_erp2 = 0.002; + // configuring split impulse and penetration threshold parameters. Instead + // the penentration impulse depends on the erp2 parameter so set to a small + // value (default in bullet is 0.2). + this->world->getSolverInfo().m_erp2 = btScalar(0.002); } } // namespace bullet_featherstone diff --git a/test/common_test/joint_features.cc b/test/common_test/joint_features.cc index 346821bb6..68d0dbc76 100644 --- a/test/common_test/joint_features.cc +++ b/test/common_test/joint_features.cc @@ -966,9 +966,23 @@ TYPED_TEST(JointFeaturesDetachTest, JointDetach) // sanity check on velocity values EXPECT_LT(1e-5, upperLinkLinearVelocity.Z()); EXPECT_GT(-0.03, upperLinkAngularVelocity.X()); - EXPECT_NEAR(0.0, upperLinkLinearVelocity.X(), 1e-6); +#ifdef __APPLE__ + // Disable some expectations for dartsim plugin on homebrew, + // see https://github.com/gazebosim/gz-physics/issues/620. + if (this->PhysicsEngineName(name) != "dartsim") +#endif + { + EXPECT_NEAR(0.0, upperLinkLinearVelocity.X(), 1e-6); + } EXPECT_NEAR(0.0, upperLinkLinearVelocity.Y(), 1e-6); - EXPECT_NEAR(0.0, upperLinkAngularVelocity.Y(), 1e-6); +#ifdef __APPLE__ + // Disable some expectations for dartsim plugin on homebrew, + // see https://github.com/gazebosim/gz-physics/issues/620. + if (this->PhysicsEngineName(name) != "dartsim") +#endif + { + EXPECT_NEAR(0.0, upperLinkAngularVelocity.Y(), 1e-6); + } EXPECT_NEAR(0.0, upperLinkAngularVelocity.Z(), 1e-6); upperJoint->Detach();