Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit f97fea80 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge pull request #607 in VECTO/vecto-sim from...

Merge pull request #607 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:feature/VECTO-683-quality-and-plausibility-checks-for-recorded-data-from-vtp to develop

* commit '73ae2bb7':
  modified torque tolerance for VTP cycle
parents b9cf68d1 73ae2bb7
No related branches found
No related tags found
No related merge requests found
...@@ -516,8 +516,7 @@ namespace TUGraz.VectoCore.Models.Declaration ...@@ -516,8 +516,7 @@ namespace TUGraz.VectoCore.Models.Declaration
public static readonly PerSecond WheelSpeedZeroTolerance = 0.1.RPMtoRad(); public static readonly PerSecond WheelSpeedZeroTolerance = 0.1.RPMtoRad();
public static readonly PerSecond MaxWheelSpeedDifferenceStandstill = 1.RPMtoRad(); public static readonly PerSecond MaxWheelSpeedDifferenceStandstill = 1.RPMtoRad();
public static readonly NewtonMeter WheelTorqueZeroTolerance = 10.SI<NewtonMeter>(); public static readonly NewtonMeter MaxWheelTorqueDifference = 200.SI<NewtonMeter>();
public static readonly NewtonMeter MaxWheelTorqueZeroDifference = 100.SI<NewtonMeter>();
public static readonly PerSecond MinFanSpeed = 20.RPMtoRad(); public static readonly PerSecond MinFanSpeed = 20.RPMtoRad();
public static readonly PerSecond MaxFanSpeed = 4000.RPMtoRad(); public static readonly PerSecond MaxFanSpeed = 4000.RPMtoRad();
......
...@@ -149,23 +149,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -149,23 +149,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
private void VerifyWheelTorque(DrivingCycleData.DrivingCycleEntry entry) private void VerifyWheelTorque(DrivingCycleData.DrivingCycleEntry entry)
{ {
if (!entry.TorqueWheelLeft.IsEqual(0.SI<NewtonMeter>(), DeclarationData.VTPMode.WheelTorqueZeroTolerance) &&
!entry.TorqueWheelRight.IsEqual(0.SI<NewtonMeter>(), DeclarationData.VTPMode.WheelTorqueZeroTolerance)) {
var torqueRatio = VectoMath.Max( var torqueRatio = VectoMath.Max(
entry.TorqueWheelLeft / entry.TorqueWheelRight, entry.TorqueWheelRight / entry.TorqueWheelLeft); entry.TorqueWheelLeft / entry.TorqueWheelRight, entry.TorqueWheelRight / entry.TorqueWheelLeft);
if (torqueRatio > DeclarationData.VTPMode.WheelTorqueDifferenceFactor) { var torqueDiff = VectoMath.Abs(entry.TorqueWheelLeft - entry.TorqueWheelRight);
if (torqueRatio > DeclarationData.VTPMode.WheelTorqueDifferenceFactor &&
torqueDiff > DeclarationData.VTPMode.MaxWheelTorqueDifference) {
Log.Error( Log.Error(
"Torque difference rel. (L/R) too high! t: {0} tq_left: {1}, tq_right: {2}", entry.Time, entry.TorqueWheelLeft, "Torque difference (L/R) too high! t: {0} tq_left: {1}, tq_right: {2}", entry.Time, entry.TorqueWheelLeft,
entry.TorqueWheelRight); entry.TorqueWheelRight);
} }
} else {
if (VectoMath.Abs(entry.TorqueWheelLeft - entry.TorqueWheelRight) >
DeclarationData.VTPMode.MaxWheelTorqueZeroDifference) {
Log.Error(
"Torque difference abs. (L/R) too high! t: {0} tq_left: {1}, tq_right: {2}", entry.Time, entry.TorqueWheelLeft,
entry.TorqueWheelRight);
}
}
} }
private void VerifyWheelSpeeds(DrivingCycleData.DrivingCycleEntry entry) private void VerifyWheelSpeeds(DrivingCycleData.DrivingCycleEntry entry)
...@@ -176,14 +168,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -176,14 +168,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
entry.WheelSpeedLeft / entry.WheelSpeedRight, entry.WheelSpeedRight / entry.WheelSpeedLeft); entry.WheelSpeedLeft / entry.WheelSpeedRight, entry.WheelSpeedRight / entry.WheelSpeedLeft);
if (wheelSpeedRatio > DeclarationData.VTPMode.WheelSpeedDifferenceFactor) { if (wheelSpeedRatio > DeclarationData.VTPMode.WheelSpeedDifferenceFactor) {
Log.Error( Log.Error(
"Wheel-speed difference rel. (L/R) too high! t: {0} n_left: {1}, n_right: {2}", entry.Time, "Wheel-speed difference rel. (L/R) too high! t: {0} n_left: {1} rpm, n_right: {2} rpm", entry.Time,
entry.WheelSpeedLeft.AsRPM, entry.WheelSpeedRight.AsRPM); entry.WheelSpeedLeft.AsRPM, entry.WheelSpeedRight.AsRPM);
} }
} else { } else {
if (VectoMath.Abs(entry.WheelSpeedLeft - entry.WheelSpeedRight) > if (VectoMath.Abs(entry.WheelSpeedLeft - entry.WheelSpeedRight) >
DeclarationData.VTPMode.MaxWheelSpeedDifferenceStandstill) { DeclarationData.VTPMode.MaxWheelSpeedDifferenceStandstill) {
Log.Error( Log.Error(
"Wheel-speed difference abs. (L/R) too high! t: {0} n_left: {1}, n_right: {2}", entry.Time, "Wheel-speed difference abs. (L/R) too high! t: {0} n_left: {1} rpm, n_right: {2} rpm", entry.Time,
entry.WheelSpeedLeft.AsRPM, entry.WheelSpeedRight.AsRPM); entry.WheelSpeedLeft.AsRPM, entry.WheelSpeedRight.AsRPM);
} }
} }
......
...@@ -171,7 +171,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -171,7 +171,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vtpCycle.VerifyInputData(); vtpCycle.VerifyInputData();
Assert.AreEqual(1, LogList.Count); Assert.AreEqual(1, LogList.Count);
Assert.IsTrue(LogList[0].Contains("Torque difference rel.")); Assert.IsTrue(LogList[0].Contains("Torque difference"));
} }
...@@ -201,7 +201,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -201,7 +201,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vtpCycle.VerifyInputData(); vtpCycle.VerifyInputData();
Assert.AreEqual(1, LogList.Count); Assert.AreEqual(1, LogList.Count);
Assert.IsTrue(LogList[0].Contains("Torque difference rel.")); Assert.IsTrue(LogList[0].Contains("Torque difference"));
} }
[TestCase()] [TestCase()]
...@@ -209,14 +209,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -209,14 +209,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
{ {
SetupLogging(); SetupLogging();
var torque = 0.95*DeclarationData.VTPMode.WheelTorqueZeroTolerance.Value(); var torque = 30; //0.95*DeclarationData.VTPMode.WheelTorqueZeroTolerance.Value();
var cycleEntries = string.Format( var cycleEntries = string.Format(
@" 0 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3 @" 0 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3
0.5 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3 0.5 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3
1 , 0, 600, 400, {0}, {1} , 50 , 50 , 100, 3 1 , 0, 600, 400, {0}, {1} , 50 , 50 , 100, 3
1.5 , 0, 600, 400, {1}, {1} , 50 , 50 , 100, 3 1.5 , 0, 600, 400, {1}, {1} , 50 , 50 , 100, 3
", torque, torque + DeclarationData.VTPMode.MaxWheelTorqueZeroDifference.Value() * 1.1); ", torque, torque + DeclarationData.VTPMode.MaxWheelTorqueDifference.Value() * 1.1);
var container = new VehicleContainer(ExecutionMode.Declaration) { var container = new VehicleContainer(ExecutionMode.Declaration) {
RunData = new VectoRunData() { RunData = new VectoRunData() {
...@@ -230,7 +230,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -230,7 +230,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vtpCycle.VerifyInputData(); vtpCycle.VerifyInputData();
Assert.AreEqual(1, LogList.Count); Assert.AreEqual(1, LogList.Count);
Assert.IsTrue(LogList[0].Contains("Torque difference abs.")); Assert.IsTrue(LogList[0].Contains("Torque difference "));
} }
[TestCase()] [TestCase()]
...@@ -238,14 +238,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -238,14 +238,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
{ {
SetupLogging(); SetupLogging();
var torque = 0.95 * DeclarationData.VTPMode.WheelTorqueZeroTolerance.Value(); var torque = 30; //0.95 * DeclarationData.VTPMode.WheelTorqueZeroTolerance.Value();
var cycleEntries = string.Format( var cycleEntries = string.Format(
@" 0 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3 @" 0 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3
0.5 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3 0.5 , 0, 600, 400, {0}, {0} , 50 , 50 , 100, 3
1 , 0, 600, 400, {1}, {0} , 50 , 50 , 100, 3 1 , 0, 600, 400, {1}, {0} , 50 , 50 , 100, 3
1.5 , 0, 600, 400, {1}, {1} , 50 , 50 , 100, 3 1.5 , 0, 600, 400, {1}, {1} , 50 , 50 , 100, 3
", torque, torque + DeclarationData.VTPMode.MaxWheelTorqueZeroDifference.Value() * 1.1); ", torque, torque + DeclarationData.VTPMode.MaxWheelTorqueDifference.Value() * 1.1);
var container = new VehicleContainer(ExecutionMode.Declaration) { var container = new VehicleContainer(ExecutionMode.Declaration) {
RunData = new VectoRunData() { RunData = new VectoRunData() {
...@@ -259,7 +259,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -259,7 +259,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vtpCycle.VerifyInputData(); vtpCycle.VerifyInputData();
Assert.AreEqual(1, LogList.Count); Assert.AreEqual(1, LogList.Count);
Assert.IsTrue(LogList[0].Contains("Torque difference abs.")); Assert.IsTrue(LogList[0].Contains("Torque difference"));
} }
[TestCase()] [TestCase()]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment