在火箭中一种是长周期的控制,称为制导,一种是短周期的控制,称为姿控。说起来还是隐晦,这两个到底是什么东西呢?有什么区别?
首先,它们两个都闭环控制。
什么是闭环控制?
参考《动态系统的反馈控制》,个人认为比Katsuhiko Ogata的《现代控制工程》好。
按这本书第一章,以自动调温器控制壁炉为例。在系统工作过程中,若房间温度低于要求温度时,自动调温器点燃壁炉,房屋吸热量大于散热量,温度上升,直至达到设定值,关闭壁炉,房间朝外界散热温度下降,当下降到低于要求温度时,再重复此过程。
注意图中下侧的那条回路,因为回路的引入,可对系统的输出进行测量并反馈回来加以利用,构成了闭环控制,或反馈控制。反馈控制的基本组成如下图所示。
在上图中,过程就是房屋,它的输出是房屋温度,对这个过程的干扰是外界的换热。过程的设计对控制效果有很大影响,如关上窗户就比开着容易稳定温度。壁炉是执行机构,执行机构应能以满足要求的速度和范围快速改变过程输出。如果壁炉功率较小,如安徒生童话中小女孩的火柴,就无法达到需要的温度。
一般地,过程和执行机构紧密连接,控制设计主要是寻找一个合适输入给执行机构,过程和执行机构合在一起称为受控对象,用来准备求解要求的控制信号的装置称为控制器,本例中为温度控制器,它在温度低于要求值时打开壁炉,低于特定值时关闭壁炉。本例中温度计对房间温度进行测量,是传感器。
火箭控制系统框图也别无二致,这里箭体是过程,伺服机构,配电器(控制关机)是执行机构,箭机是控制器,惯性器件是传感器。
制导和姿控有什么区别呢?
什么是制导?
各种偏差下,真实弹道都是标准弹道下的扰动,制导的目的是将火箭导向目标。向标准弹道靠近不一定好使,因为需要保证七个参数(t, x, y, z, vx, vy, vz)等于预定值,这很困难,而且如果发动机不调节推力,控制量是不够的,不可能保证。另外,导向目标也不是一定要导向标准弹道。如下图所示,在标准弹道附近存在一个弹道族,在这里的七个参数只要满足一定关系,就能导向正确目标。
问题是,飞行中,射程怎么测量?
没法测!这就是制导面临的问题:没法测量?传感器可以测出当前的加速度、速度、位置,但就是没有传感器可以测出射程。
既然没办法测量射程,那么可以算吗?能不能写出计算方程?仍然很难,但我们可以确定,射程是一个关于关机点时间、速度、位置的确定性函数,也即L=L(t, x, y, z, vx, vy, vz)。只是这个函数难以写出来。
怎么办呢?制导设计很多时候就是在处理测量问题。两种思路:
精读法。在标准弹道基础上,采用泰勒展开,对每一时间点上写出一个近似函数,对函数直接求解,对应摄动制导。
通读法。不管标准弹道,对所有时间点写一个统一的近似函数,这个函数可能开始不准,但会越来越准,对应迭代制导。
前者书上说是隐式制导,后者书上说是显式制导,笔者总是一头雾水。精读法、近似函数,算是笔者的形象理解吧,不一定对,欢迎讨论。
摄动制导
在标准弹道附近可对关机时刻的射程进行泰勒展开!(下式为大一多元微积分内容,回忆起来了吗?)
这里的偏导数是指关机时刻偏导数,ΔL是实际射程与理论射程之差,Δx是实际位置与标准弹道位置之差。
现在目标明确了,实际射程与理论射程相等,即ΔL=0是需要的控制目标,将上式右侧的Δ项展开成实际值和理论值的部分可得:
从公式里可以看到7个偏导数,它们都可以根据标准弹道提前算好,称为偏差系数。
方程右侧的值,即偏差系数与标准弹道中时间、速度、位置相乘再求和,可以提前算好,称为关机特征量。导弹中只需要装订这7个系数加1个关机特征量,然后时刻将传感器敏感到的时间、位置、速度进行计算,再与关机特征量比较,即可确定是否关机。显然,由于是泰勒展开,要求真实弹道离标准弹道不要太多,它的精度终有瓶颈,同时也无法适应发动机推力下降等故障模式。
还记得上一篇已经给出,对于射程10000km的导弹,在关机点大约有:
这几个就是上面的偏差系数。
(泰勒公式:关于泰勒公式,本公众号后续会专题介绍。很多人不喜欢数学,这里打个比方,我们都知道地球是圆的,中国和美国在球的两头。但有个人说,我现在踩的地面是平的,也是没错的。那这是为什么呢?其实这就是泰勒展开。)
迭代制导
如上图,火箭飞行中,后面推力朝什么方向,落点在哪儿,无法计算。但任何时刻只要关机(图中K点),都对应一个落点(图中T点)。那换个角度,为让导弹飞行到落点,先不考虑后续发动机怎么推,假设只需在当前时刻推一下,后面不推了,可以计算一个速度增量和推的方向,那发动机就照这个方向推吧,只要不犯方向性错误总能达到目的地。
于是,复杂的导弹运动近似成了一个简单的二体问题(这里没说落地时大气阻力,真实应用时需要修正一下)。当然,只要发动机还在工作,这个近似就不准。但随着离落点越来越近,剩余发动机工作时间越短,就越准。当发现不需要速度增量落点就重合时,就可以关机了,关机时刻的近似方程终于准确了。
这就是迭代制导,原方程写不出来,那就做个近似,这个近似开始不准,但会越来越准。
什么是姿控?
制导控制的是诸如射程、半长轴之类的量,这些量没法测、难以算。因此制导设计(非实现)主要集中在“箭机”这个部分,即计算射程的方法。
姿控则不同,它控制的是箭体姿态角等角度,这个角度在火箭上装上一个传感器很容易测量,但姿控的问题在于,就像开车,要保证不翻车,需要对开的方法,以及车的特性有比较好的理解,因此姿控设计(非实现)主要集中在“箭体”这个部分,即火箭在外力下的行为。
后记
如前所述,制导和姿控都是闭环控制,但两者侧重点不同:
制导控制长周期运动,特征量无法测量,但稳定性不是关键。因此制导系统的设计要点在处理特征量问题;
姿控控制短周期运动,特征量容易测量,稳定性特别关键。因此姿控系统的设计要点在处理稳定性问题。
制导特征量传感器测不出来,方程太复杂也无法写出来,有两种处理思路:
精读法。在标准弹道基础上,对每个时间点上写一个近似函数(使用泰勒展开)的摄动制导。由于是泰勒展开,要求真实弹道离标准弹道不要太多,它的精度终有瓶颈,同时也无法适应发动机推力下降等故障模式,一般认为是第一代制导算法;
通读法。不管标准弹道,对所有时间点写一个统一的近似函数,这个函数开始可能不太准,但会越来越准,这就是迭代制导。迭代制导紧盯一个目标,能在一定程度上适应发动机推力降低等故障模式,同时需要地面计算和装订值少,一般认为是第二代制导算法。
以上四句是教科书都没有的,笔者自学自悟,但愿不要走火入魔,也请高人批评指正。
说到姿控稳定性,最好来点数学,详见下篇《火箭是怎么飞到目的地的:数学描述》。
本文来自微信公众号:理念世界的影子(ID:spaceodyssey1968),作者:洞穴之外