From 8355d97218cd74e0347fb738ac36258d965c4720 Mon Sep 17 00:00:00 2001 From: "Pier Francesco A. Bachini" <pierfrancesco.bachini@skywarder.eu> Date: Thu, 20 Feb 2025 17:08:56 -0800 Subject: [PATCH] [ADA] Fixes to ada montecarlo simulation also with faults --- commonFunctions/sensors/acquisition_Sys.m | 2 +- .../initSensors2025_Orion_Portugal_October.m | 8 ++++---- simulator/configs/configFaults.m | 5 +++-- simulator/src/std_run.m | 1 + simulator/src/std_run_parts/std_setInitialParams.m | 1 + 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/commonFunctions/sensors/acquisition_Sys.m b/commonFunctions/sensors/acquisition_Sys.m index 1f6890da..114b2f1e 100644 --- a/commonFunctions/sensors/acquisition_Sys.m +++ b/commonFunctions/sensors/acquisition_Sys.m @@ -27,7 +27,7 @@ OUTPUT: %% Baro Acquisition loop -if ~contains(mission.name, '2023') +if ~contains(mission.name, {'2023', '2024', '2025'}) sensorSettings.barometer2 = sensorSettings.barometer1; sensorSettings.barometer3 = sensorSettings.barometer1; end diff --git a/data/2025_Orion_Portugal_October/initSensors2025_Orion_Portugal_October.m b/data/2025_Orion_Portugal_October/initSensors2025_Orion_Portugal_October.m index e3b79ac9..15395167 100644 --- a/data/2025_Orion_Portugal_October/initSensors2025_Orion_Portugal_October.m +++ b/data/2025_Orion_Portugal_October/initSensors2025_Orion_Portugal_October.m @@ -13,8 +13,8 @@ sensorSettings.barometer1 = SensorFault(); sensorSettings.barometer1.maxMeasurementRange = 1000; % 1100, 1300 in mbar sensorSettings.barometer1.minMeasurementRange = 0; % 300, 10 in mbar sensorSettings.barometer1.bit = 24; % adc on rocket is 24 bits -sensorSettings.barometer1.fault_time = 9; % if negative it will be generated at random between a max and a min value -sensorSettings.barometer1.max_fault_time = 96; % max seconds to wait before possible fault +sensorSettings.barometer1.fault_time = -1; % if negative it will be generated at random between a max and a min value +sensorSettings.barometer1.max_fault_time = 60; % max seconds to wait before possible fault sensorSettings.barometer1.min_fault_time = 6; % min seconds to wait before possible fault % fault generation @@ -42,7 +42,7 @@ sensorSettings.barometer2.maxMeasurementRange = 1000; % 11 sensorSettings.barometer2.minMeasurementRange = 0; % 300, 10 in mbar sensorSettings.barometer2.bit = 24; % adc on rocket is 24 bits sensorSettings.barometer2.fault_time = -1; % if negative it will be generated at random between a max and a min value -sensorSettings.barometer2.max_fault_time = 96; % max seconds to wait before possible fault +sensorSettings.barometer2.max_fault_time = 24; % max seconds to wait before possible fault sensorSettings.barometer2.min_fault_time = 6; % min seconds to wait before possible fault % fault generation @@ -70,7 +70,7 @@ sensorSettings.barometer3.maxMeasurementRange = 4060; % 11 sensorSettings.barometer3.minMeasurementRange = 260; % 300, 10 in mbar sensorSettings.barometer3.bit = 24; sensorSettings.barometer3.fault_time = -1; % if negative it will be generated at random between a max and a min value -sensorSettings.barometer3.max_fault_time = 96; % max seconds to wait before possible fault +sensorSettings.barometer3.max_fault_time = 60; % max seconds to wait before possible fault sensorSettings.barometer3.min_fault_time = 6; % min seconds to wait before possible fault % fault generation diff --git a/simulator/configs/configFaults.m b/simulator/configs/configFaults.m index 607f2ae9..fbaf0a5e 100644 --- a/simulator/configs/configFaults.m +++ b/simulator/configs/configFaults.m @@ -8,10 +8,11 @@ sensor fault configuration script % how many faults do you want to simulate? settings.fault_sim.N_faulty_sensors = -1; % if set to -1 it will go to manual fault setting, otherwise it will generate random faults at a set of random sensors +settings.fault_sim.fault_type = ["no fault", "no fault", "no fault"]; if settings.fault_sim.N_faulty_sensors == -1 - settings.fault_sim.selected_sensors = []; - settings.fault_sim.fault_type = ["no fault", "no fault", "no fault"]; + settings.fault_sim.selected_sensors = [1]; + settings.fault_sim.fault_type = ["freezing", "no fault", "no fault"]; end % fault parameters diff --git a/simulator/src/std_run.m b/simulator/src/std_run.m index d7e01a61..b1685d21 100644 --- a/simulator/src/std_run.m +++ b/simulator/src/std_run.m @@ -613,6 +613,7 @@ struct_out.wind = wind; % sensors (ADA, NAS, MEA, SFD, and all sensor data are stored here) struct_out.sensors = sensorTot; struct_out.sensors.ada.t_apogee = settings.ada.t_ada; +struct_out.sensors.ada.t_para = settings.ada.t_para; struct_out.sensors.nas.t_apogee = settings.nas.t_nas; if settings.scenario ~= "descent" struct_out.sensors.mea.mass_offset = settings.mass_offset; diff --git a/simulator/src/std_run_parts/std_setInitialParams.m b/simulator/src/std_run_parts/std_setInitialParams.m index 0bc1ff2d..c40afe99 100644 --- a/simulator/src/std_run_parts/std_setInitialParams.m +++ b/simulator/src/std_run_parts/std_setInitialParams.m @@ -162,6 +162,7 @@ if settings.flagADA if contSettings.run_old_ada sensorData.old_ada = sensorData.ada{1}; sensorTot.old_ada.t_ada = -1; + sensorTot.old_ada.t_para = -1; sensorTot.old_ada.flagApogee = false; sensorTot.old_ada.flagOpenPara = false; end -- GitLab