文号
946938
阅读
3517
回复
2
收藏
2
本文在AI协助下创作,作者声明AI的作用仅限于局部修饰性、辅助性工作,文章内容的严肃性由作者负责。
六自由度弹道模型+MATLAB计算器
许 栩然1
1. 北域喷气推进
2025/09/16
原创
IP:北京
摘要:This paper expounds the six-degree-of-freedom trajectory model, which is based on Newton's laws and Euler angles to solve 12 coupled differential equations describing the three-dimensional motion of the aircraft. It introduces the solution logic, defines the projectile and inertial coordinate systems, explains the key parameters, establishes the kinematic and dynamic equations, and uses the fourth-order Runge-Kutta method to solve them. A semi-finished MATLAB program that has not been tested was written.

六自由度弹道模型是用于描述飞行器(如导弹、炮弹、无人机等)在三维空间中运动的高精度动力学模型,考虑了重力、气动力、推力等外力,以及飞行器姿态(俯仰、偏航、滚转)对运动的影响。其解算过程基于牛顿运动定律和欧拉角姿态描述,核心是建立并求解一组12个耦合的微分方程,即三维位置矢量、三维速度矢量、三维姿态角矢量及三维角速度矢量的微分方程组。在爱好者日常使用中,则可以简化为三自由度弹道模型,即二维方向矢量、二维速度矢量及一维姿态角度矢量和一维角速度矢量的6个微分方程组。

一、基本解算逻辑

①建立坐标系

②给定初始状态(位置,速度,角度,角速度)

②建立质心及姿态运动学方程(得到三维的位置及三维姿态角的微分方程)

③建立质心及转动动力学方程(得到三维的速度及三维角速度的微分方程)

④由运动学及动力学方程列出出12个微分方程(位置、速度、姿态角、角速度关于时间微分)

⑤将微分方程组带入迭代方程,得到变化量,并更新状态

⑥迭代,直到结束(如落地/关机/命中)

二、坐标系定义

1. 弹体坐标系

原点为箭体质心

x轴为箭体指向头部

y轴在弹体纵向对称面内,垂直x轴向上

z轴垂直于x-y平面,且满足矢量叉乘右手定则

2. 惯性坐标系(地面坐标系)

原点为初始位置(发射点)

x轴沿水平面指向目标方向

y轴垂直向上

z轴垂直于 x-y 平面,且满足矢量叉乘右手定则

三、中间变量及关键参数

1. 关键参数确定

箭体三维特征长度矩阵表示为

image.png

箭体三维特征面积矩阵表示为

image.png

箭体三维表面积矩阵表示为

image.png 

2. 弹体坐标系与惯性坐标系转换矩阵C

箭体坐标系相对惯性坐标系的姿态转换由欧拉角俯仰角、偏航角、滚转角描 述, 转换矩阵(从箭体到惯性系)记为C。其表达式为

image.png 

Rx:绕x轴的旋转矩阵

Ry:绕y轴的旋转矩阵

Rz:绕z轴的旋转矩阵

各轴旋转矩阵的具体形式为

image.png 

3. 攻角α与侧滑角β

描述弹体纵轴与速度方向的夹角,是气动力系数和力矩系数的核心输入内容

image.png

image.png

(vx’,vy’,vz’):弹体坐标系的速度分量(由惯性坐标系通过C^-1转换)

v:弹体合速度

4. 空气密度ρ

可以通过大气模型查表或拟合公式计算得到,与海拔高度成反比

5. 重力加速度g

可以根据重力加速度模型查表或根据公式得到

image.png 

g0:海平面重力加速度

R:地球半径

Y:海拔高度

6. 气动力系数Cx,Cy,Cz,mx,my,mz

根据箭体CFD仿真得到Cx,Cy,Cz,mx,my,mz关于Ma,攻角,侧滑角,三维角速度的函数。三维气动力系数及三维气动力矩系数表示为

image.png

image.png

7. 科里奥利力Fc

科里奥利力是一种虚拟惯性力,将地球视为旋转的非惯性系,加入虚拟惯性力表示地球自转对物体运动的影响。其计算公式为

image.png 

w:地球自转角速度矢量

v:箭体在惯性坐标系运动的速度矢量

根据矢量叉乘公式则可以表示为

image.png 

θ:物体所在经纬度到地心与赤道平面的夹角

四、建立运动学方程

飞行器运动可以分为沿惯性坐标系的质心平动(用位置,速度表述)和沿弹体坐标系绕 质心转动(用姿态角,角速度表示)

1. 质心平动运动学方程

飞行器位置矩阵表示为

image.png

飞行器速度矩阵表示为

image.png 

则飞行器位置的三个微分方程可以表示为

image.png

2. 绕质心转动运动学方程

飞行器姿态矩阵表示为

image.png 

θ俯仰角:弹体坐标系x轴与水平面的夹角(向上为正)

ψ偏航角:弹体坐标系ox 轴在水平面的投影与 OX 轴的夹角(向右为正)

φ滚转角:oy 轴与纵向对称面的夹角(从头部看顺时针为正)

飞行器角速度矩阵表示为

image.png

wx:沿x轴旋转角速度

wy:沿y轴旋转角速度

wz:沿z轴旋转角速度

则飞行器姿态角对应的三个微分方程可以表示为

image.png 

五、建立动力学方程

飞行器动力学方程可以根据牛顿第二定理和欧拉转动方程建立

image.png

image.png 

1. 质心动力学方程

火箭外力主要由四种力组成即推力、气动力、重力及科里奥利力。

重力:在惯性坐标系上矩阵表示为

image.png

科里奥利力:在惯性坐标系上矩阵表示为

image.png

推力:在弹体坐标系上矩阵表示为

image.png 

气动力:在弹体坐标系中的矩阵表示为

image.png 

其中vn表示为

image.png 

弹体坐标系中的三维合力矩阵表示为

image.png 

惯性坐标系中的三维合力矩阵表示为

image.png 

根据牛顿第二定律,飞行器速度所对应的三个微分方程可以表示为

image.png 

2. 绕质心转动动力学方程

火箭外力矩主要包括气动力矩、控制力矩和推力矩。本文暂不考虑控制力矩和推力矩。则三维气动力矩矩阵可以表示为

image.png

根据欧拉转动方程,飞行器速度所对应的三个微分方程可以表示为

image.png

六、四阶龙格-库塔法Runge-Kutta求解

由于该计算高度耦合且非线性,无法解析求解,因此需要使用数值求解方法;而龙格库塔法则具有计算复杂度低、精度高和稳定度高的特点,可以自由选用如一阶、二阶等多种方法。同时在选用步长时,不易出现发散、震荡等问题。常用于物理模拟或工程计算

1. 求解核心思想

其核心思想为一阶微分方程的初值问题:

image.png 

即在每个步长内,通过 4 次计算函数f(x,y)的值,再用加权平均的方式更新y的值,从而得到y(xn+1)的近似解yn+1。可以理解为通过计算初点、中点和终点的斜率,求出该步长内y的变化量,最后更新到初点y值上。

2. 迭代公式

①给定初始点(xn,yn)

②计算4个斜率

image.png 

k1:初点的斜率

K2:中点的斜率

K3:基于k2对中点斜率的修正

K4:终点的斜率

③加权四个斜率并得到总增量,更新(x,y)

image.png 

3. 模型计算

在计算六自由度模型时迭代公式则为

image.png

七、总结

模型构建的关键环节:①定义弹体坐标系与惯性坐标系②确定箭体特征参数、坐标系转换矩阵、攻角与侧滑角等中间变量及关键参数③建立运动学方程(含质心平动与绕质心转动方程)与动力学方程(基于牛顿第二定律和欧拉转动方程)④引入四阶龙格 - 库塔法求解微分方程并迭代。

基于该数学模型,我使用Matlab编写了一个半成品程序(没有经过运行测试和debug)该程序仅作参考。


系统工程不仅仅解数学题,而是以理论为基础对于现实三维世界的探索,理论和实践永远相辅相成;就像人,永远都是理想与现实相互影响。作为一名16岁国际高中生,即将到来的2026年将会是影响我人生的一年。我需要兼顾很多,托福SAT课内GPA等等。希望在十年后,当我再次会看十年前写的这篇文章时,我的理想会变成现实。就像一个个理论变为现实。现在说这样的话可能会有些幼稚。但到那时,我可能才会真正体会到人生的浪漫之处。

希望我们都可以脚踏实地,向着梦想前进!

本文如有错误,欢迎指出。

attachment iconSix_Dimensions.m7.53KBM36次下载

1年1个月前IP:北京
946961
1楼

用个好点的大模型吧,6 DOF 都给搞成 6 Dimension 了,Rx和Rz也一眼重复。真有兴趣的话,找本 introduction 和 flight dynamics 系统看下。

引用
评论(1)
1
1年1个月前IP:江苏
946989
2楼

这不纯粹浪费时间嘛,连抄书都不如,懒得说了

显然弹道解算在火箭上的用武之地在于制导,充当基本函数,各种导引方法随便改。这东西直接搜就能搜出来,代码都有现成的,希望作者善后。对于业余而言有价值的研究方向不多(必须上箭拿数据,一般条件做不到,比如我)

可以从数学/物理角度分析,捣鼓一下数值求解方法,不要限于朴素RK4,比如用向后差分、RK5、其他方法、混合方法优化等等,这些比给AI代言有用的多。

如你结尾:

理论和实践永远相辅相成

引用
评论(1)
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的