李仲林,程子敬,郝晓强
(中国空间技术研究院第503 研究所 北京 100095)
近年来,低轨卫星迅速发展,对于低轨卫星的相关研究是当前研究的热点,同时由于低轨卫星的高速运动也对时间同步的跟踪速度和精度有了更高要求。
PID 算法产生于20 世纪初,是迄今为止工业生产中仍使用最多的算法,其简单的结构、易于操作等特点使其在100 年后的今天仍然是最常用的控制算法[1]。在此基础上发展了许多改进型的PID,其使用“基于误差反馈来消除误差”的控制策略是其最宝贵的思想。自抗扰控制(Active Disturbance Rejection Control,ADRC)算法是韩京清先生在1998 年提出的,其由3 大核心部分组成:过渡过程(跟踪微分器TD)、非线性状态误差反馈控制率(NLESF)和扩张状态观测器(ESO)[2]。近年来,ADRC 快速发展,孙彪等[3]在韩京清教授提出的综合函数fhan 的基础上进一步探讨研究,推导出了性能更好的fsun 函数。ADRC算法相比PID 来说,结构上略微复杂,需要调整的参数也相对较多。陈宗祥等[4]提出设计PI 控制器和一阶低通滤波器的方法来直接获取线性ADRC 的参数,推导PI控制器和线性ADRC 的参数对应关系,解方程来得到线性ADRC 的参数。目前对于参数整定的研究大都集中在线性自抗扰控制器上。高志强博士[5-6]提出了线性的ADRC 控制算法,同时提出频率尺度的概念,并将控制器需要整定的参数减少为3 个。
本文在简要分析两个算法的基础上,在复杂的空间环境下针对跟踪系统建立仿真模型,使用STK-MATLAB 仿真得到仿真结果,通过结果分析两个算法的跟踪性能。
PID 控制算法可以看成是误差的过去(积分I)、误差的现在(比例P)和误差的未来(微分D)的线性组合,其结构单一,实际的表达式一般可以写成:
式中:K为反馈增益;Ti为积分时间常数;Td为微分时间常数。PID 算法已经发展的非常成熟,在此不再详细叙述,调节此控制算法一般只需要调节其中的P、I、D 3个参数即可。
ADRC 控制算法由3 大部分组成,其结构见图1。
如图1 所示,各部分的组成数学表达式如下所示:
过渡过程(TD):
此处使用的是文献[3]中的函数fsun,而不是函数fhan。
扩张状态观测器(ESO):
非线性状态误差反馈控制率(NLESF):
其中:
其中,r 为快速因子,影响的是ADRC 控制器的跟踪速度,此参数可以粗取较大值,当大到一定程度后,对系统的跟踪影响不再特别敏感;h是采样的步长,由系统确定;h0影响对输入的滤波效果,一般为h 的比例关系,此处取为5 倍h值;β1、β2和β3为扩张状态器的权值因子,需要根据实际系统具体调整;a为非线性饱和因子,δ为非线性函数线性区间宽度,这两个参数是控制器的自带参数,调整好后一般不需要再做更改;b0为系统的输出增益,决定补偿强弱,与实际控制对象有关,越接近控制对象越好;β01为非线性比例误差系数,β02为非线性微分误差系数,这是需要根据控制对象调整的参数。
与PID 相比,如果将NLESF 部分用线性组合来代替,ADRC 的结构上就多两个部分,一个是过渡过程,一个是扩张状态观测器。下面就这两个部分对ADRC 和PID 的控制性能做理论上的分析比较。
在PID 中,虽然“基于误差反馈来消除误差”是PID的精髓所在,但是直接选取目标值与实际行为之间的误差来进行控制太过于简单,并不是完全合适[7]。当目标值与实际行为之间的误差较大时,没有过渡过程的PID 控制为了能够尽快将目标值与当前的实际行为之间的差值给消除掉,控制参数中比例控制的参数值将会取得很大,从而达到快速控制的目的,但是这样带来的影响便是超调的出现。ADRC 算法中,在输入值进入控制算法前,首先通过过渡过程,过渡过程的作用便是将目标值与实际行为之间的差值“平滑化”,使控制过程无超调的进行。
PID 控制算法中可以使用状态观测器来使得控制效果更好,同时为了抑制扰动带来的影响,PID 算法中的误差积分的反馈确实有效,但是当无扰动作用时,误差积分的反馈常使闭环的动态特性变差,而对随机变化的扰动来说,积分反馈的抑制能力又不显著。ADRC 算法采用扩张状态观测器,与PID 相比的区别与优势在于将系统未建模的动态、已建模的动态和外扰部分的作用看成“总和扰动”。把作用于被控对象的所有不确定因素作用都归结为“未知扰动”而用对象的输入输出数据对它进行估计并给予补偿。可以认为是ADRC 的扩张状态观测器能够比PID 获得更多的信息,从而能给出更好的控制效果,带来的好处便是对于扰动有很强的抗扰能力。
本文采用STK-Matlab 联合仿真,使用的低轨卫星是公开的YINHE-1 的星历建立的仿真,采用的是双向比对反馈时间同步方法得到低轨卫星与地面站之间的时间偏差值。其大致过程见图2。
如图2 所示,从STK-Matlab 中得到时间偏差信息后,首先需要对偏差进行最小二乘法粗调整,因为控制算法的控制能力不是无限的,是有一定范围的,所以先将很大的偏差调整到控制算法可控的范围内,此处是将其偏差变化值控制在70 以内。相应的PID 和ADRC 的数学模型如上所述。
首先是跟踪特定值时,PID 与ADRC 的不同仿真结果。
PID 与ADRC 算法跟踪特定值,见图3、图4。
由图3 与图4 可知,PID 虽然能正常跟踪上定值,但是在跟踪过程中存在超调,调节时间在0.7 s 左右。
由图5和图6可知,ADRC在跟踪过程中几乎是无超调的,其调节时间更是不到0.1 s,跟踪速度快且无超调,效果更好,其中跟踪的实际输出曲线与估计的输出曲线重合。
其无超调的原理解释在前文已经有所介绍,图7 是过渡过程的仿真输出曲线。
由图7 可知,对初始输入进行处理,将阶跃的定值“平滑”化,控制输出实际跟踪的是过渡过程曲线。
在分析了无扰动的输入的情景后,为了更好地对比PID 与ADRC 算法的性能,下面的仿真模拟星地间的时间偏差值受其他因素影响,使得偏差值为正弦变化的情况下,两种控制算法的跟踪情况见图8、图9。
在原参数的情况下,PID 跟踪效果不好,所以对PID的参数进行了改变优化,得到了图8。对比仿真图8 和图9 可以得到,即使在改变了PID 参数的情况下,其跟踪的效果仍然略差于ADRC。PID 的跟踪曲线的实际值总是会在正弦信号的峰值处低于目标值5 左右。而ADRC 在相同的位置的差值仅为1.5,差距明显,在ADRC 算法下,正弦曲线几乎完美跟踪上。
通过上述理论分析和仿真验证可以得到如下结论。
(1)ADRC 算法与PID 算法相比,其可以在整个控制过程中几乎做到无超调,这样的控制性能带来的好处是在选择控制元器件时可选择的范围变大。
(2)ADRC 算法在此二阶随动系统下,调节的速度更快,调节时间缩短接近0.6s,跟踪正弦信号时的稳态误差也从原来的5 左右降低到1.5 左右,控制精度提升,速度更快。
(3)与PID 相比,ADRC 的参数整定更加复杂,并且整定的参数更多,许多参数的选取仍处于经验调节阶段,并没有理论分析来验证。
在航天领域中自抗扰算法还未被广泛使用,若能解决其在参数整定方面的难题,其优秀的控制能力在航天中具有广阔应用前景。本文分析了PID 和ADRC 控制算法的性能,对未来ADRC 算法在航天领域中广泛应用具有重要意义。