From 6fb391d96c68ba522584a7d19ef3e91cc2b1cf3c Mon Sep 17 00:00:00 2001 From: Misaka-L Date: Fri, 27 Oct 2023 22:49:50 +0800 Subject: [PATCH] fix(auto brake): reach deceleration rate target indicator unreliable, deceleration rate calculate error --- .../Avionics/Systems/AutoBrake/AutoBrake.cs | 10 +- .../Avionics/Systems/FWS/FWSWarningData.asset | 268 +++++++++--------- 2 files changed, 139 insertions(+), 139 deletions(-) diff --git a/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/AutoBrake/AutoBrake.cs b/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/AutoBrake/AutoBrake.cs index 3e2db16..c8388f4 100644 --- a/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/AutoBrake/AutoBrake.cs +++ b/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/AutoBrake/AutoBrake.cs @@ -153,7 +153,7 @@ private void UpdateAutoBrake(float decelerationRate) { else { var targetDecelerationRate = GetTargetDecelerationRate(); - var error = targetDecelerationRate - decelerationRate; + var error = decelerationRate - targetDecelerationRate; _integral += error * Time.deltaTime; var derivative = (error - _previousError) / Time.deltaTime; brakeInput = Kp * error + Ki * _integral + Kd * derivative; @@ -243,7 +243,7 @@ private float GetDecelerationRate() { var velocity = _saccAirVehicle.CurrentVel; var acceleration = (velocity - _lastVelocity) / Time.fixedDeltaTime; - var temp = Vector3.Project(acceleration, Vector3.forward); + var temp = _saccAirVehicle.transform.rotation * acceleration; _lastVelocity = velocity; @@ -264,10 +264,10 @@ private float GetTargetDecelerationRate() { } private bool IsReachDecelerationRateTarget(float decelerationRate) { - var targetDecelerationRate = GetTargetDecelerationRate() * 0.8f; - if (currentAutoBrakeMode == AutoBrakeMode.Max) return true; - return decelerationRate > targetDecelerationRate; + + var targetDecelerationRate = GetTargetDecelerationRate() * 0.8f; + return decelerationRate < targetDecelerationRate; } public void Reset() { diff --git a/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/FWS/FWSWarningData.asset b/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/FWS/FWSWarningData.asset index 7c52099..d77334d 100644 --- a/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/FWS/FWSWarningData.asset +++ b/Packages/com.yuxiaviation.vau320neo/Runtime/Avionics/Systems/FWS/FWSWarningData.asset @@ -50,13 +50,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: BRAKES_HOT + Data: OVERSPEED - Name: $v Entry: 7 Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: BRAKES_HOT + Data: OVERSPEED - Name: k__BackingField Entry: 7 Data: 3|System.RuntimeType, mscorlib @@ -110,19 +110,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: OVERSPEED + Data: VLE - Name: $v Entry: 7 Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: OVERSPEED + Data: VLE - Name: k__BackingField - Entry: 9 - Data: 3 + Entry: 7 + Data: 7|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32, mscorlib + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 4 + Data: 7 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -137,7 +143,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 7|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -158,25 +164,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: VLE + Data: VMO - Name: $v Entry: 7 - Data: 8|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 9|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: VLE + Data: VMO - Name: k__BackingField - Entry: 7 - Data: 9|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Int32, mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 7 - Name: k__BackingField Entry: 9 - Data: 9 + Data: 7 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -212,19 +212,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: VMO + Data: APU_AVAIL - Name: $v Entry: 7 Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: VMO + Data: APU_AVAIL - Name: k__BackingField Entry: 9 - Data: 9 + Data: 3 - Name: k__BackingField Entry: 9 - Data: 9 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -260,13 +260,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: DUAL_ENGINE_FAULT + Data: APU_BLEED - Name: $v Entry: 7 Data: 13|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: DUAL_ENGINE_FAULT + Data: APU_BLEED - Name: k__BackingField Entry: 9 Data: 3 @@ -308,13 +308,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_EGT_OVERLIMIT + Data: PARK_BRK - Name: $v Entry: 7 Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_EGT_OVERLIMIT + Data: PARK_BRK - Name: k__BackingField Entry: 9 Data: 3 @@ -356,13 +356,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_FAIL + Data: SEAT_BELTS - Name: $v Entry: 7 Data: 17|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_FAIL + Data: SEAT_BELTS - Name: k__BackingField Entry: 9 Data: 3 @@ -404,13 +404,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_FIRE + Data: NO_SMOKING - Name: $v Entry: 7 Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_FIRE + Data: NO_SMOKING - Name: k__BackingField Entry: 9 Data: 3 @@ -452,13 +452,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_N1_OVERLIMIT + Data: BRAKES_HOT - Name: $v Entry: 7 Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_N1_OVERLIMIT + Data: BRAKES_HOT - Name: k__BackingField Entry: 9 Data: 3 @@ -500,13 +500,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_N2_OVERLIMIT + Data: DUAL_ENGINE_FAULT - Name: $v Entry: 7 Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_N2_OVERLIMIT + Data: DUAL_ENGINE_FAULT - Name: k__BackingField Entry: 9 Data: 3 @@ -548,13 +548,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE1_SHUT_DOWN + Data: ENGINE1_EGT_OVERLIMIT - Name: $v Entry: 7 Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE1_SHUT_DOWN + Data: ENGINE1_EGT_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -596,13 +596,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE2_EGT_OVERLIMIT + Data: ENGINE1_FAIL - Name: $v Entry: 7 Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE2_EGT_OVERLIMIT + Data: ENGINE1_FAIL - Name: k__BackingField Entry: 9 Data: 3 @@ -644,13 +644,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE2_FAIL + Data: ENGINE1_FIRE - Name: $v Entry: 7 Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE2_FAIL + Data: ENGINE1_FIRE - Name: k__BackingField Entry: 9 Data: 3 @@ -692,13 +692,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE2_FIRE + Data: ENGINE1_N1_OVERLIMIT - Name: $v Entry: 7 Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE2_FIRE + Data: ENGINE1_N1_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -740,13 +740,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE2_N1_OVERLIMIT + Data: ENGINE1_N2_OVERLIMIT - Name: $v Entry: 7 Data: 33|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE2_N1_OVERLIMIT + Data: ENGINE1_N2_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -788,13 +788,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ENGINE2_N2_OVERLIMIT + Data: ENGINE1_SHUT_DOWN - Name: $v Entry: 7 Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ENGINE2_N2_OVERLIMIT + Data: ENGINE1_SHUT_DOWN - Name: k__BackingField Entry: 9 Data: 3 @@ -836,13 +836,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: APU_AVAIL + Data: ENGINE2_EGT_OVERLIMIT - Name: $v Entry: 7 Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: APU_AVAIL + Data: ENGINE2_EGT_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -884,13 +884,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: APU_BLEED + Data: ENGINE2_FAIL - Name: $v Entry: 7 Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: APU_BLEED + Data: ENGINE2_FAIL - Name: k__BackingField Entry: 9 Data: 3 @@ -932,13 +932,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: PARK_BRK + Data: ENGINE2_FIRE - Name: $v Entry: 7 Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: PARK_BRK + Data: ENGINE2_FIRE - Name: k__BackingField Entry: 9 Data: 3 @@ -980,13 +980,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: SEAT_BELTS + Data: ENGINE2_N1_OVERLIMIT - Name: $v Entry: 7 Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: SEAT_BELTS + Data: ENGINE2_N1_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -1028,13 +1028,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: NO_SMOKING + Data: ENGINE2_N2_OVERLIMIT - Name: $v Entry: 7 Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: NO_SMOKING + Data: ENGINE2_N2_OVERLIMIT - Name: k__BackingField Entry: 9 Data: 3 @@ -1076,31 +1076,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _fwsWarningMessageData + Data: FLAPS_NOT_IN_TAKEOFF_CONFIG - Name: $v Entry: 7 Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _fwsWarningMessageData + Data: FLAPS_NOT_IN_TAKEOFF_CONFIG - Name: k__BackingField - Entry: 7 - Data: 48|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: A320VAU.FWS.FWSWarningMessageData[], com.yuxiaviation.vau320neo - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 3 - Name: k__BackingField - Entry: 7 - Data: 49|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.Component[], UnityEngine.CoreModule - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1115,7 +1103,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1136,25 +1124,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _hasWarningDataVisibleChange + Data: PARK_BRAKE_ON - Name: $v Entry: 7 - Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _hasWarningDataVisibleChange + Data: PARK_BRAKE_ON - Name: k__BackingField - Entry: 7 - Data: 52|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Boolean, mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 3 - Name: k__BackingField Entry: 9 - Data: 52 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1169,7 +1151,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 53|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1190,19 +1172,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _hasWarningVisibleChange + Data: LANDING_MEMO - Name: $v Entry: 7 - Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _hasWarningVisibleChange + Data: LANDING_MEMO - Name: k__BackingField Entry: 9 - Data: 52 + Data: 3 - Name: k__BackingField Entry: 9 - Data: 52 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1217,7 +1199,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1238,22 +1220,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: FWS + Data: TAKEOFF_MEMO - Name: $v Entry: 7 - Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: FWS + Data: TAKEOFF_MEMO - Name: k__BackingField - Entry: 7 - Data: 57|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: A320VAU.FWS.FWS, com.yuxiaviation.vau320neo - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 3 - Name: k__BackingField Entry: 9 Data: 4 @@ -1271,7 +1247,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 54|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1292,19 +1268,31 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: FLAPS_NOT_IN_TAKEOFF_CONFIG + Data: _fwsWarningMessageData - Name: $v Entry: 7 - Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 55|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: FLAPS_NOT_IN_TAKEOFF_CONFIG + Data: _fwsWarningMessageData - Name: k__BackingField - Entry: 9 - Data: 3 + Entry: 7 + Data: 56|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: A320VAU.FWS.FWSWarningMessageData[], com.yuxiaviation.vau320neo + - Name: + Entry: 8 + Data: - Name: k__BackingField - Entry: 9 - Data: 4 + Entry: 7 + Data: 57|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Component[], UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1319,7 +1307,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1340,19 +1328,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: PARK_BRAKE_ON + Data: _hasWarningDataVisibleChange - Name: $v Entry: 7 - Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: PARK_BRAKE_ON + Data: _hasWarningDataVisibleChange - Name: k__BackingField - Entry: 9 - Data: 3 + Entry: 7 + Data: 60|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Boolean, mscorlib + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 4 + Data: 60 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1367,7 +1361,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 62|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1388,19 +1382,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: LANDING_MEMO + Data: _hasWarningVisibleChange - Name: $v Entry: 7 - Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: LANDING_MEMO + Data: _hasWarningVisibleChange - Name: k__BackingField Entry: 9 - Data: 3 + Data: 60 - Name: k__BackingField Entry: 9 - Data: 4 + Data: 60 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1415,7 +1409,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 63|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1436,16 +1430,22 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: TAKEOFF_MEMO + Data: FWS - Name: $v Entry: 7 - Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: TAKEOFF_MEMO + Data: FWS - Name: k__BackingField - Entry: 9 - Data: 3 + Entry: 7 + Data: 65|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: A320VAU.FWS.FWS, com.yuxiaviation.vau320neo + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 Data: 4