Launched at EUROC'22. Achieved an apogee close to the target 3000m, however had a balistic descent. Permission to use flight data given by Nacho Coello, 2024.
These results were extracted out of the flight card:
13
October 13th, 2022. 16hrs local time
3043.07 m
3250 m
The relative error of altitude apogee is only 6.37%
!
%load_ext autoreload
%autoreload 2
import matplotlib.pyplot as plt
from rocketpy import Environment, Flight, Function, Rocket, SolidMotor
plt.style.use("seaborn-v0_8-colorblind")
env = Environment(
gravity=9.80665,
date=(2022, 10, 13, 16),
latitude=39.3897,
longitude=-8.2889639,
elevation=160,
datum="WGS84",
timezone="Portugal",
)
env.set_atmospheric_model(
type="Reanalysis",
file="../../data/weather/euroc_2022_all_windows.nc",
dictionary="ECMWF",
)
env.max_expected_height = 4000
env.info()
Gravity Details Acceleration of gravity at surface level: 9.8066 m/s² Acceleration of gravity at 4.000 km (ASL): 9.8066 m/s² Launch Site Details Launch Date: 2022-10-13 15:00:00 UTC | 2022-10-13 16:00:00 Portugal Launch Site Latitude: 39.38970° Launch Site Longitude: -8.28896° Reference Datum: WGS84 Launch Site UTM coordinates: 44415.44 W 4373388.30 N Launch Site UTM zone: 30S Launch Site Surface Elevation: 160.0 m Atmospheric Model Details Atmospheric Model Type: Reanalysis Reanalysis Maximum Height: 4.000 km Reanalysis Time Period: from 2022-10-13 10:00:00 to 2022-10-17 17:00:00 utc Reanalysis Hour Interval: 2 hrs Reanalysis Latitude Range: From 40.0° to 39.0° Reanalysis Longitude Range: From -9.0° to -8.0° Surface Atmospheric Conditions Surface Wind Speed: 3.43 m/s Surface Wind Direction: 316.09° Surface Wind Heading: 136.09° Surface Pressure: 1000.00 hPa Surface Temperature: 298.96 K Surface Air Density: 1.165 kg/m³ Surface Speed of Sound: 346.62 m/s Earth Model Details Earth Radius at Launch site: 6369.57 km Semi-major Axis: 6378.14 km Semi-minor Axis: 6356.75 km Flattening: 0.0034 Atmospheric Model Plots
Motor = SolidMotor(
thrust_source="../../data/motors/cesaroni/Cesaroni_4263L1350-P.eng",
burn_time=3.284,
grain_number=1,
grain_density=1256.7753406541794,
grain_initial_inner_radius=0.01875,
grain_outer_radius=0.0375,
grain_initial_height=0.486,
nozzle_radius=0.028125,
nozzle_position=0,
throat_radius=0.01875,
grain_separation=0,
grains_center_of_mass_position=0.243,
dry_inertia=(0, 0, 0),
center_of_dry_mass_position=0,
dry_mass=0,
)
Motor.info()
Motor.draw()
Nozzle Details Nozzle Radius: 0.028125 m Nozzle Throat Radius: 0.01875 m Grain Details Number of Grains: 1 Grain Spacing: 0 m Grain Density: 1256.7753406541794 kg/m3 Grain Outer Radius: 0.0375 m Grain Inner Radius: 0.01875 m Grain Height: 0.486 m Grain Volume: 0.002 m3 Grain Mass: 2.024 kg Motor Details Total Burning Time: 3.284 s Total Propellant Mass: 2.024 kg Structural Mass Ratio: 0.000 Average Propellant Exhaust Velocity: 2114.916 m/s Average Thrust: 1303.340 N Maximum Thrust: 1540.732 N at 1.28 s after ignition. Total Impulse: 4280.167 Ns
Astra = Rocket(
radius=0.047,
mass=10.6462,
inertia=(6.6986, 6.6986, 0.040824),
center_of_mass_without_motor=1.3957,
power_off_drag="../../data/rockets/astra/drag_coefficient.csv",
power_on_drag="../../data/rockets/astra/drag_coefficient.csv",
coordinate_system_orientation="tail_to_nose",
)
Astra.set_rail_buttons(1.5957, 1.1957)
Astra.add_motor(Motor, position=0.7146163949)
NoseCone = Astra.add_nose(
length=0.27,
kind="vonKarman",
position=2.5214,
)
FinSet = Astra.add_trapezoidal_fins(
n=4,
span=0.117,
root_chord=0.2,
tip_chord=0.118,
position=0.9134,
)
Astra.draw()
test_flight = Flight(
rocket=Astra, environment=env, inclination=84, heading=133, rail_length=12
)
test_flight.prints.apogee_conditions()
test_flight.plots.trajectory_3d()
Apogee State Apogee Time: 24.007 s Apogee Altitude: 3203.066 m (ASL) | 3043.066 m (AGL) Apogee Freestream Speed: 12.046 m/s Apogee X position: 279.694 m Apogee Y position: -262.193 m Apogee latitude: 39.3873415° Apogee longitude: -8.2857086°
from rocketpy.simulation.flight_data_importer import FlightDataImporter
columns_map = {"t": "time", "alt": "altitude"}
telemetry_data = FlightDataImporter(
name="COTS Altimeter Flight",
paths="../../data/rockets/astra/flight_data.csv",
columns_map=columns_map,
units=None,
interpolation="linear",
extrapolation="zero",
delimiter=",",
encoding="utf-8",
)
The following attributes were create and are now available to be used: ['time', 'altitude']
Function.compare_plots(
[
(test_flight.altitude, "RocketPy"),
(telemetry_data.altitude, "Telemetry"),
],
title="Altitude Comparison",
xlabel="Time (s)",
ylabel="Altitude (m)",
)