为什么需要串级PID控制(结合智能小车,四轴飞行器来解释)

先说四轴飞行器

四轴飞行器中串级PID控制是由角度环角速度环一起控制的

可以这么简单的理解:

角度环可以可以保证飞机按期望的角度飞行,单环控制时,具有很好的自稳性。但是打舵的时候跟随性就不够完美。可能会出现滞后,失衡的现象。

角速度环可以使飞机尽可能的快速的达到期望值。(将角度环的期望值与角速度环的测量值进行PID控制;角速度是由陀螺仪测出来的,测量值一般不容易受到干扰并且角速度变化的也是比较快的,加快了反应速度)

为什么要引入角速度环?

我们发现,虽然可以用PWM使得电机的转速与输入值成正比,但是飞行器螺旋桨的转速与升力是不成正比关系的。而引入角速度环就是为了改善这个问题

这一点在小一点的四轴的起飞过程中会很好的体现出来(这里想说的意思是小飞机重量较轻,操纵起来更加的灵敏),由于飞行器螺旋桨的转速与升力是不成正比关系的,就拿起飞的过程来说:我们遥控器的油门摇杆的增量与飞行器升力是不成正比关系,所以我们想让飞机停留在一个比较稳定的高度是比较难的。

会出现要油门低时飞不起来,油门高一些会逐渐升高。我们把情况考虑的复杂一些:即使有这么一点,可以使飞行器悬停,随着飞行器电池电压逐渐降低,电机转速下降,飞机也会逐渐下降。那么翻滚,俯仰的控制就更不方便了

回到原题,有了这个角速度闭环,就可以让飞行姿态快速的跟踪期望姿态,从而对升力起到一定的控制;至于有多快,还是要看电机模型和PID参数,但是一定比之前开环控制的效果要好。也就是实时的根据期望姿态迅速调整电机输出。

我们通俗一点来讲,为什么这里理解起来比较困难,其实是角度角速度控制不明白。

那么我们现在用类比的方法来解释:

以小车到达指定地点为例

小车从A点到B点的过程,调用单级的PID控制,误差:e=x2-x0。

误差e经过PID算法得到输出小车给定速度v

小车给定速度v输入到电机后,对电机输出的转速v^进行积分,获得一段路程,即小车的当前位置x1;

此时的误差为e=x2-x1(注意不再是e=x2-x0了)

选取一组合适的PID参数,我们就可以很好的实现这个任务。根据不同的要求,我们可以找到不同的PID参数以实现快速收敛控制,或者无超调控制。

但是在斜坡的路面,这样单级PID控制的表现就不是那么好了。

原因是在对电机转速v^进行积分时存在误差

v恒等于v^吗?换言之,我叫小车电机以v的速度运行,他会立刻响应并保持在这一速度吗?答案显然否定的

我们实际供给电机的是电压,一定的电压对应一定的转速v,然而电机转速v不是关于电压的单值函数,电机转速v受到很多条件的影响,鉴于电机模型复杂且对于不同种类的电机模型也不尽相似,我们只讨论其中的另一个主要变量:负载转矩。当小车启动制动,走上坡道都会造成负载转矩的变化,从而进一步影响电机转速v。

要解决这个问题就需要对电机Motors环节做一个转速闭环控制:就是将电机转速v^与给定的小车速度v进行PID控制

有了这个闭环,就可以让电机的实际转速v'快速的跟踪给定速度v,至于有多快,还是要看电机模型和PID参数,但是一定比之前开环控制的效果要好。这样就可以改善这个问题(注意是改善,不是解决!)

类比的话,这里小车的位置环相当于无人机的角度环

而,小车之后又在电机上的转速闭环控制相当于无人机的角速度环。都是使电机的输入理论值与实际的作用效果之间进行误差反馈控制(简而言之:对于小车就是输入电机转速与轮上实际速度之间不断PID控制;对于四轴飞行器而言就是输入电机转速与实际姿态之间不断PID控制)

这样是不是就可以理解无人机的角速度控制环了

最终实现内环先稳定,外环后稳定的效果

参考博文【串级PID】浅谈串级PID作用及意义——快速理解串级PID结构优势(附图)_ReadAir的博客-CSDN博客_串级pid

  • 8
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值