APP下载

一种提高舵机系统动态特性的插值方法

2021-12-09张少应陈明哲

微型电脑应用 2021年11期
关键词:频率特性舵机正弦

张少应, 陈明哲

(1. 西安航空学院计算机学院, 陕西 西安 710077; 2. 西安电子工程研究所, 陕西 西安 710100)

0 引言

在对舵机系统施加正弦激励信号,进行频率特性测试过程中,舵机指令的密度往往对测试结果起到了至关重要的作用。指令越密集,舵机位置反馈测试曲线越平滑,跟随指令的实时性越好。反之,指令越稀疏,低频时舵机系统的相位延迟越大,高频时舵机位置反馈测试曲线的失真度越高。

为了适应不同密度的舵机指令,保持舵机系统频率特性测试数据的一致性,可以利用插值的方法对指令进行插值计算[1]。插值法种类较多,包括拉格朗日多项式插值、分段线性插值及三次样条插值[2]。在实际应用中,往往要综合考虑插值的精度、效率、运算量等因素来选择合适的插值方法。

本文采用拉格朗日(Lagrange)外插法估算舵机的位置指令,替代接收到的位置指令,通过增加指令点数,注入更加平滑的位置参考输入,从而改善系统的动态响应性能[3]。

1 插值原理

根据给定的函数表构造一个既能反映函数f(x)的特性,又便于计算的简单函数p(x)来近似f(x),并使得p(xi)=f(xi),(i= 0,1,2,…,n),这就是插值法[4]。

Lagrange插值是n次多项式插值方法,可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。

对某个多项式函数,已知有给定的n+1个取值点为式(1)。

(x0,y0), (x1,y1),…, (xi,yi),…,(xn,yn)

(1)

其中,xi对应着自变量的位置,而yi对应着函数在这个位置的取值。

假设任意两个不同的xi都互不相同,那么应用Lagrange插值公式所得到的Lagrange插值多项式为式(2)。

(2)

其中,每个li(x)(i=0,1,2,…,n)为Lagrange基本多项式(或称插值基函数),其表达式为式(3)。

(3)

1.1 线性插值

当n=1时,Lagrange多项式插值为线性插值,表示为式(4)。

L1(x)=y0l0(x)+y1l1(x)

(4)

用通过两点(x0,y0)、(x1,y1)的直线y=L1(x)来近似代替曲线y=f(x),其中插值基函数为式(5)、式(6)。

(5)

(6)

1.2 抛物线插值

当n=2时,Lagrange项式插值为抛物线插值,表示为式(7)。

L2(x)=y0l0(x)+y1l1(x)+y2l2(x)

(7)

用通过三点(x0,y0)、(x1,y1)、(x2,y2)的抛物线y=L2(x)来近似代替曲线y=f(x),其中插值基函数为式(8)—式(10)。

(8)

(9)

(10)

1.3 外推算法

插值包括内插(Interpolate)和外推(Extrapolate)两种算法。内插算法:通过已知点的数据推求同一曲线上未知点数据。外推算法:通过已知曲线上的数据,推求曲线之外区域的数据[5]。Lagrange插值公式内插算法和外推算法都适用。

频率特性测试时,舵机系统指令的幅度为1°的离散正弦指令,即式(11)。

y=f(t)=1°sin(ωt)

(11)

其中,ω为角频率,单位rad/s;指令间隔时间ΔT为5 ms。为提高指令密度,在每2个5 ms指令之间插入4个指令,将指令间隔时间ΔT缩小到1 ms。

为提高舵机指令的实时性,可采用外推算法对指令进行预测,预测算法可以有效减小延迟影响[6]。根据已知的前几个时刻的指令及当前时刻的指令,分别用线性外推法和抛物线外推法来预测下一个5 ms内的正弦指令变化趋势。

1.4 外推公式推导

(1) 线性外推

线性外推法是最简单的预测法,根据已知两点确定的直线来推断事物未来的变化。设(x0,y0)、(x1,y1)分别为-5 ms、0 ms时刻的指令坐标,根据式(5)、式(6)计算直线的插值基函数,为式(12)、式(13)。

(12)

(13)

根据式(4)得线性外推的指令计算式为式(14)。

(14)

(2) 抛物线外推

抛物线外推法根据已知3点确定的抛物线来推断事物未来的变化。设(x0,y0)、(x1,y1)、(x2,y2)分别为-10 ms、-5 ms、0 ms时刻的指令坐标,根据式(8)—式(10)计算抛物线的插值基函数,为式(15)—式(17)。

(15)

(16)

(17)

根据式(7)得抛物线外推的指令计算式为式(18)。

(18)

在式(14)、式(18)中,x为时间变量,单位ms,取值为0,1,2,3,4。

1.5 外推算法实现

软件中设置1 ms中断定时器,用于插值计算。实现方法如下。

(1) 当接收到新的舵机位置指令时,将插值计数值清零,即x=0;并将当前的新指令(0m时刻)作为扫频指令;同时进行指令迭代,更新并保存最近2次(线性外推法)或3次(抛物线外推法)的指令;

(2) 当定时器中断发生时,插值计数值x加1,即当x等于1,2,3或4时,根据式(14)或式(18)计算插值后的指令,并将该指令作为本次的扫频指令;

(3) 当插值计数值x等于5时,将计数值x清零,即x=0;

(4) 重复前面的步骤1—3,可实现指令插值。

2 仿真验证

在MATLAB/Simulink下,编写用户自定义的线性外推和抛物线外推函数,对5 ms正弦扫频指令进行1 ms插值。1°,3 Hz离散正弦指令的插值仿真图如图1所示。1°,10 Hz离散正弦指令的插值仿真图如图2所示。

(a) 3 Hz线性插值

从图1、图2中可以看出,指令经过插值曲线更加平滑;指令插值后正弦曲线的相位整体前移;指令频率较低(3 Hz)时,线性插值和抛物线插值效果一致,当指令频率较高(10 Hz)时,抛物线插值的效果明显优于线性插值,因此高频时优选抛物线插值。

在Simulink下,保持某舵机系统所有控制参数不变的条件下,将抛物线插值后的指令作为正弦激励信号,对舵机系统的频率特性进行仿真。1°,3 Hz正弦指令插值前后舵机系统的动态响应情况,如图3所示。

从图3中可以看出,指令插值后,舵反馈信号跟随指令信号的实时性更好;当指令过零点时,舵反馈信号过零点的时间在插值前是0.352 s,而在插值后是0.344 s,滞后时间减小了8 ms。

(a) 10 Hz线性插值

(a) 插值前频率特性

3 测试验证

针对某舵机系统频率特性测试时,低频相位超差问题,在不改变系统物理特性的条件下,仅更改了控制软件,对5 ms测试指令采取了1 ms抛物线插值处理。经测试,舵机系统相位延迟明显改善,测试结果如表1所示。

表1 频率特性测试比对表

控制软件增加插值后,对软件进行回归测试,分别施加正弦、方波及三角波指令对舵机系统的功能及性能进行测试。测试发现:当正弦指令的频率大于10 Hz时,指令插值对系统相移指标没有影响。因此,增加了指令插值的限定条件,仅当指令变化不大于0.3°时进行插值,这样有效降低了高频正弦指令在波峰和波谷处的失真度。

4 总结

对舵机系统位置指令进行外推插值细分,获得在时间上更加密集的指令数据,是减小舵机系统低频相位延迟行之有效的方法。它不需要更改舵机系统的硬件,只需对软件进行局部更改,就能显著提高系统的频率特性。该方法具有计算简单、易于工程实现的特点,既可以有效消除系统的延迟,又不会因为算法本身的复杂性而产生新的系统延时。

猜你喜欢

频率特性舵机正弦
液氧煤油发动机氧系统双机耦合振荡频率特性
正弦、余弦定理的应用
含齿隙弹载舵机的全局反步模糊自适应控制
“美”在二倍角正弦公式中的应用
基于dsPIC单片机的飞艇舵机控制实现
利用正弦定理解决拓展问题
基于高速同步485总线通信的多通道舵机控制器设计
正弦、余弦定理在三角形中的应用
DAM中波发射机电声指标频率特性初探
宽带阻抗匹配变换器的设计