From 136e886284fa7125ca04400db373f2d90ab3401f Mon Sep 17 00:00:00 2001 From: Emilio Corigliano <emilio.corigliano@skywarder.eu> Date: Fri, 4 Oct 2024 10:47:18 +0200 Subject: [PATCH] [SM] Added control of vertical velocity when expulsion is actuated --- simulator/src/printOutput.m | 3 ++- simulator/src/std_run.m | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/simulator/src/printOutput.m b/simulator/src/printOutput.m index ca394968..10386373 100644 --- a/simulator/src/printOutput.m +++ b/simulator/src/printOutput.m @@ -42,7 +42,8 @@ fprintf('OUTCOMES:\n\n\n') % fprintf('max step omputational Time: %.3f [s]: \n\n', max(cpuTimes)) fprintf('apogee: %.1f [m] \n', max_z); -fprintf('@time: %g [sec] \n\n', T_apo) +fprintf('@time: %g [sec] \n', T_apo) +fprintf('@vz: %g [sec] \n\n', structIn.apogee_vz) fprintf('max speed reached: %g [m/s] \n', max_v) fprintf('@altitude: %g [m] \n', z(imax_v)) diff --git a/simulator/src/std_run.m b/simulator/src/std_run.m index 8a8b98a4..0b31a251 100644 --- a/simulator/src/std_run.m +++ b/simulator/src/std_run.m @@ -252,6 +252,12 @@ while settings.flagStopIntegration && n_old < nmax % St % drogue_descent if full_flight, % landed if apogee was never detected if flagApogee + v_ned = quatrotate(quatconj(Y0(end, 10:13)), Y0(end, 4:6)); + struct_out.apogee_vz = v_ned(3); + if abs(v_ned(3)) > 5 + disp(v_ned(3)) + error("CRITICAL FAILURE: Expulsion at a too high speed!"); + end state_lastTime(currentState) = t0; % Exit condition of unpowered_ascent / Entry condition of drogue_descent: -- GitLab