CN102930164B - 一种飞行器控制数据的转换方法 - Google Patents
一种飞行器控制数据的转换方法 Download PDFInfo
- Publication number
- CN102930164B CN102930164B CN201210433765.5A CN201210433765A CN102930164B CN 102930164 B CN102930164 B CN 102930164B CN 201210433765 A CN201210433765 A CN 201210433765A CN 102930164 B CN102930164 B CN 102930164B
- Authority
- CN
- China
- Prior art keywords
- data
- time point
- lead
- proang
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种飞行器控制数据的转换方法,利用模板控制文件从控制数据文本文件中获取控制参数;对读取的各时间点的弹道程序角进行分析和扩展生成处理后的弹道程序角数据;根据读取的各时间点的导航参数和导引常系数计算各时间点所对应的弹道导引变系数,对各时间点所对应的弹道导引变系数进行分析和扩展生成处理后的弹道导引变系数;根据从模板控制文件中读取的数据的属性,生成高级语言能够识别的数据源码文件。本发明的转换方法实现对控制数据的自主分析和处理,能够快速、可靠地将控制数据文本文件转换为火箭飞行控制软件可识别的高级语言数据源码文件。
Description
技术领域
本发明涉及一种飞行器控制数据的转换方法,用于对控制数据文本文件内容自动提取、处理,并转换为高级语言数据源码文件。
背景技术
随着我国载人航天工程的深入开展,对运载火箭的入轨精度提出了更高的要求,特别是近年来控制系统冗余技术和迭代制导方法的引入,使得运载火箭飞行控制数据的数量大大增加。为满足交会对接任务高精度入轨要求,运载火箭系统直到发射前4小时才能确定最终的轨道参数、瞄准参数和风修正参数,由于运载火箭的飞行控制数据直接决定火箭入轨参数,一旦出现错误可能导致发射延迟或者发射终止甚至任务失败,这就要求必须能够快速、可靠地将控制数据转换为火箭飞行控制软件可识别的高级语言数据源码格式,采用人工数据转换方式无论实时性还是可靠性均已无法满足目前需求,因此,控制数据文本文件向高级语言数据源码文件的转换技术对保障发射可靠性和飞行成功意义重大。
目前,由于战时快速反应的需要,对控制数据转换实时性要求较高的主要集中在军用领域。如某战术导弹在发射前将需要装订的控制数据转换为二进制格式后直接上传至飞行控制计算机中使用,该方法虽然简单可行,但其与飞行控制软件和编译器的耦合度极高,一旦装订地址不匹配则很可能造成灾难性后果。再如某战略导弹制程序(含数据)生成系统能够在获取目标状态后,迅速计算出装订数据,替代来原来的人工操作计算,大大增强了战略导弹的反应速度,但该系统主要针对装订数据的计算问题,且仅支持面向汇编语言的应用和特定的应用对象,不具备对数据的提取和分析能力,无法实现向高级语言的数据转换,且扩展能力较差。
发明内容
本发明所要解决的技术问题是:克服现有数据转换技术的不足,提供一种灵活易扩展的飞行器控制数据的转换方法,实现对控制数据的自主分析和处理,能够快速、可靠地将控制数据文本文件转换为火箭飞行控制软件可识别的高级语言数据源码文件。
本发明包括如下技术方案:
一种飞行器控制数据的转换方法,包括如下步骤:
(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;
(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)根据读取的随时间变化的导航参数vx、vy、vz、x、y、z和导引常系数α=1…6计算每个时间点的导引变系数,计算公式为,
(6.2)判断导引变系数的时间点总数N_Total_Lead是否超过允许的最大值N_MAX_Lead,
如果导引变系数的时间点总数超过允许的最大值N_MAX_Lead,则对其按时间点进行隔点选取获得筛选后的时间点总数,如果筛选后的时间点总数N_Total_Lead仍超过允许的最大值N_MAX_Lead,则给出错误提示信息;如果筛选后的时间点总数N_Total_Lead小于允许的最大值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_ProAng>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个导引变系数值。
所述步骤(5)中DeltaT_ProAng大于等于1秒,拟合误差系数Th为0.001。
步骤(6)中DeltaT_Lead大于等于1秒,M小于等于5。
所述步骤(7)由双精度浮点数Tqh转换为无符号长整型数Nqh,Nqh=(UNIT32)(Tqh/Period+0.5),其中Period为飞行器的控制周期。
Period等于0.02。
所述高级语言为C语言。
本发明与现有技术相比的优点在于:本发明实现了对控制数据的自主分析、信息提取和转换,能够自动生成弹道程序角和导引变系数数据,并可智能扩展覆盖整个飞行段,具有更强的自适应能力;通过模板控制文件实现对控制数据的分类管理,配置灵活方便,无需数据库等软件环境支撑,能够快速、可靠、自动地将控制数据文本文件转换为火箭飞行控制软件可识别的高级语言数据源码文件,提高了转换效率,避免了人工转换带来的质量风险;该方法对读取的控制数据进行检查,确保了读取的控制数据的有效性和转换结果的安全性。
附图说明
图1为本发明的转换方法的流程图;
图2为本发明的弹道程序角生成过程示意图;
图3为本发明的导引变系数生成过程示意图。
具体实施方式
下面结合附图对本发明做进一步详细的说明:
如图1所示,本具体实施方式一种飞行器控制数据的转换方法,包括以下步骤:
(1)建立模板控制文件Templet,它是控制数据与高级语言数据源码之间的映射桥梁。模板控制文件Templet中的每行信息唯一地描述一个高级语言数据的属性,这些属性包括:
a.数据的分类:为一个字符串,可根据数据的应用特点分为Part1、Part2、Part3......等若干类;
b.数据编号ID:为一个非负的整型数据,是为每个数据分配唯一的编号,编号ID可根据数据的分类划分为不同的区段;
c.一维向量数据单元的大小LENTH_OF_VEC_1D:为一个非负的整型数据,是指一维向量数据所占数据单元的个数,如果该数据为普通数据则本属性为0,如果该数据为二维向量数据,则本属性是指二维向量数据中第一维数据单元的个数;
d.二维向量数据单元的大小LENTH_OF_VEC_2D:为一个非负的整型数据,是指二维向量数据中第二维数据单元的个数,如果该数据为普通数据或一维向量数据则本属性为0;
e.数据类型TYPE:为一个字符串,用于指明该数据的表示类型,常用的包括:无符号字节型BYTE8、无符号短整型UINT16、无符号长整型UINT32、有符号字节型CHAR8、有符号短整型INT16、有符号长整型INT32、单精度浮点型REAL32和双精度浮点型REAL64等;
f.数据名称NAME:为一个字符串,是指在该数据在高级语言数据源码中的标识符;
g.数据的注释:为一个字符串,是对该数据的辅助说明信息,该属性将全部输出到最终生成的高级语言数据源码文件中。
数据分类和数据名称的长度均不超过40个字符,数据注释长度不超过100个字符。
可通过对模板控制文件Templet中信息的增减或修改来实现对最终生成的高级语言数据源码的灵活配置。
(2)将控制数据按照规定的接口协议存储在控制数据文本文件中,该接口协议中明确控制数据文本文件的个数、名称和格式要求等,典型的接口协议应包括以下内容:
a.明确控制数据文本文件的个数,可为一个或多个,一般应包括:制导参数、姿控参数、综合参数、惯性组合参数等;
b.明确每个控制数据文本文件的名称,文件的扩展名可为txt或dat;
c.控制数据文件中应具有文件头注释和对每个数据的注释,所有注释均以某特殊标识符进行标记,例如:以作为结束标志;
d.每个数据应包括数据名称、类型、数据个数、数值大小以及与模板控制文件Templet中对应数据的个数N及其对应的数据编号ID,例如控制数据Para与模板控制文件Templet中的两个数据项Data1和Data2相关,则N=2。
(3)读取模板控制文件Templet中每个数据的属性信息,并对其进行合理性检查,合理性检查的内容包括:
a.数据编号ID的非负性和唯一性;
b.一维向量数据单元的大小LENTH_OF_VEC_1D和二维向量数据单元的大小LENTH_OF_VEC_2D的非负性;
(4)从控制数据文本文件中逐项读取每个控制数据,并对读取到的每个控制数据进行检查;检查方法如下:
(4.1)根据在(3)中已读取到的模板控制文件Templet的信息,检查从控制数据文本文件中读取的数据编号ID是否为有效,如果读取的数据编号ID不在模板控制文件Templet中,则向用户提示错误信息。
(4.2)对从控制数据文本文件中读取到数据的数值进行类型匹配、合理性和一致性检查,检查的内容包括:
a.类型匹配检查是指从每个数据的数值表示应与其数据类型相符,出现以下不相符的情况时应给出错误提示信息:
①整型数据中出现了字符“0”~“9”、“+”和“-”以外的字符;
②十六进制数据中出现了字符“0”~“9”、“A”~“F”、“a”~“f”、“H”和“h”以外的字符;
③浮点数出现了字符“0”~“9”、“+”、“-”、“E”、“e”和“.”以外的字符;
b.合理性检查是指对于时间、计数、总速度、总位置数据,其数值应具有非负性,同时对于弹道数据文件中的飞行时间应具有单调递增性,否则应给出错误提示信息;
c.一致性检查是指控制数据之间的相符性,包括:
①对于姿控网络(其中m为网络阶数,Ai和Bj为网络系数),应具有 的关系;
②各弹道数据文件中的特征信息应相互一致,例如:制导数据文件和弹道数据文件中各飞行段关机时间必须相同;制导数据文件与综合数据文件中载荷状态必须一致,或是飞船状态或是目标飞行器状态;
(4.3)指定的数据个数与实际数据个数应相同,如果不相同,则应给出错误提示信息。
(5)弹道程序角信息的自主分析、提取和生成。
弹道程序角表征了火箭的飞行轨迹,根据火箭飞行段可分为一级程序角、二级程序角等,因此程序角是一组以时间轴为自变量的变化的角度数据。一般在工程应用中,考虑到硬件空间的限制,程序角数据不能直接转换为高级语言数据源码,应对其进行分析,提取特征信息后进行转换。如图2所示,从弹道程序角数据文件中提取程序角数据步骤如下:
a.逐行读取弹道程序角数据文件中数据,直到文件结束;
b.对读取到的时间和程序角数据按步骤(4.2)中a的方法进行类型匹配检查;
c.弹道程序角数据文件中会将火箭关键动作时间点的程序角数据重复存储,读取时需要将重复数据剔除;
d.按以下公式计算每个时间点的程序角变化率d1,
d1[i]=(ProAng[i+1]-ProAng[i])/(t[i+1]-t[i])
其中i=0,1......表示时间点
ProAng[i]为第i点的程序角
t[i]为第i点的时间值
e.按以下公式计算每个时间点的程序角变化率的变化率d2,
d2[i]=(d1[i+1]-d1[i])/(t[i+1]-t[i])
其中i=0,1......表示时间点
d1[i]为第i点的程序角变化率
t[i]为第i点的时间值
f.如果|d2|≥拟合误差系数Th,则将拐点标志FlagCorner和选取标志TF均置为0xAA,否则将两个标志均值为0x55,拟合误差系数Th用于控制生成的弹道程序角与标准弹道之间的偏差,如果Th取0,则生成的弹道与标准弹道完全一致,但所需的硬件内存资源最大,如果Th取值越大,则生成的弹道与标准弹道之间偏差越大,但占用的硬件内存资源越小,选取Th值时要兼顾弹道精度与硬件资源二者之间的均衡,达到最优的性价比;
g.根据每个时间点的拐点标志FlagCorner是否为0xAA确定选取点范围,如果该点的拐点标志FlagCorner为0xAA,则将该点和其前后相邻的各2点均的选取标志TF均值为0xAA,此外,每级程序角的起始点和终点的选取标志TF均值为0xAA;
h.如果选取标志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_MAX_Stage从综合参数数据文件中读取到;
③扩展的时间点对应的程序角数值按与最后一个时间点T_End_ProAng对应的程序角数值End_ProAng保持一致的原则进行扩展,扩展个数为N_Expand_ProAng个。
采用上述方法生成的弹道程序角更为逼近标准弹道,避免了传统程序角生成过程中由于需要人工判断弹道转弯点和选取时间点带来的人为偏差,将数据转换引入的偏差对飞行过程的影响降到了最低。同时生成的弹道程序角与标准弹道的拟合度可以通过拟合误差系数Th进行控制,能够实现弹道精度与硬件资源间的最优配置。
(6)弹道导引变系数的生成。
导引变系数用于控制火箭沿标准弹道轨迹飞行,一般分为横向导引和法向导引。导引变系数需要从弹道参数数据文件中提取各时间点的导航数据vx、vy、vz、x、y、z,再从制导参数数据文件中读取导引常系数α=1…6后计算得到,导引变系数是一组以时间轴为自变量的变化的数据,如图3所示,具体步骤如下:
a.逐行读取弹道参数数据文件中数据,直到文件结束,获得时间和导航数据vx、vy、vz、x、y、z;逐行读取制导参数数据文件中数据,获得导引变系数α=1…6;
b.对读取到的时间和导航数据按步骤(4.2)中a的方法进行数据类型匹配检查;
c.弹道参数数据文件中会将火箭关键动作时间点的导航数据重复存储,读取时需要将重复数据剔除;
d.按以下公式计算每个时间点的导引变系数,每个飞行段的法向、横向导引变系数计算方法相同,以法向导引变系数为例计算公式为,
e.如果导引变系数的时间点总数超过允许的最大值N_MAX_Lead,则对其按时间点隔点选取的原则进行筛选,如果筛选后的时间点总数N_Total_Lead仍超过允许的最大值N_MAX_Lead,则应给出错误提示信息;
f.如果导引变系数的时间点个数小于允许的最大值N_MAX_Lead,则再对其进行扩展处理,具体方法如下:
①计算需要扩展的时间点个数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_ProAng>T_MAX_Stage,其中T_MAX_Stage从综合参数数据文件中读取到;
③扩展的时间点对应的导引变系数值按最后一个时间点T_End_Lead和倒数第M个时间点T_EndM_Lead分别对应的导引变系数值End_Lead和EndM_Lead的斜率外插处理,M为平滑系数,选取M个点的平均斜率可以减小瞬时干扰对导引变系数外插的影响,一般选取M≤5,外插公式如下:
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个导引变系数值。
上述方法实现了导引变系数从弹道参数数据和制导参数数据的直接计算、选取和扩展,有效避免了人工处理引入的风险,提高了转换效率;能够通过调整平滑系数M减小瞬时干扰对导引变系数扩展结果的影响,有效降低飞行过程中导引计算偏差引入的干扰。
(7)将各飞行段的切换时间由秒转换为控制周期数,需将姿控参数数据文件中的转段时间由双精度浮点数Tqh转换为无符号长整型数Nqh,转换方法为:Nqh=(UINT32)(Tqh/Period+0.5),其中Period为飞行器的控制周期。采用此方法可以避免使用浮点数据进行判断时引入的偏差,实现飞行过程中转段时间的精确控制。
(8)根据从模板控制文件Templet中读取的数据属性信息,生成高级语言能够识别的数据源码文件,可以是一个源码文件,也可以根据数据类型分为多个源码文件。如果高级语言为c语言,则文件的扩展名为.c,例如生成一个数据源码文件zy.c。
高级语言能够识别的数据源码文件格式如下:
a.单个数据格式:数据类型(空格)数据名称=数值;/*注释*/
b.一维向量数据格式:数据类型(空格)数据名称[N]={数值1,数值2,......数值N};/*注释*/
其中N为一维向量数据单元个数
c.二维向量数据格式:数据类型(空格)数据名称[M][N]={{数值11,数值12,......数值1N},{数值21,数值22,......数值2N},......{数值M1,数值M2,......数值1N}};/*注释*/
其中M为一维向量数据单元个数,N为二维向量数据单元个数。
所述的步骤(1)中数据分类和数据名称的长度均不超过40个字符,数据注释长度不超过100个字符。
所述的步骤(5)的h中DeltaT_ProAng和步骤(6)的f中DeltaT_Lead应≥1秒,步骤(6)的f中的M应≤5。
所述的步骤(7)中的飞行器控制周期Period一般取值0.02。
所述的步骤(8)中生成的数据源码文件可被高级语言编译器识别。生成的数据源码中姿控浮点类型的数据均应采取保留15位有效数字的科学计数法表示,其余浮点类型的数据均应采取保留8位有效数字的科学计数法表示。
实施例
本实施例中以从火箭控制系统数据文本文件中读取制导、姿控和综合参数,自动分析、提取和转换为弹道程序角和导引变系数,并扩展覆盖本飞行段,最终转换为C语言可识别的数据源码文件为例进行说明。具体包括如下步骤:
(1)建立模板控制文件zy.t,文件中的每行信息唯一地描述一个高级语言数据的属性,下面选取典型的数据进行说明。
ZH 3009 0 0 REAL64 gzy_dTk2z_DS /*II级主机定时关机时间(20ms周期数) */
SQ 6000 0 0 REAL64 dBmz/* 瞄准俯仰角Bmz */
GD 1079 110 2 REAL64 gzy_dTableFai_cx_2[110][2] /* II级程序角(俯仰) */
GD 1086 1 6 REAL64 gzy_dVecKcZf[6] /* 法向导引常系数 */
GD 1091 200 3 REAL64 gzy_dTableKfKp_2Z[200][3] /* 主机段(横、法向)导引变系数 */
GD 1093 80 3 REAL64 gzy_dTableKfKp_2U[80][3] /* 游机段(横、法向)导引变系数 */
ZK 2053 1 25 REAL64 szy_dNetParaGama_XJ[25] /* 滚动网络系数(芯I级) */
每个数据含7个属性信息,其中:
第1列:ZH、GD、ZK和SQ分别表示数据为综合数据、制导数据、姿控数据和射前更改数据
第2列:3009、6000、1079、1086、1091和2053分别为各数据ID,其中0~999为硬件数据,1000~1999为制导数据,2000~2999为姿控数据,3000~3999为综合数据,6000~6999为射前数据;
第3、4列:0、0表示该数据为普通数据,1、6表示1×6的一维向量数据,110、2表示110×2的二维向量数据;
第5列:UINT32、REAL64分别表示该数据为无符号长整型和双精度浮点型;
第6列:分别为各数据名称;
第7列:分别为各对应数据的注释内容。
可通过对模板控制文件zy.t中信息的增减或修改来实现对最终生成的高级语言数据源码的灵活配置。
(2)控制数据文本文件的接口协议,主要内容如下:
a.控制数据文本文件共10个,文件名称及所含内容分别为:
①Guid.dat:制导参数
②ZKzhuy.dat:姿控参数
③综合参数.dat:综合参数
④捷联惯性测量组合系数表.txt:惯组标定系数
⑤inersta.dat:弹道参数(飞行时间、速度、位置等)
⑥pitcha.dat:俯仰弹道程序角参数
⑦yawa.dat:偏航弹道程序角参数
⑧瞄准参数.dat:瞄准参数
⑨目标轨道参数.dat:射前目标轨道参数
⑩text.bin:飞行软件代码段二进制文件
b.下面选取典型数据进行说明。
①俯仰程序角数据文件(pitcha.dat)
文件说明:本文件描述了火箭飞行过程中俯仰通道弹道数据
二级俯仰通道弹道数据,第一列为飞行时间(单位:s),第二列为二级飞行时间(单位:s),第三列为俯仰程序角(单位°)
②弹道参数数据文件(inersta.dat)
文件说明:本文件描述了火箭飞行过程中各飞行时刻速度位置数据
火箭飞行弹道参数数据,第一列为飞行时间(单位:s),第二列为二级飞行时间(单位:s),第3~5列为xyz三方向速度(单位:米/秒),第6~8列为xyz三方向位置量(单位:千米)
③制导参数数据文件(Guid.dat)
文件说明:本文件描述制导系统设计参数
主机段横向导引常系数Kjzψ,分别对应vx、vy、vz、x、y、z
Lead_Uf_2Z REAL64 6 1 1091
-3.11040700e-002
7.12667700e-003
1.00000000e+000
-5.54770000e-006
1.50292200e-006
5.91778200e-004
④综合参数数据文件(综合参数.dat)
文件说明:本文件描述线路综合系统设计参数
二级主机定时关机相对时间(单位:s)
TK2Z_DS REAL64 1 1 3009
30.0
⑤姿控参数数据文件(ZKzhuy.dat)
文件说明:本文件描述姿控系统设计参数
芯级飞行段滚动通道网络
XJ_GamaNet_Para REAL64 5 1 2053
2.63783784295327e-001
-4.29909372277751e-001
2.33735108506741e-001
-1.69092790617454e+000
7.58537426698863e-001
其中:
第1个字段:为注释内容,以为注释内容的结束标志,包括文件头注释和数据注释;
第2个字段:数据名称,如:t_ts_FICX;
第3个字段:数据类型,如:REAL64;
第4个字段:该数据含有的数据单元个数,如:430;
第5个字段:该数据与模板控制文件zy.t中对应的数据个数,如果为2则表示该数据与模板控制文件中的2个数据相关,弹道参数数据与模板控制文件zy.t中的1091(主机段导引变系数)和1093(游机段导引变系数)两个数据项相关;
第6个字段:为与模板控制文件zy.t中相关的数据编号ID;
第7个字段:为该数据的数值;
(3)对从模板控制文件zy.t中读取的每个数据的属性信息进行合理性检查,合理性检查的内容包括:
a.数据编号ID的非负性和唯一性;
b.一维向量数据单元的大小LENTH_OF_VEC_1D和二维向量数据单元的
大小LENTH_OF_VEC_2D的非负性;
(4)读取步骤(2)中的10个控制数据文本文件中的数据信息,并对读取的数据进行如下检查:
(4.1)如果该数据的第6个字段的ID值不在zy.t中,则认为从控制数据文本文件中读取的数据编号ID为无效,应向用户提示错误信息。
(4.2)对从控制数据文本文件中读取到数据的数值进行类型匹配、合理性和一致性检查,检查过程如下:
a.类型匹配检查:例如,从某数据的第3个字段得知其数据均为双精度浮点型数据,以字符形式对该数据所包含的全部数据单元进行数据类型检查,即要求每个数据单元的字符串中仅能出现“0”~“9”、“+”、“-”、“E”、“e”和“.”这些字符,否则要向用户提示错误信息;
b.对于俯仰程序角数据和弹道参数数据要检查其中的飞行时间、二级飞行时间应具有非负性和单调递增特性,如果不符合则向用户提示错误信息;
c.对姿控参数数据文件中芯级飞行段滚动通道网络数据的一致性检查是要求其所含的5个数据单元满足以下公式:
(2.63783784295327e-001
-4.29909372277751e-001
+2.33735108506741e-001)
=(-1.69092790617454e+000
+7.58537426698863e-001)
如果不满足上述关系,则应向用户提示错误信息;
(4.3)检查数据文件中指定的数据个数与实际数据个数应相同。例如该数据第4个字段信息表示该数据含有430个数据单元,在读取第7个字段时要记录已读取的该数据的数据单元个数,如果大于或小于430个,都应则向用户提示错误信息。
(5)弹道程序角信息的自主分析、提取和生成。如图2所示,以从俯仰弹道数据文件中提取俯仰程序角数据步骤如下:
a.逐行读取俯仰弹道程序角数据文件pitcha.dat中数据,直到文件结束;
b.对读取到的时间Fcx[i].t和程序角数据Fcx[i].ProAng按步骤(4.2)中a的方法进行数据类型匹配检查,其中i为时间点;
c.如果读取的当前点的时间Fcx[i].t与上一点的时间Fcx[i-1].t相同,则用当前点的数据Fcx[i].t和Fcx[i].ProAng替换上一点的数据Fcx[i-1].t和Fcx[i-1].ProAng,即剔除程序角数据中重复信息;
d.按以下公式计算每个时间点的程序角变化率Fcx[i].d1,
Fcx[i].d1=(Fcx[i+1].ProAng-Fcx[i].ProAng])/(Fcx[i+1].t-Fcx[i].t)
其中i=0,1......表示时间点
Fcx[i].ProAng为第i点的俯仰程序角
Fcx[i].t为第i点的时间值
e.按以下公式计算每个时间点的程序角变化率的变化率Fcx[i].d2,
Fcx[i].d2=(Fcx[i+1].d1-Fcx[i].d1)/(Fcx[i+1].t-Fcx[i].t)
其中i=0,1......表示时间点
Fcx[i].d1为第i点的程序角变化率
Fcx[i].t为第i点的时间值
f.如果|Fcx[i].d2|≥0.001,则Fcx[i].FlagCorner=0xAA,Fcx[i].TF=0xAA,否则置Fcx[i].FlagCorner=0x55,Fcx[i].TF=0x55;
g.如果Fcx[i].FlagCorner=0xAA,则置Fcx[i-2].TF=0xAA、Fcx[i-1].TF=0xAA、Fcx[i+1].TF=0xAA和Fcx[i+2].TF=0xAA。如果Fcx[i].t为每级程序角的起始点和终点,则置Fcx[i].TF=0xAA;
h.计算Fcx[i].TF=0xAA的时间点总数N_Total_Fcx,N_Total_Fcx如果超过允许的最大值110,则应给出错误提示信息,否则按如下方法对程序角数据进行扩展:
①计算需要扩展的时间点个数N_Expand_Fcx=110-N_Total_Fcx;
②按照固定的时间间隔5秒从最后一个时间点N_Total_Fcx对时间轴进行累加,按以下公式进行时间点的扩展:
Fcx[N_Total_Fcx-1+j].t=Fcx[N_Total_Fcx-1].t+5*j
其中j为扩展的时间点个数,取值范围为:j=1,......,N_Expand_Fcx;
如果要求程序角时间点覆盖本飞行段最长飞行时间300秒(该时间从综合参数.dat文件中读取到),则要判断:
如果Fcx[109].t<300,则Fcx[109].t=Fcx[109].t+5,并重新判断,直到满足该条件;
③扩展的时间点对应的程序角数值按与最后一个时间点N_Total_Fcx对应的程序角数值End_Fcx保持一致的原则进行扩展,即:
Fcx[N_Total_Fcx-1+j].ProAng=Fcx[N_Total_Fcx-1].ProAng
其中j为扩展的时间点个数,取值范围为:j=1,......,N_Expand_Fcx;
(6)弹道导引变系数的生成。如图3所示,以主机段法向导引变系数为例,具体步骤如下:
a.逐行读取弹道参数数据文件inersta.dat中数据获得时间和导航参数,直到文件结束;读取制导参数数据文件Guid.dat,获得法向导引常系数K11、K12、K13、K14、K15、K16;
b.对读取到的时间和导航参数Navi[i].t、Navi[i].vx、Navi[i].vy、Navi[i].vz、Navi[i].px、Navi[i].py、Navi[i].pz按步骤(4.2)中a的方法进行数据类型匹配检查,其中i为时间点;
c.如果读取的当前点的时间Navi[i].t与上一点的时间Navi[i-1].t相同,则用当前点的数据Navi[i].t、Navi[i].vx、Navi[i].vy、Navi[i].vz、Navi[i].px、Navi[i].py、Navi[i].pz替换上一点的数据Navi[i-1].t、Navi[i-1].vx、Navi[i-1].vy、Navi[i-1].vz、Navi[i-1].px、Navi[i-1].py、Navi[i-1].pz,即剔除程序角数据中重复信息;
d.按以下公式计算主机段每个时间点的法向导引变系:
Navi[i].Uf=K11*Navi[i].vx+K12*Navi[i].vy+K13*Navi[i].vz
+K14*Navi[i].px+K15*Navi[i].py+K16*Navi[i].pz
其中i为时间点;
e.如果法向导引变系数的时间点总数超过允许的最大值200,则对其按时间点隔点选取的原则进行筛选,如果筛选后的时间点总数N_Total_Uf仍超过允许的最大值200,则应给出错误提示信息;
f.如果法向导引变系数的时间点个数N_Total_Uf小于允许的最大值200,则再对其进行扩展处理,具体方法如下:
①计算需要扩展的时间点个数N_Expand_Uf=200-N_Total_Uf;
②按照固定的时间间隔2秒从最后一个时间点T_End_Uf对时间轴进行累加,按以下公式进行时间点扩展:
Navi[N_Total_Uf-1+j].t=Navi[N_Total_Uf-1].t+2*j
其中j为扩展的时间点个数,取值范围为:j=1,......,N_Expand_Uf;
如果要求主机段法向导引时间点覆盖本飞行段最长飞行时间300秒(该时间从综合参数.dat文件中读取到),则要判断:
如果Navi[199].t<300,则Fcx[199].t=Fcx[199].t+2,并重新判断,直到满足该条件;
③扩展的时间点对应的法向导引变系数值按最后一个时间点(N_Total_Uf)和倒数第三个时间点(N_Total_Uf-2)分别对应的法向导引变系数值Navi[N_Total_Uf-1].Uf和Navi[N_Total_Uf-3].Uf的斜率外插处理,外插公式如下:
Navi[N_Total_Uf-1+j].Uf=Navi[N_Total_Uf-1].Uf+(2*j)
*(Navi[N_Total_Uf-1].Uf-Navi[N_Total_Uf-3].Uf)
/(Navi[N_Total_Uf-1].t-Navi[N_Total_Uf-3].t)
其中j为扩展的时间点个数,取值范围为:j=1,......,N_Expand_Uf;
Navi[N_Total_Uf-1+j].Uf为扩展出的第i个法向导引变系数值
(7)将二级主机定时关机时间由秒转换为控制周期数,转换方法为:gzy_dTk2z_DS=(UINT32)(Tk2Z_DS/Period+0.5),其中Period=0.02为运载火箭控制周期。
(8)根据从模板控制文件zy.t中读取的数据属性信息,将每个数据项逐行写入到最终的数据源码文件zy.c,生成高级语言数据源码文件。具体方法:
①建立数据源码文件zy.c;
②按照模板控制文件zy.t中各数据的属性信息,按照下面③的a、b和c中单个数据、一维向量和二维向量的格式要求,将数据类型、数据名称、等号、数值、分号和注释内容依次写入数据源码文件zy.c中;
③高级语言能够识别的数据源码文件格式如下:
a.单个数据格式:数据类型(空格)数据名称=数值;/*注释*/
例如:II级主机定时关机时间数据生成数据源码的格式为:
UINT32 gzy_dTk2z_DS=1500;/*II级主机定时关机时间*/
b.一维向量数据格式:数据类型(空格)数据名称[N]={数值1,数值2,......数值N};/*注释*/
其中N为一维向量数据单元个数
例如:姿控数据的芯级飞行段滚动通过网络数据生成数据源码的格式为:
REAL64 szy_dNetParaGama_XJ[25]={
2.63783784295327e-001,
-4.29909372277751e-001,
+2.33735108506741e-001,
-1.69092790617454e+000,
7.58537426698863e-001
};/*芯级滚动网络*/
c.二维向量数据格式:数据类型(空格)数据名称[M][N]={{数值11,数值12,......数值1N},{数值21,数值22,......数值2N},......{数值M1,数值M2,......数值1N}};/*注释*/
其中M为一维向量数据单元个数,N为二维向量数据单元个数
例如:II级俯仰程序角数据生成数据源码的格式为:
REAL64 gzy_dTableFai_cx_2[110][2]={
{0.000,23.775},
{10.000,23.775},
{11.000,23.724},
{12.000,23.673},
……
{301.434,-33.994}};/*俯仰程序角(II级)*/
例如:主机段导引变系数数据生成数据源码的格式为:
REAL64gzy_dTableKfKp_2Z[200][3]={
{120.0000,1373.2689,-123.4307},
{124.0000,1462.5115,-126.6072},
{126.0000,1508.7129,-128.2683},
{128.0000,1556.0507,-129.9823},
……
{507.7630,1111.0711,-184.6248},
{509.7630,1070.5301,-184.5715},
{511.7630,1029.7178,-184.5169}};
/*主机段(横、法向)导引变系数*/
本发明实施例中以从火箭控制系统数据文本文件中读取制导、姿控和综合参数,自动分析、提取和转换为弹道程序角和导引变系数,并扩展覆盖本飞行段,最终转换为C语言可识别的数据源码文件为例进行了说明,在本发明实施例的基础上可以扩展为针对为其他系统(如运载火箭的故障检测系统等)的数据提取和分析处理,并转换为其他高级编译器可识别的数据源码文件格式。
本发明未详细描述内容为本领域技术人员公知技术。
Claims (6)
1.一种飞行器控制数据的转换方法,包括如下步骤:
(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)根据读取的随时间变化的导航参数vx、vy、vz、x、y、z和导引常系数α=1…6计算每个时间点的导引变系数,计算公式为,
(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个导引变系数值。
2.根据权利要求1所述的一种飞行器控制数据的转换方法,其特征在于,所述步骤(5)中DeltaT_ProAng大于等于1秒,拟合误差系数Th为0.001。
3.根据权利要求1所述的一种飞行器控制数据的转换方法,其特征在于,步骤(6)中DeltaT_Lead大于等于1秒,M小于等于5。
4.根据权利要求1所述的一种飞行器控制数据的转换方法,其特征在于,
所述步骤(7)由双精度浮点数Tqh转换为无符号长整型数Nqh,Nqh=(UNIT32)(Tqh/Period+0.5),其中Period为飞行器的控制周期。
5.根据权利要求4所述的一种飞行器控制数据的转换方法,其特征在于,Period等于0.02。
6.根据权利要求1所述的一种飞行器控制数据的转换方法,其特征在于,所述高级语言为C语言。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210433765.5A CN102930164B (zh) | 2012-10-31 | 2012-10-31 | 一种飞行器控制数据的转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210433765.5A CN102930164B (zh) | 2012-10-31 | 2012-10-31 | 一种飞行器控制数据的转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102930164A CN102930164A (zh) | 2013-02-13 |
CN102930164B true CN102930164B (zh) | 2015-07-08 |
Family
ID=47644961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210433765.5A Active CN102930164B (zh) | 2012-10-31 | 2012-10-31 | 一种飞行器控制数据的转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930164B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103675659B (zh) * | 2013-11-30 | 2016-06-08 | 许继电气股份有限公司 | 断路器分合闸时行程-时间波形预处理方法与装置 |
CN104950286A (zh) * | 2015-06-10 | 2015-09-30 | 哈尔滨工业大学 | 单被动雷达限制条件下最优拐点的确定方法 |
CN107133380B (zh) * | 2017-03-31 | 2018-05-22 | 北京蓝箭空间科技有限公司 | 运载火箭发动机耗尽/关机段的一种制导程序角处理方法 |
US20190320383A1 (en) * | 2018-04-16 | 2019-10-17 | General Electric Company | Methods and apparatus for dynamic network evaluation and network selection |
CN111208990B (zh) * | 2019-12-27 | 2024-05-24 | 苏州数设科技有限公司 | 一种对象分析方法与装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7963442B2 (en) * | 2006-12-14 | 2011-06-21 | Simmonds Precision Products, Inc. | Spin stabilized projectile trajectory control |
CN101672606B (zh) * | 2009-09-30 | 2012-09-26 | 北京航天自动控制研究所 | 一种运载火箭的导引控制方法 |
-
2012
- 2012-10-31 CN CN201210433765.5A patent/CN102930164B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102930164A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102930164B (zh) | 一种飞行器控制数据的转换方法 | |
CN101655837B (zh) | 一种对语音识别后文本进行检错并纠错的方法 | |
CN104392047B (zh) | 一种基于平稳滑翔弹道解析解的快速弹道规划方法 | |
CN106407333A (zh) | 基于人工智能的口语查询识别方法及装置 | |
CN108036676A (zh) | 一种基于三维再入弹道解析解的全射向自主再入制导方法 | |
CN102393850B (zh) | 一种汉字字形认知相似度确定方法 | |
CN106250364A (zh) | 一种文本修正方法及装置 | |
CN111709406B (zh) | 文本行识别方法及装置、可读存储介质、电子设备 | |
CN108090400A (zh) | 一种图像文本识别的方法和装置 | |
CN106021227A (zh) | 一种基于状态转移与神经网络的汉语组块分析方法 | |
CN110334724B (zh) | 基于lstm的遥感对象自然语言描述及多尺度矫正方法 | |
CN105068990B (zh) | 一种面向机器翻译的多策略英文长句分割方法 | |
Liang et al. | BERT enhanced neural machine translation and sequence tagging model for Chinese grammatical error diagnosis | |
CN105808523A (zh) | 一种识别文档的方法及装置 | |
CN109522417A (zh) | 一种公司名的商号抽取方法 | |
CN115222950A (zh) | 一种面向嵌入式平台的轻量化目标检测方法 | |
Namysl et al. | NAT: Noise-aware training for robust neural sequence labeling | |
CN110069771B (zh) | 一种基于语义组块的管制指令信息处理方法 | |
CN114065738A (zh) | 基于多任务学习的中文拼写纠错方法 | |
CN112988982A (zh) | 一种计算机比较空间的自主学习方法及系统 | |
CN115130437B (zh) | 一种文档智能填写方法、装置及存储介质 | |
CN110929013A (zh) | 一种基于bottom-up attention和定位信息融合的图片问答实现方法 | |
CN116166768A (zh) | 一种基于规则的文本知识抽取方法及系统 | |
CN113375663B (zh) | 一种基于性能预估的多源信息融合自适应导航方法 | |
CN115903900A (zh) | 一种基于语义理解的无人机航线规划方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |