优化的火箭发射

79(30天)
哈米什布朗
哈米什布朗 2022年10月12日
评论道: 哈米什布朗2022年10月13日
我已经写了matlab代码模拟的第一个500秒stageless火箭的飞行。最后,它到达水平飞行的高度约350公里,速度约为7.5公里/秒。我用欧拉积分在for循环的解决运动方程。现在,我想优化的问题,看到轨迹最大化的有效载荷送入350公里轨道最终速度约为7.5公里/秒。优化变量可能是燃料的质量和ISP,推力,球场的时间在启动策略和程序转弯出现的角。我从来没有做过MATlab的优化问题所以我不确定从哪里开始。这是解决代码的一部分。感谢任何帮助。
mass_payload = 150;%的质量载荷(公斤)
mass_fuel_struc = 2500;%火箭结构包括燃料的质量(千克)
m0 (i) = mass_payload + mass_fuel_struc;%火箭总质量(千克)
R_E = 6.3781 * 10 ^ 6;%地球的半径(米)
M_E = 5.9722 * 10 ^ 24;%的质量容易的(公斤)
G = 6.674 * 10 ^ -11;%万有引力常数(m ^ 3公斤^ 1 s ^ 2)
推力= 30000;%初始发动机推力(N)
isp = 292;%的ISP的燃料(s)
轨道= 350000;%的目标轨道的高度(米)
sim_time = 600;时间= 0:dt: sim_time;%总仿真时间
length_sim =长度(时间);
mdot = mass_fuel_struc / burntime;%质量油耗率(公斤/ s)
我= 1:length_sim-1
%密度计算器
如果y < = 11000
临时(i + 1) = 15.04 - -0.00649 * y(我);
p (i + 1) = 101.29 *((临时(i) + 273.1) / 288.08) ^ 5.258;
elseify < = 25000
临时(i + 1) = -56.46;
p (i + 1) = 22.65 * exp (1.73 - -0.000157 * y (i));
其他的
临时(i + 1) = -131.21 + 0.00299 * y(我);
p (i + 1) = 2.488 *((临时(i) + 273.1) / 216.6) ^ -11.388;
结束
ρ(i + 1) = p (i) /(0.2869 *(临时(我)+ 273.1));
%重力模型
g (i + 1) = (g * M_E) / (R_E + y (i)) ^ 2;
% D阻力
D (i + 1) = 0.5 * (i)ρ* v (i) ^ 2 *区* cd;
%的速度v级
v (i + 1) = (1) + (T / mo (i) - D(我)/ mo (i) - g (i) * sin (gam (i))) * dt;
%路径角度gam(从90年到0度)
如果我< = 25 / dt
gam (i + 1) = gam(我);
elseif25 / dt <我< = 40 / dt
gam (i + 1) = gam (i) - 0.0085 * gam (i) * dt;
其他的
gam (i + 1) = gam (i) - (v (g(我)/ (i) - v(我)/ (R_E + y (i))) * cos (gam (i))) * dt;
结束
% x下靶场距离
x (i + 1) = (1) + (R_E / (R_E + y (i)) * v (i) * cos (gam (i))) * dt;
y %的高度
(i + 1) = y(我)+ (v(我)* sin (gam (i))) * dt;
VG (i) = g(我)* sin (gam (i));
VD (i) = D(我)/ mo(我);
%火箭质量
如果我< = burntime / dt
m0 (i + 1) = m0 (i) - mdot * dt;
其他的%火箭已经耗尽的燃料质量现在是常数
m0 (i + 1) = m0(圆(burntime / dt));
T = 0;
结束
%动压
问(i + 1) =(ρ(我)* v(我)^ 2)/ 2;
%垂直速度
v (i + 1) = v(我)* sin (gam (i));
%水平速度
Vx (i + 1) = v(我)* cos (gam (i));
结束
1评论
Les贝克汉姆
Les贝克汉姆 2022年10月12日
你必须让你的模拟工作之前,你可以做任何优化。发布代码不工作。
一些额外的想法。
  1. 我没有看到任何在这段代码中控制的最终高度轨迹来实现所需的350公里,所以你可能要运行一个单独的优化路径角算法为每个其他参数的组合来实现正确的最终高度。
  2. 通常你不会有能力自由调整数量的燃料,所以你可能会想从你的优化参数,消除或至少把一些限制多少钱可以调整。
  3. 推力和ISP的也是如此。

登录置评。

答案(1)

詹姆斯Tursa
詹姆斯Tursa 2022年10月13日
编辑:詹姆斯Tursa 2022年10月13日
你提出的工作,国际海事组织方式超出了是可以实现的代码。这类约束优化不是微不足道的。试图最大化有效载荷以最后高度和速度的限制很大程度将取决于飞行路径,程序,甚至不是为优化设置调整到我可以告诉。我的建议是你的目标和尝试一些简单得多。喜欢得到你的程序正常工作总是在水平飞行,达到正确的高度即限制终点。然后开始工作在优化后的东西。
看起来你正在将x, y,速度,直接和飞行路线角。这有点不寻常……也许你可以把微分方程使用所以我们可以比较它与你的代码。
最后,这条线不做你期望:
elseif25 / dt <我< = 40 / dt
应该是这个
elseif我< = 40 / dt
5个评论
哈米什布朗
哈米什布朗 2022年10月13日
是的,你是对的。运动方程的假设地球是球形和旋转。因此,科里奥利效应被忽略和离心力。

登录置评。

类别

找到更多的在地球和行星科学帮助中心文件交换

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!