一种高精度高效率飞行器轨迹优化与制导切换方法与流程
本发明属于飞行器领域;具体涉及一种高精度高效率飞行器轨迹优化与制导切换方法。背景技术:::为了更好地完成各种空间探测任务,运载火箭相关技术一直备受航天领域学者的关注,而运载火箭的高成本问题一直是阻碍航天技术扩展的重要因素。为了降低发射成本,研究发展垂直起降可重复使用运载火箭成为潮流。随着美国太空探索技术公司的猎鹰9(falcon-9)火箭多次发射与子级回收成功,垂直起降可重复使用运载火箭子级返回技术引起了国内外学者的广泛关注。技术实现要素:本发明提供了一种高精度高效率飞行器轨迹优化与制导切换方法,通过凸优化方法改进,提高其计算效率,配合多项式制导方法保证垂直起降可重复使用运载火箭子级返回制导计算效率和计算精度。本发明通过以下技术方案实现:一种高精度高效率飞行器轨迹优化与制导切换方法,所述优化与制导切换方法包括以下步骤:步骤1:在初次进行制导指令计算时,应用基于凸优化的在线轨迹规划方法进行制导指令计算,并保存计算结果,作为后续计算的初值猜测;步骤2:完成首次在线轨迹规划后,在同一规划周期内,并行应用基于凸优化的在线轨迹规划方法和多项式制导方法,分别得到凸优化和多项式制导指令ucvx和uigm;步骤3:当||ucvx-uigm||<δ,δ为偏差要求范围,多项式制导方法规划精度满足要求,此时,切换至多项式制导方法进行制导计算,否则采用基于凸优化的在线轨迹规划方法计算的制导指令飞行;步骤4:切换至多项式制导计算制导指令后,直接应用多项式制导方法计算制导指令和关机时间,直至着陆。进一步的,所述凸优化的在线轨迹规划方法包括以下步骤:步骤1.1:初始化参数:标准弹道为初始参数;若初始点参数与标准弹道相差较大,则直接以当前点为初始点,标准弹道入轨点终端点,通过线性插值快速赋初值;步骤1.2:设置偏差容许相关参数值:包括松弛因子模量容许系数εδ1,松弛因子模量容许系数εδ2,线性化精度容许系数εe1,线性化精度容许系数εe2,罚函数系数容许范围[αxmin,αxmax],[αδmin,αδmax],以及动力学收敛精度要求εl、终端约束精度要求εψ,最大迭代次数kmax;步骤1.3:利用步骤1和步骤2的相关参数,迭代求解,置迭代次数k=0;步骤1.4:利用步骤3求解p2,得到优化变量步骤1.5:根据步骤4的优化变量判断线性化精度是否满足要求:若|e|>εe2,则令的罚系数αx=max{αx×2,αxmax},||δ||的罚函数αδ=min{αδ÷2,αδmin},并放弃本轮计算结果,返回步骤2;若|e|>εe2则更新优化变量置迭代次数k=k+1,|e|为线性化偏差向量的模;步骤1.6:判断步骤5的收敛精度满足情况:若|e|<εe1且线性化精度满足|δ|<εδ2,则令αδ=max{αδ×2,αδmax},αx=min{αx÷2,αxmin};步骤1.7:若|δj|<εδ1,则去掉第j个等式约束对应的松弛因子;若|δ|<εδ1,此时问题已经基本收敛,则直接迭代求解问题p1,实现快速收敛,δj为优化变量;步骤1.8:若满足如下收敛条件:||ψ(xk+1)||<εψ则求解完成,最优解为若k>kmax则求解失败,则返回步骤4开始新一轮迭代。进一步的,所述问题p1为信赖域罚函数的返回段轨迹规划问题为:式中f0为性能指标函数,为优化变量,αx为信赖域罚参数,fi为优化问题中的m个不等式约束,lj为优化问题中的p个等式约束。进一步的,为了避免伪不可行,所述问题p1被转化为p2,δ为松弛变量,αδ为其对应的罚参数;的维度为10n+1,δ的维度为7n+5。进一步的,在问题p2中的性能指标函数中,惩罚函数包括两项:和||δ||的罚函数,对应的罚系数为αx和αδ,在增大罚系数αδ时,必须同时考虑线性化精度问题,否则将严重影响求解精度,线性化偏差定义如下:δj为线性化模型中动力学等式约束求解精度,为实际精度,则按计算的线性化偏差ej∈[0,1],ej越小,线性化模型越精确,针对重型运载火箭轨迹规划问题,可设置两个线性化精度容许系数εe1,εe2,0<εe1<εe2<1,若|e|>εe2,则认为线性化偏差过大,需要增大罚系数αx,并放弃本轮计算结果,重新计算;若|e|<εe1,则认为线性化偏差较小,允许适当增大罚系数αδ或减小罚系数αx,以提高收敛速度。进一步的,设置两个松弛因子模量容许系数εδ1,εδ2,εδ1<εδ2,当|δ|<εδ2时,则已经收敛到可行解附近,需要适当增大罚系数αδ或减小罚系数αx,保证算法快速收敛;当算法继续收敛,满足|δj|<εδ1时,第j个等式约束已经收敛到一定精度,不需要引入松弛因子,则可去掉第j个等式约束对应的松弛因子,减小问题维度,提高求解效率。进一步的,所述步骤1.4具体为,给出针对某一离散阶段的系统动力学方程离散形式如下:其中,t0和tf分别为当前离散阶段内的初始和终端时刻,x(·)和u(·)分别为当前离散阶段内的离散状态和控制变量矢量,n为当前离散阶段内的配点数量;使用符号x表示所有离散状态变量集合,符号u表示所有离散控制变量集合,符号t表示时刻变量集合,并定义对于离散的动压和热流密度约束,其泰勒展开一阶线性化形式如下:其中,c11=ρv,c12=-ρv2/(2h0),c21=3.15kqρ0.5v2.15,c22=-kqρ0.5v2.15/(2h0)利用算法1对速度坐标系下的子级着陆问题进行求解。本发明的有益效果是:应用松弛因子和罚系数自适应调整方法,能够有效提高在线轨迹规划算法的计算精度和求解效率。同时,应用在线轨迹规划算法和制导方法切换策略,可以弥补在线轨迹规划算法制导精度低的缺陷,最终实现飞行器精确的轨迹规划与制导。附图说明附图1本发明的切换流程图。附图2本发明的凸优化方法流程图。具体实施方式下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。首先,为了更为科学准确的描述,给出制导指令计算方法规划精度和制导精度的概念:定义1规划精度:在进行制导指令计算过程中,算法所规划的飞行轨迹与实际最优轨迹之间的偏差。定义2制导精度:应用算法给出的制导指令飞行,终端指标与实际目标参数的偏差。多项式制导方法一般基于常值引力假设,且将最优姿态角简化为线性形式,将整个飞行段位置、速度简化为多项式函数,进而求解制导指令。该方法计算效率高,简便易行,可以基于短制导周期条件,通过实时校正保证算法的制导精度。然而其规划精度显然远低于基于凸优化的在线轨迹规划方法,轨迹最优性也无法得到充分保证。基于凸优化的在线轨迹规划方法在计算时,将整个飞行段离散为多个区间,且应用凸优化方法保证弹道最优性,其规划精度和弹道最优性远高于传统算法。然而由于其算法较为复杂,规划周期需要数秒的时间,在每次规划过程中火箭受到的干扰难以得到及时校正,导致算法的制导精度较差,无法适用于临近着陆的飞行过程。基于凸优化的在线轨迹规划方法适用于规划初期制导指令计算,而在临近着陆过程需要切换为多项式制导。多项式制导计算量小,几乎不影响计算效率,可与基于凸优化的在线轨迹规划方法并行进行。本发明研究一种滚动时域+多项式制导切换的制导策略,提高制导指令计算的鲁棒性和最优性,同时保证着陆精度和计算效率。一种高精度高效率飞行器轨迹优化与制导切换方法,所述优化与制导切换方法包括以下步骤:步骤1:在初次进行制导指令计算时,应用基于凸优化的在线轨迹规划方法进行制导指令计算,并保存计算结果,作为后续计算的初值猜测;步骤2:完成首次在线轨迹规划后,在同一规划周期内,并行应用基于凸优化的在线轨迹规划方法和多项式制导方法,分别得到制导指令ucvx和uigm;步骤3:当||ucvx-uigm||<δ,δ为偏差要求范围,多项式制导方法规划精度满足要求,此时,切换至多项式制导方法进行制导计算,否则采用基于凸优化的在线轨迹规划方法计算的制导指令飞行;步骤4:切换至多项式制导计算制导指令后,直接应用多项式制导方法计算制导指令和关机时间,直至着陆。垂直起降可重复使用火箭返回段在线轨迹规划与制导,分为初始规划段、并行规划段和末制导段。进一步的,所述凸优化的在线轨迹规划方法包括以下步骤:步骤1.1:初始化参数:标准弹道为初始参数;若初始点参数与标准弹道相差较大,则直接以当前点为初始点,标准弹道入轨点终端点,通过线性插值快速赋初值;步骤1.2:设置偏差容许相关参数值:包括松弛因子模量容许系数εδ1,松弛因子模量容许系数εδ2,线性化精度容许系数εe1,线性化精度容许系数εe2,罚函数系数容许范围[αxmin,αxmax],[αδmin,αδmax],以及动力学收敛精度要求εl、终端约束精度要求εψ,最大迭代次数kmax;步骤1.3:利用步骤1和步骤2的相关参数,迭代求解,置迭代次数k=0;步骤1.4:利用步骤3求解p2,得到优化变量步骤1.5:根据步骤4的优化变量判断线性化精度是否满足要求:若|e|>εe2,则令的罚系数αx=max{αx×2,αxmax},||δ||的罚函数αδ=min{αδ÷2,αδmin},并放弃本轮计算结果,返回步骤2;若|e|>εe2则更新优化变量置迭代次数k=k+1,|e|为线性化偏差向量的模;步骤1.6:判断步骤5的收敛精度满足情况:若|e|<εe1且线性化精度满足|δ|<εδ2,则令αδ=max{αδ×2,αδmax},αx=min{αx÷2,αxmin};步骤1.7:若|δj|<εδ1,则去掉第j个等式约束对应的松弛因子;若|δ|<εδ1,此时问题已经基本收敛,则直接迭代求解问题p1,实现快速收敛,δj为优化变量;步骤1.8:若满足如下收敛条件:||ψ(xk+1)||<εψ则求解完成,最优解为若k>kmax则求解失败,则返回步骤4开始新一轮迭代。进一步的,所述问题p1为信赖域罚函数的返回段轨迹规划问题为:式中f0为性能指标函数,为优化变量,αx为信赖域罚参数,fi为优化问题中的m个不等式约束,lj为优化问题中的p个等式约束。进一步的,为了避免伪不可行,所述问题p1被转化为p2,δ为松弛变量,αδ为其对应的罚参数;的维度为10n+1,δ的维度为7n+5;进一步的,在问题p2中的性能指标函数中,惩罚函数包括两项:和||δ||的罚函数,对应的罚系数为αx和αδ,理论上αx和αδ相互耦合:当αδ增大时,相当于算法对松弛因子的“惩罚”更为严重,同时对线性化步长约束相对放松,反之亦同理,所以,在增大罚系数αδ时,必须同时考虑线性化精度问题,否则将严重影响求解精度,线性化偏差定义如下:δj为线性化模型中动力学等式约束求解精度,为实际精度,则按计算的线性化偏差ej∈[0,1],ej越小,线性化模型越精确,针对重型运载火箭轨迹规划问题,可设置两个线性化精度容许系数εe1,εe2,0<εe1<εe2<1,若|e|>εe2,则认为线性化偏差过大,需要增大罚系数αx,并放弃本轮计算结果,重新计算;若|e|<εe1,则认为线性化偏差较小,允许适当增大罚系数αδ或减小罚系数αx,以提高收敛速度。进一步的,设置两个松弛因子模量容许系数εδ1,εδ2,εδ1<εδ2,当|δ|<εδ2时,则已经收敛到可行解附近,为保证罚函数对松弛因子的“惩罚”效果,需要适当增大罚系数αδ或减小罚系数αx,保证算法快速收敛(其前提是|e|<εe1,线性化偏差较小);当算法继续收敛,满足|δj|<εδ1时,可认为第j个等式约束已经收敛到一定精度,不需要引入松弛因子,则可去掉第j个等式约束对应的松弛因子,减小问题维度,提高求解效率。进一步的,所述步骤1.4具体为,给出针对某一离散阶段的系统动力学方程离散形式如下:其中,t0和tf分别为当前离散阶段内的初始和终端时刻,x(·)和u(·)分别为当前离散阶段内的离散状态和控制变量矢量,n为当前离散阶段内的配点数量;为避免变量混淆,省略表示离散阶段的下标,并将所有离散阶段的相同约束统一表示为一个式子;为简便起见,使用符号x表示所有离散状态变量集合,符号u表示所有离散控制变量集合,符号t表示时刻变量集合,并定义首先将vdp1问题抽象为一般的数值优化问题形式,据此建立改进的序列凸化算法,再在下一小节根据vdp1中的具体约束形式将算法中涉及的子问题模型具化;抽象为一般形式的vdp1问题可表示如下:其中,为性能指标函数;为非线性等式约束函数,即离散的系统动力学约束函数;为非线性不等式约束函数,即离散的动压和热流密度约束函数;为二阶锥约束函数,即凸化的推力幅值约束函数、以及线性的阶段连接条件和端点约束函数(线性约束是一种特殊的二阶锥约束,在此为简便起见使用上述统一的表示形式);n、m、p和q分别为所有优化变量数量、以及离散等式、不等式和二阶锥约束的数量。上述函数在其定义域内都是连续可微的。在此指出,pisc算法对性能指标函数的形式不做限制,可为迈耶型、拉格朗日型或波尔扎型,其离散后都可用所示的非线性函数表示。此外,算法对非线性约束函数的具体形式要求也十分宽泛,只需在其定义域内连续可微。因此,pisc可广泛适用于大多数航天器轨迹优化问题。然而其求解性能则与相关参数的合理设计、调试以及问题的非线性程度密切相关。在pisc中,不直接对vdp1的线性化形式进行求解,而是先引入松弛变量构造其等价的罚形式问题,再对松弛罚问题进行线性化和求解。在此称vdp1的松弛罚问题为vdp2,其形式如下:其中,vdp2的优化变量由增广为和分别为对应等式约束和不等式约束的松弛变量,αh和αg则分别为对应松弛变量的罚参数。由数值优化原理可知,在罚参数足够大时,vdp2与vdp1是等价的。对vdp2中的原性能指标函数f(·),以及除去二阶锥约束以外的约束函数进行基于一阶泰勒展开的线性化处理,得到其对应的近似凸问题vlp2:vlp2即为在pisc算法中迭代求解的凸子问题,其优化变量为其中,变量中的上标k表示算法迭代次数,为在第k次迭代中基于给定参考轨迹展开的“扰动量”,为对的罚函数项,ck为第k次迭代中的罚参数,▽h(·)和▽g(·)分别为等式和不等式约束函数对所有优化变量在处的偏导数。首先说明泰勒展开参考轨迹的取法,在算法第一次迭代时,由用户或初值生成器提供,在后续迭代中,取为第k次迭代迭代计算的结果由于线性化展开的局部有效性,即只有在附近取值时线性化函数才是对原函数的良好近似,因此需要对的取值范围进行严格的约束。将对取值的约束称为“信赖域”约束,且直接以不等式约束的形式加在近似子问题中,即形如其中δ为针对每个优化变量设计调试得到的信赖域参数,其取值大小决定了“信赖域”的大小,且在算法迭代过程是不变常量。pisc算法采用罚形式的“柔性软约束”信赖域同时信赖域罚参数ck在迭代过程中根据当前线性化误差的度量进行动态调整。一方面,采用罚形式的软约束可在初始参考轨迹质量较低时增强近似子问题的可行性。另一方面,根据迭代状态更新罚参数可使算法收敛性能得到提高。ck更新的基本原则是:在线性误差过大时,放弃当前计算结果,并在下一次迭代中增大罚参数以控制线性化误差;在线性化误差可接受时,采用当前计算结果,并在下一次迭代中保持当前罚参数值;在线性化误差较小时,采用当前计算结果,并在下一次迭代中缩小罚参数,以使得算法在更大的范围内寻优。通过上述策略,可避免子问题不可行,也可在迭代过程中对近似子问题的线性化误差进行有效控制,进而使算法收敛速度得以提升。除了采用罚形式的信赖域约束外,vlp2还中还有一种保证其迭代初期可行性的有力措施,即在vdp2中引入的将等式和不等约束松弛、并将松弛变量加入性能指标惩罚的方式。在pisc中,分别将ξh和ξg称为“虚拟控制量”和“约束可行域补偿量”。对系统动力学等式约束进行线性化处理这一过程,在数学上是一种近似,而在物理上则是破坏了原问题的结构、改变了系统的可控性。因此,如果原系统的非线性较强,则可能会在算法迭代初期出现参考轨迹可行、原问题物理可行,而近似子问题不可行的情况,这一现象被称为“伪不可行”。为避免上述情形出现,vdp2和vlp2中引入了松弛变量ξh,且对ξh不加硬约束,而是在性能指标中进行惩罚。进而算法可在迭代初期以较大的虚拟控制量来弥补线性化近似导致的系统可控性不足,保证子问题的可行性;同时随着迭代解近似精度的提高以及罚函数的作用,在迭代后期松弛变量会迅速收敛。松弛变量ξg对近似不等式约束起到类似作用。线性化约束的可行域包含在原约束可行域内,即线性化处理使上述非线性过程约束的可行域有所减小。如果参考轨迹中约束函数值接近其实际可行域边界,则可能导致线性化约束不可行。将松弛变量ξg称为约束可行域补偿量同样是指其物理意义在于补偿由于线性化近似导致的可行域收缩,进而避免伪不可行。在上述罚形式信赖域参数更新方法中,核心要素是对每次迭代结果进行有效的线性化近似误差估计。在此,设计一种简单直接的线性化误差度量方法。首先,定义如下两个函数:直观可见,函数体现了在优化变量值取为时,原非线性等式和不等式约束的“满足程度”,函数值越小表示约束可行度越高;而函数表示在参考轨迹取为扰动量取为时,线性化近似等式和不等式约束的“满足程度”。那么,在算法迭代过程中,数值则表示:针对原问题,第k次迭代结果相对于第(k-1)次迭代结果在约束满足程度上的改进;同理,数值表示:针对近似子问题,第k次迭代结果相对于第(k-1)次迭代结果在约束满足程度上的改进。若上述两个数值接近,则可知第k次迭代计算得到的扰动量对原问题和近似子问题产生的效应近似,即线性化处理未使近似子问题产生相对于原问题的显著数值差异,线性化误差较小。相反,若二者差别较大,则说明在扰动量的作用下,近似子问题与原问题会产生明显数值差异,即线性化误差较大。据此,定义针对第k次迭代结果的线性化误差度量系数rk如下:由于扰动量是基于近似子问题求解得到的,则相对于近似子问题约束的满足程度总是优于其相对与原问题的约束满足程度,即因此对于任意一次迭代均有,则有:综上,当系数rk接近于1时,则认为当前线性化近似精度较高;相反当rk远小于1,当前线性化精度过低。结合上述信赖域罚参数更新方法,设计信赖域更新判据参数0<ρ1<ρ2<1,这两个参数将每次迭代的线性化误差度量系数分为三档,同时,设计相应的信赖域罚参数更新比例系数0<σ1<σ2<1以及更新策略:若rk<ρ1则认为线性化精度过低,置ck+1=σ2·ck,若rk∈[ρ1,ρ2)则认为线性化精度过低,置ck+1=σ2·ck;若rk∈[ρ1,ρ2)表示精度可以接受,置ck+1=mid(cmin,ck,cmax);若rk>ρ2,精度较高,置ck+1=mid(cmin,σ1,ck,cmax)。其中,cmin和cmax分别为信赖域罚参数容许上下限,函数mid(·,·,·)定义如下:至此,pisc算法相关设计要素讨论完毕,基于上述讨论,给出算法流程如下。在实际算法实现中,vlp2问题性能指标中的二次项均通过变量代换的方式转换为线性性能指标项以及附加的二阶锥约束,即算法在每次迭代中求解一个二阶锥规划问题。相对hicp算法,如上可以看出pisc需要较多的设计参数,且需要由用户或初始生成器提供初始参考轨迹,这是pisc的一个缺点。然而,通过相关减缓初值敏感性措施的设计,以及合理的参数调试,pisc在计算效率和精度方面与hicp同样有潜力适应在线轨迹优化应用的要求,且可解决hicp难以处理的问题。对于某一离散阶段的系统动力学方程式(1),其泰勒展开一阶线性化形式为:其中,ω(x)=(t0-tf)·ω(x),ω(x)为系统动力学中地球自转相关项;t:=[t0,tf]为时间变量;上标k表示算法迭代指标,{xk,uk,tk}为线性化近似的参考轨迹,如前所述,在第一次迭代中,其值取为用户或初值生成器给出的初值轨迹,在后续迭代中,其值取为上一次迭代的计算结果;矩阵依据动力学方程右端函数形式,以及相应的状态和控制变量矢量定义,矩阵a(xk,uk)和b(xk,uk)的形式为如下,矩阵中元素的具体形式如表5-1所示;在表中,为书写简洁,令▽表示角度变量θ和σ。表5-1a和b矩阵元素形式table5-1elementsofmatricesaandb矩阵t(xk,uk)的各个元素即为对应的系统动力学右端方程的正值或负值,在此不再赘述。对于离散的动压和热流密度约束,其泰勒展开一阶线性化形式如下:其中,c11=ρv,c12=-ρv2/(2h0),c21=3.15kqρ0.5v2.15,c22=-kqρ0.5v2.15/(2h0)。采用上述结果,即可利用算法1对速度坐标系下的子级着陆问题进行求解。当前第1页1 2 3 当前第1页1 2 3