From 4b5f92e867594ee37a5cccac9cec39bf773e665b Mon Sep 17 00:00:00 2001
From: Mauco03 <marco.gaibotti@skywarder.eu>
Date: Sun, 16 Feb 2025 23:46:39 +0100
Subject: [PATCH] [post-design-updates][2025_Orion_Portugal_October] Updated
 Config

---
 classes/Rocket.m                              | 13 ++++++++----
 .../config/rocketConfig.m                     | 20 +++++++++----------
 .../data/motors.mat                           |  4 ++--
 3 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/classes/Rocket.m b/classes/Rocket.m
index 5cb47ec..3a18b22 100644
--- a/classes/Rocket.m
+++ b/classes/Rocket.m
@@ -71,8 +71,13 @@ classdef Rocket < Component
             overrides = ~cellfun(@isempty, {b.position});
             overridesShift = logical([overrides(2:end), 0]);
             
-            shift(overridesShift) = b(overrides).position;
-            shift(~overridesShift) = [b(~overridesShift).length];
+            if any(overrides)
+                shift(overridesShift) = b(overrides).position;
+            end
+
+            if any(~overrides)
+                shift(~overridesShift) = [b(~overridesShift).length];
+            end
             
             absPositions = cumsum([-shift(1); shift(1:end-1)]);
             absPositions = absPositions + ...
@@ -84,8 +89,8 @@ classdef Rocket < Component
             if ~isempty(obj.lengthCenterNoMot)
                 obj.length = obj.lengthCenterNoMot + obj.motor.length + obj.parafoil.noseLength;
             else
-                obj.length = (obj.absolutePositions("rear") + obj.bays("rear").length ...
-                    + obj.bays("rear").finsDeltaXFreeChord) + obj.bays("parafoil").noseLength;
+                obj.length = (obj.absolutePositions("rear") + obj.bays("rear").length) + ...
+                    obj.bays("parafoil").noseLength;
                 obj.lengthCenterNoMot = obj.absolutePositions("motor");
             end
             if isempty(obj.crossSection)
diff --git a/missions/2025_Orion_Portugal_October/config/rocketConfig.m b/missions/2025_Orion_Portugal_October/config/rocketConfig.m
index 631cc20..71e89f1 100644
--- a/missions/2025_Orion_Portugal_October/config/rocketConfig.m
+++ b/missions/2025_Orion_Portugal_October/config/rocketConfig.m
@@ -13,7 +13,7 @@ rocket.lengthCenterNoMot = [];                                          % [m]
 parafoil = Parafoil();
 
 parafoil.length = 646.2 * 1e-3;                                         % [m] Total bay length
-parafoil.mass = 5.2;                                                   % [kg] Total bay mass
+parafoil.mass = 5;                                                   % [kg] Total bay mass
 parafoil.inertia = 1e-9*[10514313; 92235828; 92322682];                % [kg*m^2] Total bay inertia (Body reference)
 parafoil.xCg = 453.55 * 1e-3;                                            % [m] Cg relative to bay upper side
 
@@ -27,15 +27,15 @@ parafoil.noseCMod = 1.799127e-01;                                        % [-] C
 recovery = Recovery();
 
 recovery.length = 826 * 1e-3;                                        % [m] Total bay length
-recovery.mass = 4.42;                                               % [kg] Total bay mass
-recovery.inertia = 1e-9*[11870797; 264801282; 265519904];            % [kg*m^2] Total bay inertia (Body reference)
+recovery.mass = 4.452;                                               % [kg] Total bay mass
+recovery.inertia = 1e-9*[11889636; 274548189; 275245205];            % [kg*m^2] Total bay inertia (Body reference)
 recovery.xCg = 459 * 1e-3;                                        % [m] Cg relative to bay upper side
 
 %% ELC
 electronics = Electronics();
 
 electronics.length = 422.5 * 1e-3;                                   % [m] Total bay length
-electronics.mass = 3.5;                                            % [kg] Total bay mass
+electronics.mass = 3.3271;                                            % [kg] Total bay mass
 electronics.inertia = 1e-9*[10041478; 49742634; 50292878];            % [kg*m^2] Total bay inertia (Body reference)
 electronics.xCg = 221.11 * 1e-3;                                     % [m] Cg relative to bay upper side
 
@@ -69,7 +69,7 @@ airbrakes.servoTau = 0.0374588;
 %% MOTOR
 motor = Motor();
 
-motor.name = 'HRE_ARM_OPT_3_No_Chocked';
+motor.name = 'HRE_ARM_OPT_3_Update';
 
 motor.cutoffTime = [];                                               % [s] OVERRIDE Cutoff time
 motor.ignitionTransient = 0.3;                                       % [s] Ignition transient
@@ -78,11 +78,11 @@ motor.cutoffTransient = 0.3;                                         % [s] Cut-o
 %% REAR - Includes Fincan + Boat
 rear = Rear();
 
-rear.position = 1.2468;                                               % [m] offset from
-rear.length = 547 * 1e-3;                                            % [m] Total bay length
-rear.mass = 1.71;                                                    % [kg] Total bay mass
-rear.inertia = 1e-9*[13074201; 44271226; 44270124];                  % [kg*m^2] Total bay inertia (Body reference)
-rear.xCg = 276.98 * 1e-3;                                                                                               % [m] Cg relative to bay upper side
+rear.position = [];                                                  % [m] offset from
+rear.length = 477 * 1e-3;                                         % [m] Total bay length
+rear.mass = 1736.32 *1e-3;                                           % [kg] Total bay mass
+rear.inertia = 1e-9*[13662070; 47529495; 47528846];                  % [kg*m^2] Total bay inertia (Body reference)
+rear.xCg = 236.82 * 1e-3;                                                                                               % [m] Cg relative to bay upper side
 
 rear.boatType = 'OGIVE';                                             % [-] Boat type
 rear.boatLength = 0.240;                                             % [m] Boat length
diff --git a/missions/2025_Orion_Portugal_October/data/motors.mat b/missions/2025_Orion_Portugal_October/data/motors.mat
index 1fd2756..b559afd 100644
--- a/missions/2025_Orion_Portugal_October/data/motors.mat
+++ b/missions/2025_Orion_Portugal_October/data/motors.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6b78bb8da4e4e9f844c7aeea00ebf6ea5d730cdb9575f955ed15b4790218394d
-size 368015
+oid sha256:c61e85655bf70ce3494f1f60ceafe391437e566c54e5451cfbcc652a2bf26871
+size 382167
-- 
GitLab