发明名称 一种飞行器控制数据的转换方法
摘要 一种飞行器控制数据的转换方法,利用模板控制文件从控制数据文本文件中获取控制参数;对读取的各时间点的弹道程序角进行分析和扩展生成处理后的弹道程序角数据;根据读取的各时间点的导航参数和导引常系数计算各时间点所对应的弹道导引变系数,对各时间点所对应的弹道导引变系数进行分析和扩展生成处理后的弹道导引变系数;根据从模板控制文件中读取的数据的属性,生成高级语言能够识别的数据源码文件。本发明的转换方法实现对控制数据的自主分析和处理,能够快速、可靠地将控制数据文本文件转换为火箭飞行控制软件可识别的高级语言数据源码文件。
申请公布号 CN102930164B 申请公布日期 2015.07.08
申请号 CN201210433765.5 申请日期 2012.10.31
申请人 北京航天自动控制研究所;中国运载火箭技术研究院 发明人 崔宇;刘俊阳;巩庆海;宋征宇;吕新广;邹茜薇;李新明
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 中国航天科技专利中心 11009 代理人 褚鹏蛟
主权项 一种飞行器控制数据的转换方法,包括如下步骤:(1)建立模板控制文件,模板控制文件中的每行信息唯一地描述一个高级语言数据的属性,所述数据的属性包括数据的分类、数据编号、一维向量数据单元的大小、二维向量数据单元的大小、数据类型、数据名称和数据的注释;(2)将飞行器的控制数据存储在一个或多个控制数据文本文件中;控制数据文本文件中具有文件头注释和对每个数据的注释;每个控制数据包括数据名称、类型、数据个数、数值、在模板控制文件中对应的数据的个数及其对应的数据编号;(3)读取模板控制文件中每个数据的属性信息,并对其进行合理性检查;(4)从控制数据文本文件中逐项读取每个控制数据,并对读取到的控制数据进行检查;(5)对读取的各时间点的弹道程序角进行分析和扩展生成处理后的弹道程序角数据;(6)根据读取的各时间点的导航参数和导引常系数计算各时间点所对应的弹道导引变系数,对各时间点所对应的弹道导引变系数进行分析和扩展生成处理后的弹道导引变系数;(7)将各飞行段的切换时间由秒转换为控制周期数;(8)对步骤(5)、(6)、(7)处理后的数据和从控制数据文本文件中读取的其它数据,根据从模板控制文件中读取的数据的属性,生成高级语言能够识别的数据源码文件;所述步骤(5)进一步包括如下步骤:(5.1)按以下公式计算每个时间点的程序角变化率d1,d1[i]=(ProAng[i+1]‑ProAng[i])/(t[i+1]‑t[i])其中i=0,1......表示时间点,ProAng[i]为第i时间点的程序角,t[i]为第i时间点的时间值,(5.2)按以下公式计算每个时间点的程序角变化率的变化率d2,d2[i]=(d1[i+1]‑d1[i])/(t[i+1]‑t[i])其中i=0,1......表示时间点,d1[i]为第i时间点的程序角变化率,t[i]为第i时间点的时间值,(5.3)判断d2是否大于等于拟合误差系数Th;如果|d2|≥Th,则将拐点标志FlagCorner和选取标志TF均置为0xAA;否则将两个标志均置为0x55,拟合误差系数Th用于控制生成弹道程序角与标准弹道之间的偏差大小;(5.4)根据每个时间点的拐点标志FlagCorner是否为0xAA确定选取点范围,如果该时间点的拐点标志FlagCorner为0xAA,则将该时间点和其前后相邻的各2时间点的选取标志TF均置为0xAA,然后将每级程序角的起始点和终点的选取标志TF均置为0xAA;否则,直接将每级程序角的起始点和终点的选取标志TF均置为0xAA;(5.5)如果选取标志TF为0xAA的时间点总数N_Total_ProAng超过允许的最大值N_MAX_ProAng,则给出错误提示信息,否则对程序角数据进行扩展,扩展方法如下:①计算需要扩展的时间点个数N_Expand_ProAng=N_MAX_ProAng‑N_Total_ProAng;②对时间轴的扩展方法是按照固定的时间间隔DeltaT_ProAng从最后一个时间点T_End_ProAng对时间轴进行累加,每累加一次得到一个新扩展的时间点,直到累加N_Expand_ProAng次;时间轴的扩展还要覆盖所处飞行段的最长飞行时间T_MAX_Stage,即要满足以下条件:T_End_ProAng+N_Expand_ProAng*DeltaT_ProAng≥T_MAX_Stage;③扩展的时间点对应的程序角数值与最后一个时间点T_End_ProAng对应的程序角数值End_ProAng相同;所述步骤(6)通过如下步骤实现:(6.1)根据读取的随时间变化的导航参数v<sub>x</sub>、v<sub>y</sub>、v<sub>z</sub>、x、y、z和导引常系数<img file="FSB0000138473300000031.GIF" wi="96" he="65" />α=1…6计算每个时间点的导引变系数,计算公式为,<img file="FSB0000138473300000032.GIF" wi="1004" he="107" />(6.2)判断导引变系数的时间点总数N_Total_Lead是否超过允许的最大值N_MAX_Lead,如果导引变系数的时间点总数超过允许的最大值N_MAX_Lead,则对其按时间点进行隔点选取获得筛选后的时间点总数;如果筛选后的时间点总数N_Total_Lead仍超过允许的最大值N_MAX_Lead,则给出错误提示信息,然后转入步骤(6.3);如果筛选后的时间点总数N_Total_Lead不超过允许的最大值N_MAX_Lead,则转入步骤(6.3);如果导引变系数的时间点总数不超过允许的最大值N_MAX_Lead,则直接转入步骤(6.3);(6.3)对导引变系数进行扩展处理,具体方法如下:①计算需要扩展的时间点个数N_Expand_Lead=N_MAX_Lead‑N_Total_Lead;②对时间轴的扩展方法是按照固定的时间间隔DeltaT_Lead从最后一个时间点T_End_Lead对时间轴进行累加,每累加一次得到一个新扩展的时间点,直到累加N_Expand_Lead次;时间轴的扩展还要能够覆盖所处飞行段的最长飞行时间T_MAX_Stage,即要满足以下条件:T_End_Lead+N_Expand_Lead*DeltaT_Lead≥T_MAX_Stage;③扩展的时间点对应的导引变系数值按最后一个时间点T_End_Lead和倒数第M个时间点T_EndM_Lead分别对应的导引变系数值End_Lead和EndM_Lead的斜率外插处理,外插公式如下:Expand_Lead[i]=End_Lead+(i*DeltaT_Lead)*(End_Lead‑EndM_Lead)/(T_End_Lead‑T_EndM_Lead)其中i=1,2,......,N_Expand_Lead,Expand_Lead[i]为扩展出的第i个导引变系数值。
地址 100854 北京市142信箱402分箱