基于Python的多级火箭橇弹道计算软件设计

(整期优先)网络出版时间:2024-06-17
/ 2

基于Python的多级火箭橇弹道计算软件设计

朱华刚

(中国船舶集团公司第七一○研究所,湖北 宜昌 443003)

摘  要:火箭橇试验具有可重复性、可回收、便于观测等优点,成为惯导、雷达、伞和飞行器等装备性能测试的重要手段之一。速度是火箭橇试验技术的一项核心指标,为了对多级火箭橇全过程的弹道轨迹进行计算分析,开发了多级火箭橇弹道计算软件。基于Python,使用多层窗体和MYSQL平台数据库访问技术,完成软件编写;用火箭橇试验实测弹道数据来验证数学模型及软件的合理性。

关键词:多级火箭橇; 计算软件;  Python  弹道



1 引言


火箭橇试验是以火箭橇为运载平台,将被试件固定在火箭橇车体上,采用固体火箭发动机作为动力,推动火箭橇沿火箭滑轨高速运动,获得一系列飞行状态参数的动态试验过程。它可以解决飞机、导弹、宇航飞行器及各种武器在研制过程中有关高速度、高加速度可能带来的许多技术问题。火箭橇地面试验比空中实体飞行试验有较大的灵活性,对于观察试验结果和重复收集试验数据,都比较方便。例如对于可以回收的试验件可以进行仔细的观察和分析,从中找出产生故障和失败的原因,可以较准确地发现所研制的产品在定型前的设计和生产中存在的问题,便于进一步改进设计。这样不但能有效地缩短产品的研制周期,而且能减少由于飞行试验造成的人力、物力、财力的浪费。国外发达国家十分重视高速地面火箭,如美国建立15km长的火箭橇试验滑轨,开展了涉及航空、航天和兵器等相关领域的火箭橇专项试验。火箭橇试验如图1所示。

图 1 火箭橇试验

速度是火箭橇试验技术的一项核心指标,当单级火箭橇无法满足火箭橇试验速度要求时,通过研制多级火箭橇来满足试验要求,多级火箭橇是在单级火箭橇的基础上,通过串联的方式拼接而成,也就是凭借火箭接力的方式实现速度的突破。获得试验件分离轨迹、速度及分离姿态等参数也是火箭橇试验技术的一项核心指标,所以火箭橇试验前要计算出火箭橇时间-位移-速度曲线,通过该曲线布设光测相机的位置以及预设试验件分离启动的时间和位置,为了对多级火箭橇全过程的弹道轨迹进行计算分析,开发了多级火箭橇弹道计算软件。

2多级火箭橇动力学模型

火箭橇的运动按推力和阻力的关系可分为四个阶段:点火起动段、发动机工作段、惯性滑行段和刹车段。各阶段的动力学方程如下:

(1)点火起动段是指从点燃发动机到推力等于阻力、火箭橇开始运动这个阶段。点火起动段不需考虑空气阻力,因此当推力等于静摩擦力时滑车开始运动。

(2)火箭橇在发动机工作段的动力学方程为:

式中,M为火箭橇、试验件、测试设备和发动机壳体的总质量,它在运动过程中是不变的量;m为发动机药柱的质量,是一个变量;F为火箭发动机的推力,是一个变量;为橇车与轨道的动摩擦系数,是一个变量;为火箭橇的最大迎风面积;g为重力加速度,取g=9.8m/s2;为地面大气密度;为气动阻力系数,随速度变化;t为时间;为橇车的速度

(3)惯性滑行段指发动机熄火后到进入刹车系统的阶段。

其动力学方程为:

(4)刹车段指火箭橇进入预定刹车位置到停止运行的阶段。采用水戽斗刹车时其动力学方程为:

式中:刹车力  Fw =

(5)多级火箭橇每两级分离时的动力学方程为

a后级<a前级

3 软件开发与研究

3.1总体思路

多级火箭橇分离算法设计流程

图 2 多级火箭橇设计流程

3.2程序开发

a)基于MYSQL平台进行数据库管理。

本软件采用MYSQL数据库软件对相关数据进行储存和管理,这些数据包括多级火箭橇弹道计算所需的数据,以及用于管理的相关数据,如软件用户名及密码、以及工程名称等。整个软件采用16张表格对数据进行管理,具体如下:

表1 MYSQL数据库表格

序 号

表格名称

储存的数据

1

aerodyn

火箭气动力特征曲线数据

2

calcul_step

计算步长、打印步长等数据

3

engine

每个计算案例中火箭引擎推力曲线数据

4

engine_lang

数据库中存储的所有火箭引擎相关数据

5

friction

火箭摩擦曲线相关数据

6

proj_aero

火箭气动力作用开始时间、终止时间等相关数据

7

proj_base

计算案例基础数据,包括试验车质量、重心位置、滑行位置和点火点位置等

8

proj_eject

抛放物相关数据

9

proj_engine

火箭点火时间、熄火时间、重心位置和数量等数据

10

proj_fric

最后一个步长的起点速度、最后一个步长的Y坐标

11

proj_main

计算案例的名称、ID、创建时间、修改时间以及修改用户等数据

12

proj_move

移动物相关数据

13

proj_water

水刹车相关数据

14

sqtq

SQ,TQ曲线

15

users

用户名和密码

16

waterbrake

水刹车隔板位置和高度

b)基于PYTHON3.7 开发多级火箭橇弹道分析软件。

本软件采用PYTHON3.7对多级火箭橇分离算法进行程序实现,为了便于后期维护和进一步拓展,程序采用完全面向对象方式进行编制,整个程序由计算模块、数据库管理模块、界面显示模块以及程序许可模块构成。

(1)计算模块

计算模块的主要功能是根据数据库提供的数据,基于多级火箭橇动力学模型,对多级火箭橇弹道进行计算,其由以下类构成:

表2 计算模块的类及功能

序号

类名称

类的功能

1

CombineRockets

火箭分离计算类,计算两个火箭分离时间,以及各自的载荷曲线

2

DanDaoSystem

弹道计算类,计算弹道曲线

3

Engin

引擎类,初始化引擎相关数据,计算发动机推力曲线,燃油消耗等

4

ExperiCar

试验车类,初始化试验车数据,计算试验车的质量

5

MoveBody

移动物体类,初始化移动物体相关数据,计算移动距离,平均质量等

6

Pully

气动力特性类,计算气动力曲线斜率,摩擦曲线斜率等

7

ThrowBody

抛放物类,初始化抛放物,实现抛放物体功能

8

ConstNum

常数类,包括重力加速度、环境温度、空气密度等

(2)数据管理模块

数据管理模块的主要功能是从数据库读写相关数据,并用这些数据对计算模块中的引擎类和试验车类等的相关数据进行初始化,同时界面显示模块将对这些数据进行显示。该模块基于pymysql进行开发,pymysql提供了基于PYTHON3.0以上版本连接和操作MYSQL数据库的API接口,本程序基于pymysql实现了数据库中16张表的数据管理,包括增加、删除、修改以及排序等操作,这些功能由AllDB类实现。

(3)界面显示模块

界面显示模块主要对用户需要输入的数据、数据库相关数据以及计算结果以图形、表格等方式进行显示,从而实现更好的人机相互。本模块基于PYQT5进行开发。程序登录界面见图3,其实现了用户注册、登录,以及新建工程、打开工程和另存为工程等工程管理功能。

图3 程序登录、注册界面

当用户新建工程或者打开工程之后,程序进入主界面,该界面主要由以下部分构成:

1)引擎库页:该界面左边显示数据库中存储的引擎相关信息,包括编号和质量,右边分别以及表格和图形的方式显示当前选择的引擎对应的推力曲线,其中图形显示功能基于matplotlib库进行开发。

图4 程序主界面:引擎库页

2)工程数据页:该界面供用户输入相关数据,该界面由数个分组框(GroupBox)组成,包括试验车基本数据:供用户输入试验车质量、滑行距离等相关数据;气动力项目:供用户输入气动力曲线等数据;计算段:供用户输入计算起始时间、计算步长和打印步长;移动物体:供用户输入移动物体相关信息;抛放物体:供用户输入抛放物体相关信息;发动机组:供用户输入引擎相关信息;水刹车基本数据:供用户输入水刹车相关信息。

图5 程序主界面:工程数据页

3)计算结果页:该界面以表格形式显示计算结果,包括:

图6 程序主界面:计算结果页

4)程序许可模块

为了更方便的对程序的用户以及使用权限进行管理,本软件开发了程序许可模块。该模块采用加密算法对数据库相关信息,以及用户相关信息进行加密处理。同时对用户的权限进行管理,对每个工程的创建者、修改者以及修改时间等进行痕迹化管理,进一步保证数据库的安全性。

4算例与分析

在某试验基地进行了一发880km/h火箭橇试验。试验测试的时间速度曲线和软件计算的时间速度曲线如图7所示。


图7 试验测试数据和软件计算数据对比

通过试验测试数据和软件计算数据对比可知,在加速段和无动力滑行段,多级弹道软件计算的精度能达到1%以内,在制动刹车段多级弹道软件计算的精度能达到5%以内。

5 总结

1)多级火箭橇弹道分析软件采用完全面向对象方式进行编制,整个程序由计算模块、数据库管理模块、界面显示模块以及程序许可模块构成。

2)分析研究多级火箭橇的结构及运动规律,推导出火箭橇级间分离方程,建立多级火箭橇各种运动状态下的数学计算模型,可对级间分离条件下火箭橇弹道进行计算。

3)通过火箭橇试验实测弹道数据了验证数学模型及软件的合理性,在加速段和无动力滑行段,多级弹道软件计算的精度能达到1%以内,在制动刹车段多级弹道软件计算的精度能达到5%以内。

参考文献

[1]陈振甫,龚明生.火箭滑车性能计算软件说明书.第六一0研究所,1996.03

[2] 蔡敏.Python语言的Web开发应用分析[J].无线互联科技,2019

[3] 姚建盛、李淑梅. Python在科学计算中的应用[J]. 数学技术与应用,2016

[4] 张梅.滑动摩擦力影响因素解析.青海教育,2007.08

[5] 孔维红、张惠民.火箭橇发射过程的动力学分析及数值计算.四川兵工学报,2009.7