多旋翼姿态控制中前馈的作用

多旋翼姿态控制中前馈的作用

PX4中偏航通道的控制使用到了前馈,关于这个前馈环节对系统性能的具体影响,此前我一直理解的比较模糊,直到最近和zing大神交流后才有了新的理解;本篇博文主要来从不同角度解释前馈对系统性能带来的影响。

首先来看姿态环控制的框图(以偏航角为例,图中笔误写成了 θ \theta θ,本应是 ψ \psi ψ),经典的姿态控制采用的是级联PID的形式,且组合形式为P-PID(关于这样选型的原因我在后续博客中将会进行进一步的阐述);虚线圈出部分为前馈环节。

在这里插入图片描述

首先先回答下面两个问题:

Q:为何偏航通道需要加入前馈?

A:由于偏航通道响应较慢(多旋翼飞行器的俯仰和滚转运动由旋翼的升力力矩产生,偏航运动由旋翼的反扭矩来产生,而升力力矩要比反扭矩大得多(可从旋翼的升力系数和反扭矩系数中看出),这造成了偏航运动能力相比滚转和俯仰运动能力要弱,相应地响应速度就慢),故在偏航通道内环加入前馈环节;

Q:加入前馈有什么优点?

A:直观上来讲,使得控制速度更快,提高了系统的响应速度。

为什么前馈提高了系统的响应速度?

简而言之:控制器的滞后主要来自于积分(分析积分环节的频域响应可知,中高频段的相角滞后严重),前馈的作用是跳过积分器,直接从输入到输出,以提高系统的响应速度。

以上图的系统为例,我们令PID控制器环节的传递函数为 G c ( s ) = K p + K i s + K d s G_c(s)=K_p+\frac{K_i}{s}+K_d s Gc(s)=Kp+sKi+Kds

由梅森公式可以直接得到

不加前馈的闭环传递函数为:

G 1 b s = P G c J s 2 + G c s + P G c G_{1b}{s}=\frac{PG_c}{Js^2+G_c s+PG_c} G1bs=Js2+Gcs+PGcPGc

不加前馈的开环传递函数为:

G 1 k s = P G c J s 2 + G c s G_{1k}{s}=\frac{PG_c }{Js^2+G_c s} G1ks=Js2+GcsPGc

加入前馈的闭环传递函数为:

G 2 b s = P K + P G c J s 2 + G c s + P K + P G c G_{2b}{s}=\frac{PK+PG_c }{Js^2+G_c s+PK+PG_c } G2bs=Js2+Gcs+PK+PGcPK+PGc

加入前馈的开环传递函数为:

G 2 k s = P K + P G c J s 2 + G c s G_{2k}{s}=\frac{PK+PG_c}{Js^2+G_cs} G2ks=Js2+GcsPK+PGc

首先考虑特殊情况 K d = K i = 0 K_d=K_i=0 Kd=Ki=0,则 G c = K p G_c=K_p Gc=Kp为常数,传递函数为二阶系统,很容易看出加入前馈后系统的开环增益变大(此时加入前馈等价于增加开环增益),这将使系统的响应速度变快,稳态误差减小;同时系统的自然频率变大,阻尼比不变,相应的系统的闭环带宽增加,系统能够响应更多的高频分量使得控制系统的快速性提高。

接下来考虑更一般的情况 G c ( s ) = K p + K i s + K d s G_c(s)=K_p+\frac{K_i}{s}+K_d s Gc(s)=Kp+sKi+Kds各项参数均不为0

加入前馈的开环传递函数为:

G 1 k s = P K d s 2 + ( P K + P K p ) s + P K i ( J + K d ) s 3 + K p s 2 + K i s G_{1k}{s}=\frac{P K_d s^2+(PK+PK_p)s+PK_i}{(J+K_d)s^3+K_ps^2+K_is} G1ks=(J+Kd)s3+Kps2+KisPKds2+(PK+PKp)s+PKi

不加前馈的开环传递函数为:

G 1 k s = P K d s 2 + P K p s + P K i ( J + K d ) s 3 + K p s 2 + K i s G_{1k}{s}=\frac{P K_d s^2+PK_ps+PK_i}{(J+K_d)s^3+K_ps^2+K_is} G1ks=(J+Kd)s3+Kps2+KisPKds2+PKps+PKi

在matlab中选取如下的一组参数来进行分析:

P = 3.5;
Kp=2.5;
Ki=0.55;
Kd=1;
K=0.5:0.5:5;%前馈环节系数
J=0.05;

加入前馈之后系统的开环传递函数伯德图:

在这里插入图片描述

从开环伯德图可以看出,前馈项主要改变了开环波德图的中频段幅值曲线,高频段和低频段的幅值曲线几乎不变;对照之前博客介绍过的三频段理论,可以看出,中频段的斜率变得更缓,使得系统的剪切频率增大,根据高阶系统的经验公式

t s = K t π ω c t_{s}=\frac{K_{\mathrm{t}} \pi}{\omega_{c}} ts=ωcKtπ

我们可以看到调节时间变短了,这意味着更快的响应速度,但是相应的系统的相角裕度减小,对应了系统超调量将变大。(相角裕度越大,超调量越小)

加入前馈之后系统的闭环传递函数伯德图:

在这里插入图片描述

从闭环伯德图可以看出,加入前馈后系统的闭环带宽有明显提升,这意味着系统的快速性得到提升,与此同时高频段的幅值没有明显增加,这表明前馈并没有明显放大高频噪声对系统的影响。同样的,加入前馈使系统出现了谐振峰值,表现为时域相应会出现超调。

附上一张时域相应曲线可以更清楚地看出这一点:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值