python运动仿真_硬核推导火箭运动方程,并用python仿真实现

本文详细介绍了火箭的运动方程推导,包括坐标系变换、欧拉角和四元数的转换,以及火箭6自由度的运动学方程。通过Python代码实现了火箭的运动仿真,模拟了不同阶段的推力和力矩对火箭姿态的影响。
摘要由CSDN通过智能技术生成

作者:yangjian

1 坐标系变换

火箭的运动方程是基于牛顿运动学方程推导,牛顿运动学方程是在惯性坐标系下成立的,目标的运动必须以固定的惯性坐标系为参考。本文研究带尾翼控制的火箭,火箭主要是由火箭发动机产生推力使箭体向上运动,由舵机控制尾翼产生使箭体旋转的力矩,这些在箭体坐标系下描述更合适,因此需要坐标系的变换。

惯性坐标系

​ 惯性坐标系是与地球固连的坐标系,通常选择NED坐标系,其原点在地面上一点,

轴指向北,

轴指向东方,

轴轴指向地心垂直向下。

箭体坐标系

箭体坐标系

轴指向火箭头部,

轴在火箭横轴对称面垂直于

轴,

轴按右手坐标系指向。

欧拉角

弹体(即弹体坐标系)相对地面坐标系的姿态,通常用3个角度(称欧拉角)来确定,

俯仰角

:火箭的纵轴与水平面 间的夹角。火箭纵轴指向水平面上方。

偏航角

:火箭纵轴在水平面内投影与地面坐标系

轴之间的夹角。

倾斜(滚动)角

:弹体坐标系的轴与包含导弹纵轴的铅垂平面之间的夹角。由箭体尾部顺纵轴前视。

惯性坐标系到箭体坐标系变换

箭体坐标可由惯性坐标系经过三次旋转变化得到。

旋转次序为:

。变换可用旋转矩阵

表示:

python代码实现如下:

def _Euler2Rotation(self, _phi, _theta, _psi):

phi = float(_phi)

theta = float(_theta)

psi = float(_psi)

c_phi = np.cos(phi)

s_phi = np.sin(phi)

c_theta = np.cos(theta)

s_theta = np.sin(theta)

c_psi = np.cos(psi)

s_psi = np.sin(psi)

R_roll = np.array([[1, 0, 0],

[0, c_phi, s_phi],

[0, -s_phi, c_phi]])

R_pitch = np.array([[c_theta, 0, -s_theta],</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值