Use scalar Angle to compare quaternions.

The Vector4 comparator couldn't know that q==-q.

PiperOrigin-RevId: 498947861
Change-Id: Ife9efeb369c794eedbef80829e40057794a334ee
This commit is contained in:
Tom Erez
2023-01-01 20:01:07 -08:00
committed by Copybara-Service
parent a173e01f42
commit 69739426f1
+8 -9
View File
@@ -93,7 +93,6 @@ public class MjSensorPlayTests {
yield return new WaitForFixedUpdate(); // updating the transform
yield return new WaitForFixedUpdate(); // updating the transform
var vecComparer = new Vector3EqualityComparer(1e-4f);
var quatComparer = new Vector4EqualityComparer(1e-4f);
Assert.That(
_siteVectorSensor.SensorReading,
Is.EqualTo(_site.transform.position).Using(vecComparer));
@@ -105,17 +104,17 @@ public class MjSensorPlayTests {
Is.EqualTo(_body.transform.position).Using(vecComparer));
Assert.That(
_siteQuatSensor0.SensorReading,
Is.EqualTo(_site.transform.rotation.normalized).Using(quatComparer));
Quaternion.Angle(_siteQuatSensor0.SensorReading, _site.transform.rotation.normalized),
Is.EqualTo(0).Within(1e-3));
Assert.That(
_siteQuatSensor.SensorReading,
Is.EqualTo(_site.transform.rotation.normalized).Using(quatComparer));
Quaternion.Angle(_siteQuatSensor.SensorReading, _site.transform.rotation.normalized),
Is.EqualTo(0).Within(1e-3));
Assert.That(
_geomQuatSensor.SensorReading,
Is.EqualTo(_geom.transform.rotation.normalized).Using(quatComparer));
Quaternion.Angle(_geomQuatSensor.SensorReading, _geom.transform.rotation.normalized),
Is.EqualTo(0).Within(1e-3));
Assert.That(
_bodyQuatSensor.SensorReading,
Is.EqualTo(_body.transform.rotation.normalized).Using(quatComparer));
Quaternion.Angle(_bodyQuatSensor.SensorReading, _body.transform.rotation.normalized),
Is.EqualTo(0).Within(1e-3));
}
}
}