Merge pull request #1646 from Balint-H:fix/unity-sensornoise
PiperOrigin-RevId: 639722238 Change-Id: I80a941e97923169150f665fb3411605affcc0702
This commit is contained in:
@@ -73,7 +73,6 @@ public struct MjcfOptionFlag {
|
|||||||
public EnableDisableFlag Override;
|
public EnableDisableFlag Override;
|
||||||
public EnableDisableFlag Energy;
|
public EnableDisableFlag Energy;
|
||||||
public EnableDisableFlag FwdInv;
|
public EnableDisableFlag FwdInv;
|
||||||
public EnableDisableFlag SensorNoise;
|
|
||||||
public EnableDisableFlag MultiCCD;
|
public EnableDisableFlag MultiCCD;
|
||||||
public static MjcfOptionFlag Default = new MjcfOptionFlag() {
|
public static MjcfOptionFlag Default = new MjcfOptionFlag() {
|
||||||
Constraint = EnableDisableFlag.enable,
|
Constraint = EnableDisableFlag.enable,
|
||||||
@@ -91,7 +90,6 @@ public struct MjcfOptionFlag {
|
|||||||
Override = EnableDisableFlag.disable,
|
Override = EnableDisableFlag.disable,
|
||||||
Energy = EnableDisableFlag.disable,
|
Energy = EnableDisableFlag.disable,
|
||||||
FwdInv = EnableDisableFlag.disable,
|
FwdInv = EnableDisableFlag.disable,
|
||||||
SensorNoise = EnableDisableFlag.disable,
|
|
||||||
MultiCCD = EnableDisableFlag.disable
|
MultiCCD = EnableDisableFlag.disable
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -114,7 +112,6 @@ public struct MjcfOptionFlag {
|
|||||||
Override = mjcf.GetEnumAttribute<EnableDisableFlag>("override", localDefault.Override);
|
Override = mjcf.GetEnumAttribute<EnableDisableFlag>("override", localDefault.Override);
|
||||||
Energy = mjcf.GetEnumAttribute<EnableDisableFlag>("energy", localDefault.Energy);
|
Energy = mjcf.GetEnumAttribute<EnableDisableFlag>("energy", localDefault.Energy);
|
||||||
FwdInv = mjcf.GetEnumAttribute<EnableDisableFlag>("fwdinv", localDefault.FwdInv);
|
FwdInv = mjcf.GetEnumAttribute<EnableDisableFlag>("fwdinv", localDefault.FwdInv);
|
||||||
SensorNoise = mjcf.GetEnumAttribute<EnableDisableFlag>("sensornoise", localDefault.SensorNoise);
|
|
||||||
MultiCCD = mjcf.GetEnumAttribute<EnableDisableFlag>("multiccd", localDefault.MultiCCD);
|
MultiCCD = mjcf.GetEnumAttribute<EnableDisableFlag>("multiccd", localDefault.MultiCCD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,7 +131,6 @@ public struct MjcfOptionFlag {
|
|||||||
mjcf.SetAttribute("override", Override.ToString());
|
mjcf.SetAttribute("override", Override.ToString());
|
||||||
mjcf.SetAttribute("energy", Energy.ToString());
|
mjcf.SetAttribute("energy", Energy.ToString());
|
||||||
mjcf.SetAttribute("fwdinv", FwdInv.ToString());
|
mjcf.SetAttribute("fwdinv", FwdInv.ToString());
|
||||||
mjcf.SetAttribute("sensornoise", SensorNoise.ToString());
|
|
||||||
mjcf.SetAttribute("multiccd", MultiCCD.ToString());
|
mjcf.SetAttribute("multiccd", MultiCCD.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -339,8 +335,8 @@ public class MjGlobalSettings : MonoBehaviour {
|
|||||||
} else if (instances.Length == 1) {
|
} else if (instances.Length == 1) {
|
||||||
_instance = instances[0];
|
_instance = instances[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return _instance;
|
return _instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,10 +38,6 @@ namespace Mujoco {
|
|||||||
// supported observation types.
|
// supported observation types.
|
||||||
public abstract class MjBaseSensor : MjComponent {
|
public abstract class MjBaseSensor : MjComponent {
|
||||||
|
|
||||||
[Tooltip("The standard deviation of zero-mean Gaussian noise added to the sensor output.")]
|
|
||||||
[AbsoluteValue]
|
|
||||||
public float Noise = 0.0f;
|
|
||||||
|
|
||||||
[Tooltip("When this value is positive, it limits the absolute value of the sensor output.")]
|
[Tooltip("When this value is positive, it limits the absolute value of the sensor output.")]
|
||||||
[AbsoluteValue]
|
[AbsoluteValue]
|
||||||
public float Cutoff = 0.0f;
|
public float Cutoff = 0.0f;
|
||||||
@@ -53,7 +49,6 @@ public abstract class MjBaseSensor : MjComponent {
|
|||||||
|
|
||||||
// Parse the component settings from an external Mjcf.
|
// Parse the component settings from an external Mjcf.
|
||||||
protected override void OnParseMjcf(XmlElement mjcf) {
|
protected override void OnParseMjcf(XmlElement mjcf) {
|
||||||
Noise = mjcf.GetFloatAttribute("noise", defaultValue: 0.0f);
|
|
||||||
Cutoff = mjcf.GetFloatAttribute("cutoff", defaultValue: 0.0f);
|
Cutoff = mjcf.GetFloatAttribute("cutoff", defaultValue: 0.0f);
|
||||||
FromMjcf(mjcf);
|
FromMjcf(mjcf);
|
||||||
}
|
}
|
||||||
@@ -61,7 +56,6 @@ public abstract class MjBaseSensor : MjComponent {
|
|||||||
// Generate implementation specific XML element.
|
// Generate implementation specific XML element.
|
||||||
protected override XmlElement OnGenerateMjcf(XmlDocument doc) {
|
protected override XmlElement OnGenerateMjcf(XmlDocument doc) {
|
||||||
var mjcf = ToMjcf(doc);
|
var mjcf = ToMjcf(doc);
|
||||||
mjcf.SetAttribute("noise", Noise.ToString());
|
|
||||||
mjcf.SetAttribute("cutoff", Cutoff.ToString());
|
mjcf.SetAttribute("cutoff", Cutoff.ToString());
|
||||||
return mjcf;
|
return mjcf;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ public class MjGlobalSettingsGenerationTests {
|
|||||||
Assert.That(_doc.OuterXml, Does.Contain(@"override="));
|
Assert.That(_doc.OuterXml, Does.Contain(@"override="));
|
||||||
Assert.That(_doc.OuterXml, Does.Contain(@"energy="));
|
Assert.That(_doc.OuterXml, Does.Contain(@"energy="));
|
||||||
Assert.That(_doc.OuterXml, Does.Contain(@"fwdinv="));
|
Assert.That(_doc.OuterXml, Does.Contain(@"fwdinv="));
|
||||||
Assert.That(_doc.OuterXml, Does.Contain(@"sensornoise="));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,19 +53,16 @@ public class MjBaseSensorTests {
|
|||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GeneratingNoiseAndCutoffMjcf() {
|
public void GeneratingNoiseAndCutoffMjcf() {
|
||||||
_sensor.Noise = 2.0f;
|
|
||||||
_sensor.Cutoff = 3.0f;
|
_sensor.Cutoff = 3.0f;
|
||||||
_doc.AppendChild(_sensor.GenerateMjcf("name", _doc));
|
_doc.AppendChild(_sensor.GenerateMjcf("name", _doc));
|
||||||
Assert.That(_doc.OuterXml, Does.Contain("noise=\"2\""));
|
|
||||||
Assert.That(_doc.OuterXml, Does.Contain("cutoff=\"3\""));
|
Assert.That(_doc.OuterXml, Does.Contain("cutoff=\"3\""));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void ParsingShapePropertiesMjcf() {
|
public void ParsingShapePropertiesMjcf() {
|
||||||
var mjcfString = "<sensor noise=\"3\" cutoff=\"4\" actuator=\"actuator\"/>";
|
var mjcfString = "<sensor cutoff=\"4\" actuator=\"actuator\"/>";
|
||||||
var mjcfElement = Parse(mjcfString, "sensor");
|
var mjcfElement = Parse(mjcfString, "sensor");
|
||||||
_sensor.ParseMjcf(mjcfElement);
|
_sensor.ParseMjcf(mjcfElement);
|
||||||
Assert.That(_sensor.Noise, Is.EqualTo(3.0f));
|
|
||||||
Assert.That(_sensor.Cutoff, Is.EqualTo(4.0f));
|
Assert.That(_sensor.Cutoff, Is.EqualTo(4.0f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ public class MjcfImporterTests {
|
|||||||
public void ReadingOptionFlags() {
|
public void ReadingOptionFlags() {
|
||||||
var mjcfString = @"<mujoco>
|
var mjcfString = @"<mujoco>
|
||||||
<option>
|
<option>
|
||||||
<flag gravity='disable' contact='disable' sensornoise='enable'/>
|
<flag gravity='disable' contact='disable'/>
|
||||||
</option>
|
</option>
|
||||||
<worldbody/>
|
<worldbody/>
|
||||||
</mujoco>";
|
</mujoco>";
|
||||||
@@ -283,7 +283,6 @@ public class MjcfImporterTests {
|
|||||||
var settings = _sceneRoot.GetComponentInChildren<MjGlobalSettings>();
|
var settings = _sceneRoot.GetComponentInChildren<MjGlobalSettings>();
|
||||||
Assert.That(settings.GlobalOptions.Flag.Gravity, Is.EqualTo(EnableDisableFlag.disable));
|
Assert.That(settings.GlobalOptions.Flag.Gravity, Is.EqualTo(EnableDisableFlag.disable));
|
||||||
Assert.That(settings.GlobalOptions.Flag.Contact, Is.EqualTo(EnableDisableFlag.disable));
|
Assert.That(settings.GlobalOptions.Flag.Contact, Is.EqualTo(EnableDisableFlag.disable));
|
||||||
Assert.That(settings.GlobalOptions.Flag.SensorNoise, Is.EqualTo(EnableDisableFlag.enable));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
Reference in New Issue
Block a user