Skip to content
Open
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2575950
ENH: Pass Acceleration Data to Parachute Trigger Functions (RocketPy-…
ViniciusCMB Dec 4, 2025
7ec7ac9
ENH: Add acceleration-based parachute triggers with IMU sensor simula…
ViniciusCMB Dec 7, 2025
18aab57
ENH: Enable sensors+acceleration triggers in parachutes
ViniciusCMB Dec 8, 2025
0932277
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
ViniciusCMB Dec 8, 2025
916b0fc
STY: Apply ruff format to flight.py
ViniciusCMB Dec 8, 2025
8e88fa8
STY: Fix pylint for parachute triggers
ViniciusCMB Dec 9, 2025
e84df40
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
ViniciusCMB Dec 9, 2025
a7f5c3a
TST: Add comprehensive unit tests for acceleration-based parachute tr…
ViniciusCMB Dec 9, 2025
ad7e6d0
DOC: Add comprehensive documentation for acceleration-based parachute…
ViniciusCMB Dec 9, 2025
8f65022
STY: Apply ruff format to test_parachute_trigger_acceleration.py
ViniciusCMB Dec 9, 2025
d45b3a5
STY: Fix pylint warnings in test_parachute_triggers.py
ViniciusCMB Dec 9, 2025
6d79d62
FIX: Add missing u_dot parameter to direct triggerfunc calls
ViniciusCMB Dec 9, 2025
5619b3a
STY: Apply ruff format to flight.py
ViniciusCMB Dec 9, 2025
c66cffc
MNT: align acceleration trigger API with review feedback
ViniciusCMB Mar 22, 2026
56c1e51
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
ViniciusCMB Mar 22, 2026
02d344d
STY: apply ruff format fixes
ViniciusCMB Mar 22, 2026
00e94b9
STY: apply ruff format fixes to flight.py
ViniciusCMB Mar 22, 2026
a0cb73d
STY: Apply ruff check after pip update
ViniciusCMB Mar 25, 2026
aba648b
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
ViniciusCMB Mar 25, 2026
6beab3c
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
MateusStano Mar 27, 2026
aa89d50
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
MateusStano Mar 27, 2026
6a9795d
Merge branch 'develop' into enh/acceleration-data-to-trigger-parachutes
MateusStano Apr 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
FIX: Add missing u_dot parameter to direct triggerfunc calls
Direct calls to parachute.triggerfunc() were missing the u_dot parameter,
causing TypeError in unit tests. Added u_dot=None to non-overshoot and
overshoot trigger evaluation paths where u_dot is not computed.

Fixes test failures in:
- tests/unit/simulation/test_flight.py
- tests/unit/test_utilities.py
- tests/unit/test_rail_buttons_bending_moments.py
- tests/unit/test_flight_data_exporter.py
  • Loading branch information
ViniciusCMB committed Dec 9, 2025
commit 6d79d62fabc7520d3fb14dd0f241b26ccc31d493
23 changes: 12 additions & 11 deletions rocketpy/simulation/flight.py
Original file line number Diff line number Diff line change
Expand Up @@ -777,8 +777,7 @@ def __simulate(self, verbose):
lambda self, parachute_porosity=parachute.porosity: setattr(
self, "parachute_porosity", parachute_porosity
),
lambda self,
added_mass_coefficient=parachute.added_mass_coefficient: setattr(
lambda self, added_mass_coefficient=parachute.added_mass_coefficient: setattr(
self,
"parachute_added_mass_coefficient",
added_mass_coefficient,
Expand Down Expand Up @@ -964,6 +963,7 @@ def __check_and_handle_parachute_triggers(
height_above_ground_level,
self.y_sol,
self.sensors,
None, # u_dot not computed in non-overshoot path
Comment thread
ViniciusCMB marked this conversation as resolved.
Outdated
):
continue # Check next parachute

Expand Down Expand Up @@ -999,8 +999,7 @@ def __check_and_handle_parachute_triggers(
lambda self, parachute_porosity=parachute.porosity: setattr(
self, "parachute_porosity", parachute_porosity
),
lambda self,
added_mass_coefficient=parachute.added_mass_coefficient: setattr(
lambda self, added_mass_coefficient=parachute.added_mass_coefficient: setattr(
self,
"parachute_added_mass_coefficient",
added_mass_coefficient,
Expand Down Expand Up @@ -1373,6 +1372,7 @@ def __check_overshootable_parachute_triggers(
height_above_ground_level,
overshootable_node.y_sol,
self.sensors,
None, # u_dot not computed in overshoot path
):
continue # Check next parachute

Expand Down Expand Up @@ -1405,8 +1405,7 @@ def __check_overshootable_parachute_triggers(
lambda self, parachute_porosity=parachute.porosity: setattr(
self, "parachute_porosity", parachute_porosity
),
lambda self,
added_mass_coefficient=parachute.added_mass_coefficient: setattr(
lambda self, added_mass_coefficient=parachute.added_mass_coefficient: setattr(
self,
"parachute_added_mass_coefficient",
added_mass_coefficient,
Expand Down Expand Up @@ -1989,7 +1988,9 @@ def udot_rail2(self, t, u, post_processing=False): # pragma: no cover
# Hey! We will finish this function later, now we just can use u_dot
return self.u_dot_generalized(t, u, post_processing=post_processing)

def u_dot(self, t, u, post_processing=False): # pylint: disable=too-many-locals,too-many-statements
def u_dot(
self, t, u, post_processing=False
): # pylint: disable=too-many-locals,too-many-statements
"""Calculates derivative of u state vector with respect to time
when rocket is flying in 6 DOF motion during ascent out of rail
and descent without parachute.
Expand Down Expand Up @@ -2535,7 +2536,9 @@ def u_dot_generalized_3dof(self, t, u, post_processing=False):

return u_dot

def u_dot_generalized(self, t, u, post_processing=False): # pylint: disable=too-many-locals,too-many-statements
def u_dot_generalized(
self, t, u, post_processing=False
): # pylint: disable=too-many-locals,too-many-statements
"""Calculates derivative of u state vector with respect to time when the
rocket is flying in 6 DOF motion in space and significant mass variation
effects exist. Typical flight phases include powered ascent after launch
Expand Down Expand Up @@ -4370,9 +4373,7 @@ def add(self, flight_phase, index=None): # TODO: quite complex method
new_index = (
index - 1
if flight_phase.t < previous_phase.t
else index + 1
if flight_phase.t > next_phase.t
else index
else index + 1 if flight_phase.t > next_phase.t else index
)
flight_phase.t += adjust
self.add(flight_phase, new_index)
Expand Down