diff --git a/classes/Rocket.m b/classes/Rocket.m index 5cb47ec18224f5503545361a85dabacb95613c1b..3a18b2201da10673175704b71007e0cebe4511f7 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 631cc207fedefe3aff73baebf9fae3fdffdcff39..71e89f1b36a4ea8678b67abdd027b886e92a11aa 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 1fd27560aceddddaf47756f4e88b5be85c490c27..b559afdbe21f341efd934abc7f80827c590d3dcf 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